Date: Fri, 3 Feb 2006 13:19:13 +0200 From: Panagiotis Astithas <past@ebs.gr> To: Doug Barton <dougb@freebsd.org> Cc: freebsd-ports@freebsd.org Subject: Re: New /bin/sh based script to manage ports Message-ID: <20060203111911.GA22446@hal.ebs.gr> In-Reply-To: <43E31808.6070205@FreeBSD.org> References: <43D610B6.5080008@FreeBSD.org> <43DE40FE.6000507@ebs.gr> <43DE6C65.9040306@FreeBSD.org> <43DE7652.9050807@ebs.gr> <43DF346B.407@FreeBSD.org> <43DF40BC.4060600@ebs.gr> <43E2B3A6.9060508@FreeBSD.org> <43E2B530.4050500@FreeBSD.org> <20060203065504.GA3857@weller-fahy.com> <43E31808.6070205@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Feb 03, 2006 at 12:44:56AM -0800, Doug Barton wrote: > David J. Weller-Fahy wrote: > > > One thing I did notice is that you use only the pkgdeps from the > > +CONTENTS files to determine dependencies. Is there a particular reason > > (besides speed) that you went with the pkgdeps instead of the *DEPENDS > > variables in the port? I noticed (for the mailfront port, in > > particular) that bglibs was not listed as a dependency by portmaster, > > but is a build dependency of mailfront, and wondered what implications > > that could have. > > This depends on which direction you're approaching the problem from. When > building a port, the check for whether the dependencies of the port are up > to date uses the list from 'make all-depends-list', which will include build > dependencies. However, once a port has been built and installed > successfully, the list of ports which have a dependency on the updated port > is cross checked between the +REQUIRED_BY in the package directory and the > +CONTENTS files of the other installed ports. In this way we can be sure > that all appropriate dependencies are recorded, and updated. Since > BUILD_DEPENDS are not registered in the +CONTENTS or +REQUIRED_BY files, > they don't show up at that stage, and portmaster doesn't update information > about them (because that information doesn't exist). And I've noticed that portmaster warns when there is a mismatch between the dependencies in +CONTENTS and +REQUIRED_BY, where the latter are usually more than the former. However the default suggestion from portmaster is to use the +CONTENTS dependencies. Why is there a difference in the first place (port bugs I presume) and would the other approach be more correct (in that it would fix the unrecorded dependencies)? On another note, I tried yesterday a 'portmaster -rdf expat', which is a mega task on my system, so I would expect to get preferably zero questions asked (since we are talking about 200 ports here). This is what the relevant portupgrade invocation did (modulo the various OPTIONS screens), although 20 hours later it is still not finished. Could portmaster be persuaded to 'do whatever needs to be done, but you are on your own until you do it'? Thanks, Panagiotis
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060203111911.GA22446>