From owner-freebsd-ports@FreeBSD.ORG Sun May 24 19:21:04 2009 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C6F021065672 for ; Sun, 24 May 2009 19:21:04 +0000 (UTC) (envelope-from uqs@spoerlein.net) Received: from acme.spoerlein.net (cl-43.dus-01.de.sixxs.net [IPv6:2a01:198:200:2a::2]) by mx1.freebsd.org (Postfix) with ESMTP id 349AF8FC15 for ; Sun, 24 May 2009 19:21:04 +0000 (UTC) (envelope-from uqs@spoerlein.net) Received: from acme.spoerlein.net (localhost.spoerlein.net [127.0.0.1]) by acme.spoerlein.net (8.14.3/8.14.3) with ESMTP id n4OJL1Ko083066 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 24 May 2009 21:21:01 +0200 (CEST) (envelope-from uqs@spoerlein.net) Received: (from uqs@localhost) by acme.spoerlein.net (8.14.3/8.14.3/Submit) id n4OJL1Xa083065; Sun, 24 May 2009 21:21:01 +0200 (CEST) (envelope-from uqs@spoerlein.net) Date: Sun, 24 May 2009 21:21:01 +0200 From: Ulrich =?utf-8?B?U3DDtnJsZWlu?= To: Matt Juszczak Message-ID: <20090524192101.GB16591@acme.spoerlein.net> Mail-Followup-To: Matt Juszczak , freebsd-ports@freebsd.org References: <20090524152124.GA16591@acme.spoerlein.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.19 (2009-01-05) Cc: freebsd-ports@freebsd.org Subject: Re: Make package-recursive problem 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: Sun, 24 May 2009 19:21:05 -0000 On Sun, 24.05.2009 at 14:11:26 -0400, Matt Juszczak wrote: > > I have no clue as to what is causing this, but this is probably the > > reason why people use the tinderbox or roll their own system to build > > consistent packages. > > I feel like I am though? I have a dedicated box just for building > packages. make package creates a tbz file of all packages, and is > supposed to be reliable. It should be under the following circumstances: - You don't update /usr/ports - You don't change /etc/make.conf - You don't deinstall packages > > Another approach had even the package dependency inside a Makefile, so > > rebuilding the gettext package would trigger all dependent packages to > > get rebuilt too (I haven't tackled the problem of *reinstalling* them on > > the target hosts, though) > > Doesn't this already occur with the default tools in the port system? No, installed packages will be updated only (by portmaster or portupgrade) if their PKGVERSION changes. To force the update when a new gettext hits the tree, we have these !#@$!#% awful PORTREVISION bumps across a gazillion ports. I chose a bad example. Consider Perl was upgraded from 5.8.8 to 5.8.9, so the target "perl.tbz" changes mtime (at least), then make(1) would rebuild every port/package that depended on the Perl package. That was what my special Makefile was doing. Plus, you get nice Graphviz input, but a 20,000 node graph is useless to print. Extracting subgraphs for, eg. OpenOffice was nice, though. Cheers, Ulrich Spörlein -- http://www.dubistterrorist.de/