From owner-freebsd-hackers@FreeBSD.ORG Sat Jan 21 21:10:00 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9833D16A41F for ; Sat, 21 Jan 2006 21:10:00 +0000 (GMT) (envelope-from PeterJeremy@optushome.com.au) Received: from mail05.syd.optusnet.com.au (mail05.syd.optusnet.com.au [211.29.132.186]) by mx1.FreeBSD.org (Postfix) with ESMTP id CF09843D45 for ; Sat, 21 Jan 2006 21:09:59 +0000 (GMT) (envelope-from PeterJeremy@optushome.com.au) Received: from cirb503493.alcatel.com.au (c220-239-19-236.belrs4.nsw.optusnet.com.au [220.239.19.236]) by mail05.syd.optusnet.com.au (8.12.11/8.12.11) with ESMTP id k0LL9vPc017359 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Sun, 22 Jan 2006 08:09:58 +1100 Received: from cirb503493.alcatel.com.au (localhost.alcatel.com.au [127.0.0.1]) by cirb503493.alcatel.com.au (8.12.10/8.12.10) with ESMTP id k0LL9uHh033716; Sun, 22 Jan 2006 08:09:56 +1100 (EST) (envelope-from pjeremy@cirb503493.alcatel.com.au) Received: (from pjeremy@localhost) by cirb503493.alcatel.com.au (8.12.10/8.12.9/Submit) id k0LL9ueg033715; Sun, 22 Jan 2006 08:09:56 +1100 (EST) (envelope-from pjeremy) Date: Sun, 22 Jan 2006 08:09:56 +1100 From: Peter Jeremy To: "Matthew D. Fuller" Message-ID: <20060121210956.GU25397@cirb503493.alcatel.com.au> References: <2209162.1137777933811.JavaMail.root@vms075.mailsrvcs.net> <20060120193741.GC39932@xor.obsecurity.org> <43D15C19.314EC346@verizon.net> <20060120222629.GA43985@xor.obsecurity.org> <43D19011.D15F8462@verizon.net> <20060121015311.GA46753@xor.obsecurity.org> <20060121160739.GH63244@over-yonder.net> <20060121202321.GA83848@xor.obsecurity.org> <20060121203057.GK63244@over-yonder.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060121203057.GK63244@over-yonder.net> X-PGP-Key: http://members.optusnet.com.au/peterjeremy/pubkey.asc User-Agent: Mutt/1.5.11 Cc: freebsd-hackers@freebsd.org Subject: Re: speed up port compiling using RAM (tmpfs) ??? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Jan 2006 21:10:00 -0000 On Sat, 2006-Jan-21 14:30:57 -0600, Matthew D. Fuller wrote: >On Sat, Jan 21, 2006 at 03:23:21PM -0500 I heard the voice of >Kris Kennaway, and lo! it spake thus: >> On Sat, Jan 21, 2006 at 10:07:39AM -0600, Matthew D. Fuller wrote: >> > >> > This is something that may be easier to: >> > >> > 3) Implement in portupgrade or portmanager or some such higher-level >> > tool in a language that gives a little more flexibility than make, >> > and which is already apparently pulling in most of the information >> > it may need to do the job. >> >> You still have the same issue as 1). > > [ 1 == building dependancy tree to know what depends on what ] > >Yes, but portupgrade and friends already do most of that, so they can >upgrade stuff "in order". Actually, they rely on there being an up-to-date INDEX file and build their own dependency database from that. Actually building the INDEX file is non-trivial (it takes roughly an hour for me). Tools like p5-FreeBSD-Portindex-1.4 cache intermediate output from "make index" but still have the up-front "make index" cost (and the documentation recommends a full "make index" regularly). You can save time by fetching the INDEX, but then you can't be certain that it matches your ports tree or your port options. Given that a port's dependency tree can depend on the options it is invoked with, it would be nicer if the dependency tree was generated dynamically, rather than pulled out of the latest INDEX file. If the INDEX dependencies are used to generate a parallel build tree then it's still important that the actual build process has interlocks to prevent unforeseen dependencies causing clashes. -- Peter Jeremy