Re: Second "RFC" on pkg-data idea for ports

From: Kris Kennaway <kris_at_obsecurity.org>
Date: Wed, 14 Apr 2004 16:29:27 -0700
On Wed, Apr 14, 2004 at 07:19:47AM -0600, Robin Schoonover wrote:
> On Wed, 14 Apr 2004 15:02:35 +0200, Dag-Erling Sm?rgrav wrote:
> > Martin <nakal_at_web.de> writes:
> > > I would personally like it to use XML. I'm developing a small
> > > application which is a kind of GUI for ports (works like a
> > > browser). It is very difficult to parse the Makefiles to find
> > > out which version number and which dependencies it has. Some
> > > versions (like KDE3) are just variables and I don't have an
> > > idea how to fetch them yet.
> > 
> > make -V
> > 
> 
> I use make -V a lot, and it's slow (every time you run it, make has to
> reread all the bsd.*.mk files, such as bsd.port.mk).  The speed isn't much
> of an issue when you only do one or two ports, but when you are examining
> the entire ports collection, you notice. 
> 
> That said, I'd still rather use a makefile based ports system anyway.

Necessarily, *any* file format you choose will need to parse
auxilliary files analogous to bsd.port.mk.  There's just no getting
around the fact that ports rely on a lot of infrastructure and
conditional evaluation to set their variables (although it can be
optimized relative to what we have in CVS today [1]).

Note that it's intentional that a lot of things are centralized in
bsd.port.mk where they may be easily maintained, instead of being set
in 10000 individual makefiles.

Kris

[1] As a test, I recently was able to cut index build times by 60%
from 5 to a little over 2 minutes on test box with fast disks, by
stripping out (almost) everything non-essential from the 'make
describe' code path.

Received on Wed Apr 14 2004 - 14:29:38 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:51 UTC