Re: Portmaster recursion problem

2010-12-19 Thread Matthew Seaman
On 19/12/2010 17:03, Ron (Lists) wrote:
> ===>>> Launching child to update devel/autoconf
> devel/autoconf >> perl-5.8.9_3 >> apache-2.2.17 >> devel/autoconf >>
> perl-5.8.9_3 >> apache-2.2.17 >> devel/autoconf >> perl-5.8.9_3 >>
> apache-2.2.17 >> devel/autoconf >> perl-5.8.9_3 >> apache-2.2.17 >>
> devel/autoconf >> perl-5.8.9_3 >> apache-2.2.17 >> devel/autoconf >>
> perl-5.8.9_3 >> apache-2.2.17 >> devel/autoconf >> perl-5.8.9_3 >>
> apache-2.2.17 >> devel/autoconf
> 
> This just keeps going and going.  I've tried upgrading other ports and
> they all do the same thing (with slightly different packages).

This is a classic symptom of putting USE_FOO into a Makefile with global
scope -- typically /etc/make.conf

Don't do that.

USE_FOO flags are for port maintainers to use in port specific
Makefiles.  They do things like make the port have a dependency on
apache.  Which is no good if you apply it to /every/ /single/ /port/ in
the tree, and particularly bad when its a port that apache itself
depends on, as you end up with a dependency loop.

Dependency loops are (in Ghostbusters parlance) like crossing the
streams.  Anyone generating dependency loops deserves to be pelted with
stay-puft marshmallow, at the very least.

Instead, you want to use a WITH_FOO variable, or a WANT_FOO variable.
These are intended as user servicable parts.  For apache, that would be
something like the following to make www/apache22 the default apache port:

WITH_APACHE2=   yes
APACHE_PORT=www/apache22

Cheers,

Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.   7 Priory Courtyard
  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate
JID: matt...@infracaninophile.co.uk   Kent, CT11 9PW



signature.asc
Description: OpenPGP digital signature


Portmaster recursion problem

2010-12-19 Thread Ron (Lists)
I recently switched from using portupgrade to portmaster and am having 
an odd problem upgrading.


When I run 'portmaster apache' I get this recursion problem:

===>>> Port directory: /usr/ports/www/apache22
===>>> Starting check for build dependencies
===>>> Gathering dependency list for www/apache22 from ports
===>>> Launching child to update devel/autoconf
	devel/autoconf >> perl-5.8.9_3 >> apache-2.2.17 >> devel/autoconf >> 
perl-5.8.9_3 >> apache-2.2.17 >> devel/autoconf >> perl-5.8.9_3 >> 
apache-2.2.17 >> devel/autoconf >> perl-5.8.9_3 >> apache-2.2.17 >> 
devel/autoconf >> perl-5.8.9_3 >> apache-2.2.17 >> devel/autoconf >> 
perl-5.8.9_3 >> apache-2.2.17 >> devel/autoconf >> perl-5.8.9_3 >> 
apache-2.2.17 >> devel/autoconf


This just keeps going and going.  I've tried upgrading other ports and 
they all do the same thing (with slightly different packages).


What is very weird is the dependencies.  For example, I run 
'portmaster nano' and I get:


===>>> The following actions will be taken if you choose to proceed:
Upgrade nano-2.2.5 to nano-2.2.6
Upgrade apache-2.2.17 to apache-2.2.17_1
Install devel/autoconf
Upgrade autoconf-wrapper-20071109 to autoconf-wrapper-20101119
Upgrade perl-5.8.9_3 to perl-5.8.9_4
Install devel/libtool
Upgrade openssl-1.0.0_2 to openssl-1.0.0_4

I'm not sure why nano is dependent on apache?  This leads me to wonder 
is something is messed up in my dependencies, and if so, how do I fix 
it?


I'd love to go back to using portupgrade, but it seems it is not 
longer maintained or functional (this reason I switched to portmaster).


Thanks, Ron

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"