Date: Tue, 15 Nov 2005 18:17:59 -0800 From: "Michael C. Shultz" <ringworm01@gmail.com> To: Craig Boston <craig@yekse.gank.org> 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: <200511151818.00232.ringworm01@gmail.com> In-Reply-To: <20051115222021.GB71557@nowhere> References: <c21e92e20511130557g4ad76176l85beb6ceee078886@mail.gmail.com> <200511151342.15206.ringworm01@gmail.com> <20051115222021.GB71557@nowhere>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 15 November 2005 14:20, Craig Boston wrote: > 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. > I found a relatively simple solution after studying bsd.port.mk carefully: around line 2132 here is what the effect will be: .if !defined(PKG_ARGS) PORTMANAGER= /usr/local/bin/portmanager /${CATEGORIES}/${PORTNAME} \ package-depends #####PORTMANAGER########### #PKG_ARGS= -v -c -${COMMENT:Q} \ # -d ${DESCR} \ # -f ${TMPPLIST} \ # -p ${PREFIX} \ # -P "`cd ${.CURDIR} && ${MAKE} package-depends | ${GREP} -v -E ${PKG_IGNORE_DEPENDS} | ${SORT} -u`" ${EXTRA_PKG_ARGS} $${_LATE_PKG_ARGS} PKG_ARGS= -v -c -${COMMENT:Q} \ -d ${DESCR} \ -f ${TMPPLIST} \ -p ${PREFIX} \ -P "`cd ${.CURDIR} && ${PORTMANAGER} | ${GREP} -v -E ${PKG_IGNORE_DEPENDS} | ${SORT} -u`" ${EXTRA_PKG_ARGS} $${_LATE_PKG_ARGS} I'm hoping I can just add something like: make install \ -DPORTMANAGER=/usr/local/bin/portmanager /${CATEGORIES}/${PORTNAME} \ package-depends \ -DPKG_ARGS=-v -c -${COMMENT:Q} \ -d ${DESCR} \ -f ${TMPPLIST} \ -p ${PREFIX} \ -P "`cd ${.CURDIR} && ${PORTMANAGER} | ${GREP} -v -E ${PKG_IGNORE_DEPENDS} | when portmanager runs make install. It's easy enough to have portmanager generate a correct package-depends list, the trick will be getting it used in the +CONTENTS file. What do you think? -Mike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511151818.00232.ringworm01>