From owner-freebsd-ports@FreeBSD.ORG Tue Nov 15 21:10:48 2005 Return-Path: X-Original-To: freebsd-ports@freebsd.org Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A05F016A41F for ; Tue, 15 Nov 2005 21:10:48 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.200]) by mx1.FreeBSD.org (Postfix) with ESMTP id 88E0543D70 for ; Tue, 15 Nov 2005 21:10:40 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: by wproxy.gmail.com with SMTP id i31so1280403wra for ; Tue, 15 Nov 2005 13:10:40 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:from:to:subject:date:user-agent:cc:references:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:message-id; b=pBFnlUBFhS7e1PX7ajevHaK9P/RSqLP4FXyM/N/6EJjjj4SeAC7ecGfGmRnRDN/X6+1KZBgdOgdQO9gW64UAKN4gqzToxTAZJearUHSB6maJ5VOITBcIiZYgkAAlzBJs6415MVjoMo+/2jDcNOIT35ceIGTsxGZVjmiyHUoXhK4= Received: by 10.54.72.11 with SMTP id u11mr2453812wra; Tue, 15 Nov 2005 13:10:39 -0800 (PST) Received: from ?192.168.1.10? ( [71.102.14.129]) by mx.gmail.com with ESMTP id d75sm2310824wra.2005.11.15.13.10.38; Tue, 15 Nov 2005 13:10:39 -0800 (PST) From: "Michael C. Shultz" To: Scot Hetzel Date: Tue, 15 Nov 2005 13:01:15 -0800 User-Agent: KMail/1.8.3 References: <200511151154.32536.ringworm01@gmail.com> <790a9fff0511151300k51a95084sc8f97181d88e1022@mail.gmail.com> In-Reply-To: <790a9fff0511151300k51a95084sc8f97181d88e1022@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200511151301.16549.ringworm01@gmail.com> Cc: Craig Boston , Jiawei Ye , freebsd-ports@freebsd.org Subject: Re: Why does security/amavisd-new depend on db3? X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Nov 2005 21:10:48 -0000 On Tuesday 15 November 2005 13:00, Scot Hetzel wrote: > On 11/15/05, Michael C. Shultz wrote: > > On Tuesday 15 November 2005 11:45, Scot Hetzel wrote: > > > On 11/15/05, Jiawei Ye wrote: > > > > On 11/15/05, Michael C. Shultz wrote: > > > > > The WITH_BDB_VER=42 only needs to be applied to > > > > > databases/p5-BerkeleyDB, > > > > > > > > > > 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. > > > > Absolutly wrong, definitely for portmanager and likely for > > portupgrade. The real problem is identified further down in this > > thread. > > What I was refering to is say you have a Port A, that depends on Port > B. Now Port B can depend on either Port C or Port D depending on if a > WITH_X_VER variable is set. > > Now when you do portupgrade/portmanager for Port A, the WITH_X_VER > variable is not set in the tools config file for Port A, but is set > for Port B. This is what causes the wrong dependancy to be listed in > the +CONTENT file for Port A. > > > > The work arround for this is to add the variable to /etc/make.conf: > > > > > > .if ${.CURDIR} == /usr/ports/databases/p5-BerkleyDB > > > WITH_BDB_VER?=42 > > > .endif > > > > Not nessesary. here is a sample portmanager output > > with the following in pm-020.conf > > > > databases/p5-BerkeleyDB|WITH_BDB_VER=42| > > > > Notice specifically: > > > > make fetch WITH_BDB_VER=42 > > make WITH_BDB_VER=42 > > > > If make fetch/clean/install etc is run portmanager does > > apply WITH_BDB_VER=42, test for yourself before saying > > such things, please. > > What I was refering to was the port that depended on this port was > listing it's dependancies wrong in the + CONTENTS file. The use of the > /etc/make.conf entry was a way to get arround this limitation in the > bsd.port.mk's calculation of the dependancies for the port. > > Scot > This would still be wrong: .if ${.CURDIR} == /usr/ports/databases/p5-BerkleyDB WITH_BDB_VER?=42 .endi It is equivalent to: in pkgtools.conf: MAKE_ARGS = { 'databases/p5-BerkeleyDB' => 'WITH_BDB_VER=42', in pm-020.conf databases/p5-BerkeleyDB|WITH_BDB_VER=42| Maybe you mean to set it as a global value ie. without the .if ${.CURDIR} == /usr/ports/databases/p5-BerkleyDB wrapper? If that were the case it would still have no effect on security/amavisd-new where the incorrect dependency is being recorded, see for yourself: cd /usr/ports/security/amavisd-new /usr/ports/security/amavisd-new>grep WITH Makefile .if !defined(WITH_MILTER) || (!exists(/usr/lib/libmilter.a) && !exists(${PREFIX}/lib/libmilter.a)) .if defined(WITH_MILTER) && !defined(AMAVIS_NOAMAVIS) .if defined(WITH_MYSQL) .if defined(WITH_PGSQL) .if defined(WITH_LDAP)