Date: Sun, 22 Jan 2006 08:09:56 +1100 From: Peter Jeremy <PeterJeremy@optushome.com.au> To: "Matthew D. Fuller" <fullermd@over-yonder.net> Cc: freebsd-hackers@freebsd.org Subject: Re: speed up port compiling using RAM (tmpfs) ??? Message-ID: <20060121210956.GU25397@cirb503493.alcatel.com.au> In-Reply-To: <20060121203057.GK63244@over-yonder.net> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060121210956.GU25397>