Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Nov 2005 16:20:21 -0600
From:      Craig Boston <craig@yekse.gank.org>
To:        "Michael C. Shultz" <ringworm01@gmail.com>
Cc:        Scot Hetzel <swhetzel@gmail.com>, Jiawei Ye <leafy7382@gmail.com>, freebsd-ports@freebsd.org
Subject:   Re: Why does security/amavisd-new depend on db3?
Message-ID:  <20051115222021.GB71557@nowhere>
In-Reply-To: <200511151342.15206.ringworm01@gmail.com>
References:  <c21e92e20511130557g4ad76176l85beb6ceee078886@mail.gmail.com> <200511151301.16549.ringworm01@gmail.com> <20051115212859.GA71557@nowhere> <200511151342.15206.ringworm01@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Nov 15, 2005 at 01:42:13PM -0800, Michael C. Shultz wrote:
> God this is getting ugly.  If what your saying is true, and I have no doubt 
> that it is, then manuially installing port
> 
> databases/p5-Berkeley
> 
> by doing this:
> 
> make install clean WITH_BDB_VER=42 is goint to stil cause 
> security/amavisd-new to get its +CONTENTS file wrong
> if it is installed later.  This is not good behavior your describing.

Yes, that is exactly what will happen.  Unless either amavisd-new is
installed with the same options, or make.conf is used (either globally
or with the CURDIR trick), it will get registered wrong.  Even when
building manually.  The same problem applies to binary packages built
with non-standard settings.

Unfortunately it seems to be an artifact of the way that the ports
Makefile magic works, and doesn't look easy to solve.

> Maybe the ports people are trying to force everyone to use OPTIONS
> and render WITH switches on the command line as no longer feasable?

I'm not so sure this is a recent development...  IMO it seems that
OPTIONS was partially devised as a way to avoid this kind of brokenness.

> BTW your knowledge of the ports infrastructure is impressive, are you on the 
> ports team by any chance?

No, I just maintain a couple here and there.  I've done some nasty
bsd.port.mk tricks before though, such as setting up hooks to install to
a nonstandard prefix and using stow to maintain a symlink tree in
/usr/local (for a hybrid flash memory/HDD system that didn't always have
the HDD mounted).

Also, a few years back I wrote a C++ program that's halfway between
portupgrade and the package cluster build scripts.  The idea was to use
a cluster to build packages in parallel, but after a cvsup to only
rebuild ones that had changed.  The code was ugly and it never quite
worked 100% right, so I eventually stopped using it, but gained a lot of
experience with port and package dependencies.

Craig



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051115222021.GB71557>