Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Apr 2004 16:29:27 -0700
From:      Kris Kennaway <kris@obsecurity.org>
To:        Robin Schoonover <end@endif.cjb.net>
Cc:        Martin <nakal@web.de>
Subject:   Re: Second "RFC" on pkg-data idea for ports
Message-ID:  <20040414232927.GA56961@xor.obsecurity.org>
In-Reply-To: <20040414131949.3A56E43D31@mx1.FreeBSD.org>
References:  <p0602040cbca10a7dbe52@[128.113.24.47]> <20040413121925.GB29867@voodoo.oberon.net> <p0602041abca1e49dde40@[128.113.24.47]> <407C4035.8020609@ciam.ru> <p0602041fbca1ff481e60@[128.113.24.47]> <1081896823.772.58.camel@klotz.local> <xzp1xmq90gk.fsf@dwp.des.no> <20040414131949.3A56E43D31@mx1.FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--Kj7319i9nmIyA2yE
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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@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.
> >=20
> > make -V
> >=20
>=20
> 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.=20
>=20
> 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.

--Kj7319i9nmIyA2yE
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)

iD8DBQFAfclXWry0BWjoQKURAsFtAJ9v0Yv3HFQVTn/+e+Cxzc63+lKdYACgmezf
5wrh6+qWnYd+rXPmmTSUQn8=
=f3ys
-----END PGP SIGNATURE-----

--Kj7319i9nmIyA2yE--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040414232927.GA56961>