Date: Tue, 15 Nov 2005 13:45:26 -0600 From: Scot Hetzel <swhetzel@gmail.com> To: Jiawei Ye <leafy7382@gmail.com> Cc: Craig Boston <craig@yekse.gank.org>, freebsd-ports@freebsd.org Subject: Re: Why does security/amavisd-new depend on db3? Message-ID: <790a9fff0511151145p6203afc0u73bf2a68ac800d29@mail.gmail.com> In-Reply-To: <c21e92e20511142317t4d192692n28d169aa73e6bbb2@mail.gmail.com> References: <c21e92e20511130557g4ad76176l85beb6ceee078886@mail.gmail.com> <c21e92e20511142201o70752d66p20b4ef233612d6e@mail.gmail.com> <20051115065211.GB35001@nowhere> <200511142259.45090.ringworm01@gmail.com> <c21e92e20511142317t4d192692n28d169aa73e6bbb2@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11/15/05, Jiawei Ye <leafy7382@gmail.com> wrote: > On 11/15/05, Michael C. Shultz <ringworm01@gmail.com> wrote: > > The WITH_BDB_VER=3D42 only needs to be applied to databases/p5-Berkeley= DB, > > > > when "portmanager security/amavisd-new" is run ports will build in this= order: > > > > ports/databases/db42 before > > databases/p5-BerkeleyDB before > > security/amavisd-new > > > > I'm sure there is a simple explanaition for the problem if Jiawei would= only > > post something demonstrating how things are going wrong for him instead= of > > merely describing what he thinks is happening. > > > > -Mike > I am trying to, Mike. Now that xorg-clients has a RUN_DEPENDS on > xterm, which lists xorg-clients as CONFLICT adds a lot to the > frustration :( > The problem is rather complex, as there are two problems: 1. When using portupgrade, or portmanager they don't check if a depending port require having a variable set that is defined in these tools configuration files before upgrading an existing port. The work arround for this is to add the variable to /etc/make.conf: .if ${.CURDIR} =3D=3D /usr/ports/databases/p5-BerkleyDB WITH_BDB_VER?=3D42 .endif But this defeats the use of these tools configuration files. 2. Each port that includes Berkley Db adds the LIB_DEPENDS in their own special way. This causes the port maintainers to have to update their ports when a new major version of Berkley DB is added to the ports collection. The fix for problem 2 is to change these ports to get it's Berkley DB dependancy from Mk/bsd.database.mk via the USE_BDB variable. The USE_BDB variable checks to see which version of Berkley DB is installed, and set the dependancy on that version. Currently, it is still left up to the port maintainer to set the path to the include dir, and the name of the library. As well as to check if USE_BDB needs to be changed to the WITH_BDB_VER value. I have submitted PR 89023, which changes bsd.databases.mk to use the WITH_BDB_VER variable to set the desired Berkley DB to use, as well as to set the BDB_LIB_NAME and BDB_INCLUDE_DIR variables: http://www.freebsd.org/cgi/query-pr.cgi?pr=3D89023 It also includes two example ports that use these changes. Scot -- DISCLAIMER: No electrons were mamed while sending this message. Only slightly bruised.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?790a9fff0511151145p6203afc0u73bf2a68ac800d29>