From owner-freebsd-ports@FreeBSD.ORG Tue Nov 15 21:46:30 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 186D916A41F for ; Tue, 15 Nov 2005 21:46:30 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6E4DF43D4C for ; Tue, 15 Nov 2005 21:46:29 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: by wproxy.gmail.com with SMTP id i5so1028823wra for ; Tue, 15 Nov 2005 13:46:28 -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=WPIUhCp7w7ZTEsMB908WYfhXhaDbtQz3jg0QoDqSSAl3jlHJWFj8ZEOk7E4n6S0COP4JEas/uuxBbp9rfxt2PYKWu2UCBu03cvvxGmZgsDVtWanWCv8CqcFa22Av2e0Io6Lua793Hn861IPczPZvmbOc9xNlK2EpqSZVE8+OFXc= Received: by 10.54.150.12 with SMTP id x12mr3949344wrd; Tue, 15 Nov 2005 13:46:28 -0800 (PST) Received: from ?192.168.1.10? ( [71.102.14.129]) by mx.gmail.com with ESMTP id d16sm128683wra.2005.11.15.13.46.27; Tue, 15 Nov 2005 13:46:28 -0800 (PST) From: "Michael C. Shultz" To: Scot Hetzel Date: Tue, 15 Nov 2005 13:37:04 -0800 User-Agent: KMail/1.8.3 References: <200511151301.16549.ringworm01@gmail.com> <790a9fff0511151340t461bcc64kcc58d0817af4795@mail.gmail.com> In-Reply-To: <790a9fff0511151340t461bcc64kcc58d0817af4795@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200511151337.05264.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:46:30 -0000 On Tuesday 15 November 2005 13:40, Scot Hetzel wrote: > > This would still be wrong: > > > > .if ${.CURDIR} == /usr/ports/databases/p5-BerkleyDB > > WITH_BDB_VER?=42 > > .endif > > No, it would be right because when the build for security/amavisd-new > calls for the build of databases/p5-BerkleyDB, the WITH_BDB_VER > variable is set in the environment for database/p5-BerkleyDB and cause > the dependancy to be set on the correct version of Berkley DB port. > > > 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| > > It's similar, but not equivalent because when the security/amavisd-new > then goes to record it's dependancies on the databases/p5-BerkleyDB > port. Using portupgrade and portmanager, security/amavisd-new > +CONTENT shows db3 as dependancy, were as the /etc/make.conf entry > will show a +CONTENT dependacy on db42. > > > 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: > > The incorrect dependency is being reported from databases/p5-BerkleyDB > to the security/amavisd-new port. Which then records the incorrect > dependancy in the +CONTENT file. By using the WITH_BDB_VER as either > a global variable or using '.if ${.CURDIR} == > /usr/ports/database/p5-BerkleyDB' in /etc/make.conf will fix the > dependancy for security/amavisd-new. > > Each time make is called the /etc/make.conf file is re-evaluated. > Since the security/amavisd-new port calls cd > /usr/ports/database/p5-BerkleyDB ; make install (from bsd.port.mk), > the /etc/make.conf file is re-evaluated, and WITH_BDB_VER is set. > > Scot OK, I appoligize. This is still wrong behavior on the part of the ports system because use of WITH_* switches from the make command line are going to lead to the same exact problem that is occuring with portupgrade and portmanager's conf files. -Mike