Skip site navigation (1)Skip section navigation (2)
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>