New /bin/sh based script to manage ports

Panagiotis Astithas past at ebs.gr
Fri Feb 3 03:19:24 PST 2006


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



More information about the freebsd-ports mailing list