From owner-freebsd-ports@FreeBSD.ORG Tue Nov 15 19:10:19 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 5139616A420 for ; Tue, 15 Nov 2005 19:10:19 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.194]) by mx1.FreeBSD.org (Postfix) with ESMTP id B50A743D46 for ; Tue, 15 Nov 2005 19:10:18 +0000 (GMT) (envelope-from ringworm01@gmail.com) Received: by wproxy.gmail.com with SMTP id i5so996705wra for ; Tue, 15 Nov 2005 11:10:17 -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=GqJ8QyOHMS5+0cGqqPkiapO94fBqAkHZS5T1alvy7fBPahmwR9FI06G2OtBiATw0xSolQ43MaEOe2snqyyGbNdjPlFuqOSa8UppPxAEuvJZQqJj5MpGfEwCOK8k3llC6OYEIYqshPRinnx6LUu31tcRiJfc91kcMdYOm2qhXcVA= Received: by 10.54.91.7 with SMTP id o7mr2422048wrb; Tue, 15 Nov 2005 11:10:17 -0800 (PST) Received: from ?192.168.1.10? ( [71.102.14.129]) by mx.gmail.com with ESMTP id d6sm2205272wra.2005.11.15.11.10.16; Tue, 15 Nov 2005 11:10:17 -0800 (PST) From: "Michael C. Shultz" To: Craig Boston Date: Tue, 15 Nov 2005 11:00:53 -0800 User-Agent: KMail/1.8.3 References: <200511150944.26278.ringworm01@gmail.com> <20051115184843.GB36868@nowhere> In-Reply-To: <20051115184843.GB36868@nowhere> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200511151100.54216.ringworm01@gmail.com> Cc: 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 19:10:19 -0000 On Tuesday 15 November 2005 10:48, Craig Boston wrote: > On Tue, Nov 15, 2005 at 09:44:25AM -0800, Michael C. Shultz wrote: > > Anyways, the extra, unnessesary and INCORRECT entries in +CONTENTS would > > indeed have caused portmanager problems a short while ago. Portmanager > > used to only use the +CONTENTS file to determine dependencies and in this > > case that would definitely cause trouble. > > It bites portupgrade users too, since it builds its database mostly out > of the +CONTENTS files. Sometimes things get far enough out of whack > that not even pkgdb -F can help. > > > Bottom line is portmanager 0.3.5 should be able to build > > security/amavisd-new as intended and by my own tests it does. My > > understanding of the bsd.ports.mk language is poor, but 5027 - 5034 > > look suspicious. > > > > Probably no one cares but I can't think of a single good reason to > > transvers dependent port's dependencies when adding dependencies to > > +CONTENTS. > > Don't quote me on this as it's pure extrapolation, but I think the > reason may have to do with binary packages. As far as I can remember, > they have always listed _ALL_ dependencies in the top level package, > presumably to make it easier to figure out everything you need to > install one without having to recursively extract things. (?) > > If that's the case, they would have to be listed in +CONTENTS for > pkg_create -b to work. There may be a better way to gather the > information though, perhaps by looking at the package database to see > what is actually installed rather than re-generating the list every > time. > > Perhaps one of the portmgrs can help clarify the reasons for the > situation? > > > The fact they do should no longer cause portmanager troubles but if > > Jiawei is to be believed it looks like portupgrade might be being > > negatively effected by these unnessesary and incorrect entries.. > > I haven't tried it but it might could still cause problems if some of > the ports had been manually installed. > > Craig Here is a quick example of why putting recursive dependency info into a +CONTENTS file can cause problems if not done correctly, it just rehashes what you said but maybe clarifies things for others: MasterPort dependent1 dependent1a dependent2 dependent2a dependent1 if defined( WITH_DEPEPENDENT_1b ) dependent1b else dependent1a endif Because MasterPort does NOT seem to look at dependent1's +CONTENTS file no matter how dependent1 is built Masterport records dependent1 dependent1a Even if dependent1 is built with WITH_DEPEPENDENT_1b=1 switch set. The solution if they want so much dependency info is to make sure it is gathered from the dependent port's +CONTENTS file, not where ever it is they are now getting it. -Mike