From owner-freebsd-ports@FreeBSD.ORG Fri Feb 3 11:19:24 2006 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 010F616A420; Fri, 3 Feb 2006 11:19:24 +0000 (GMT) (envelope-from past@hal.ebs.gr) Received: from fly.ebs.gr (dslcustomer-239-113.vivodi.gr [83.171.239.113]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6B9F543D72; Fri, 3 Feb 2006 11:19:16 +0000 (GMT) (envelope-from past@hal.ebs.gr) Received: from ebs.gr (root@hal.ebs.gr [10.1.1.2]) by fly.ebs.gr (8.12.9p1/8.12.9) with ESMTP id k13BJESg029555; Fri, 3 Feb 2006 13:19:14 +0200 (EET) (envelope-from past@hal.ebs.gr) Received: from hal.ebs.gr (past@localhost.ebs.gr [127.0.0.1]) by ebs.gr (8.13.3/8.12.11) with ESMTP id k13BJDMI022843; Fri, 3 Feb 2006 13:19:13 +0200 (EET) (envelope-from past@hal.ebs.gr) Received: (from past@localhost) by hal.ebs.gr (8.13.3/8.12.11/Submit) id k13BJDkl022842; Fri, 3 Feb 2006 13:19:13 +0200 (EET) (envelope-from past) Date: Fri, 3 Feb 2006 13:19:13 +0200 From: Panagiotis Astithas To: Doug Barton Message-ID: <20060203111911.GA22446@hal.ebs.gr> References: <43D610B6.5080008@FreeBSD.org> <43DE40FE.6000507@ebs.gr> <43DE6C65.9040306@FreeBSD.org> <43DE7652.9050807@ebs.gr> <43DF346B.407@FreeBSD.org> <43DF40BC.4060600@ebs.gr> <43E2B3A6.9060508@FreeBSD.org> <43E2B530.4050500@FreeBSD.org> <20060203065504.GA3857@weller-fahy.com> <43E31808.6070205@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <43E31808.6070205@FreeBSD.org> User-Agent: Mutt/1.4.2.1i X-Organization: EBS Ltd. X-Work-Phone: +30-1-6747-631 X-Work-FAX: +30-1-6747-601 Cc: freebsd-ports@freebsd.org Subject: Re: New /bin/sh based script to manage ports X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Panagiotis.Astithas@ebs.gr List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Feb 2006 11:19:24 -0000 On Fri, Feb 03, 2006 at 12:44:56AM -0800, Doug Barton wrote: > David J. Weller-Fahy wrote: > > > One thing I did notice is that you use only the pkgdeps from the > > +CONTENTS files to determine dependencies. Is there a particular reason > > (besides speed) that you went with the pkgdeps instead of the *DEPENDS > > variables in the port? I noticed (for the mailfront port, in > > particular) that bglibs was not listed as a dependency by portmaster, > > but is a build dependency of mailfront, and wondered what implications > > that could have. > > This depends on which direction you're approaching the problem from. When > building a port, the check for whether the dependencies of the port are up > to date uses the list from 'make all-depends-list', which will include build > dependencies. However, once a port has been built and installed > successfully, the list of ports which have a dependency on the updated port > is cross checked between the +REQUIRED_BY in the package directory and the > +CONTENTS files of the other installed ports. In this way we can be sure > that all appropriate dependencies are recorded, and updated. Since > BUILD_DEPENDS are not registered in the +CONTENTS or +REQUIRED_BY files, > they don't show up at that stage, and portmaster doesn't update information > about them (because that information doesn't exist). And I've noticed that portmaster warns when there is a mismatch between the dependencies in +CONTENTS and +REQUIRED_BY, where the latter are usually more than the former. However the default suggestion from portmaster is to use the +CONTENTS dependencies. Why is there a difference in the first place (port bugs I presume) and would the other approach be more correct (in that it would fix the unrecorded dependencies)? On another note, I tried yesterday a 'portmaster -rdf expat', which is a mega task on my system, so I would expect to get preferably zero questions asked (since we are talking about 200 ports here). This is what the relevant portupgrade invocation did (modulo the various OPTIONS screens), although 20 hours later it is still not finished. Could portmaster be persuaded to 'do whatever needs to be done, but you are on your own until you do it'? Thanks, Panagiotis