From owner-freebsd-ports@FreeBSD.ORG Fri Jul 20 19:01:38 2007 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C516B16A417 for ; Fri, 20 Jul 2007 19:01:38 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx21.fluidhosting.com [204.14.89.4]) by mx1.freebsd.org (Postfix) with SMTP id 798BB13C45D for ; Fri, 20 Jul 2007 19:01:38 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: (qmail 2857 invoked by uid 399); 20 Jul 2007 19:01:37 -0000 Received: from localhost (HELO ?192.168.0.4?) (dougb@dougbarton.us@127.0.0.1) by localhost with ESMTP; 20 Jul 2007 19:01:37 -0000 X-Originating-IP: 127.0.0.1 Message-ID: <46A1068A.3010004@FreeBSD.org> Date: Fri, 20 Jul 2007 12:01:30 -0700 From: Doug Barton Organization: http://www.FreeBSD.org/ User-Agent: Thunderbird 2.0.0.4 (Windows/20070604) MIME-Version: 1.0 To: Matthew Seaman References: <46A05B21.90603@u.washington.edu> <46A0711F.2020200@infracaninophile.co.uk> In-Reply-To: <46A0711F.2020200@infracaninophile.co.uk> X-Enigmail-Version: 0.95.2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: ports@freebsd.org, Garrett Cooper Subject: Re: Proposal for another category in INDEX: common_deps 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: Fri, 20 Jul 2007 19:01:38 -0000 Matthew Seaman wrote: > In many ways it would be more useful to delete from the > EXTRACT_DEPENDS, FETCH_DEPENDS, PATCH_DEPENDS, BUILD_DEPENDS[*] > lists in the INDEX any package that also appears in the RUN_DEPENDS > list. This leaves the four listed fields with just the extra > packages that need to be present at build/install time. Everything that is needed to build the port must be in BUILD_DEPENDS. Everything necessary to run the port must be in RUN_DEPENDS. This is needed to support building packages on one machine, and running them on another. I do agree however that that the other categories should be coalesced into BUILD_DEPENDS. I also agree that a lot of maintainers seem to blindly copy dependencies into both categories without understanding why. > Take for example the effect of the devel/gettext port. At the > moment, the usual advice when there's a shlib version bump for > gettext is to force a rebuild of everything that depends on it: > > portupgrade -fr gettext-0.16.1_3 > > This however means that anything that uses a tool that is linked > against gettext is forcibly recompiled FWIW, the -r option for portmaster only rebuilds those ports that depend directly on the new version, not things that depend on the things that depend on it. > -- and as gmake depends on > gettext that means a very large fraction of the ports most people > have installed. However, if the only way an application depends on > gettext is via gmake /at build time/ then rebuilding that > application is really not necessary. Using LIB_DEPENDS to > distinguish ports that are linked against any particular shlib > versus those that inherit a dependency against a shlib for other > reasons could save rather a lot of wasted CPU cycles. I don't see how we need a separate LIB_DEPENDS to achieve this. Can you describe in more detail the mechanism you have in mind? Doug -- This .signature sanitized for your protection