Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Nov 2004 12:13:55 -0800
From:      Kris Kennaway <kris@obsecurity.org>
To:        Kris Kennaway <kris@obsecurity.org>, freebsd-ports@freebsd.org
Subject:   Re: portindex -- the second coming.
Message-ID:  <20041101201355.GA93803@xor.obsecurity.org>
In-Reply-To: <20041101200116.GB6694@happy-idiot-talk.infracaninophile.co.uk>
References:  <20041022153854.GA88362@happy-idiot-talk.infracaninophile.co.uk> <20041023111251.GA21742@happy-idiot-talk.infracaninophile.co.uk> <20041030225107.GA65879@happy-idiot-talk.infracaninophile.co.uk> <20041101191217.GA82822@xor.obsecurity.org> <20041101200116.GB6694@happy-idiot-talk.infracaninophile.co.uk>

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

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

On Mon, Nov 01, 2004 at 08:01:16PM +0000, Matthew Seaman wrote:
> On Mon, Nov 01, 2004 at 11:12:17AM -0800, Kris Kennaway wrote:
> > On Sat, Oct 30, 2004 at 11:51:07PM +0100, Matthew Seaman wrote:
> >=20
> > > Slightly later than planned (real life getting in the way I'm afraid),
> > > here's the third (and I hope final) beta version:
> > >=20
> > >     http://www.infracaninophile.co.uk/portindex/portindex-0.3.tar.bz2
> > >=20
> > > This incorporates various bug fixes and feedback from earlier version=
s.
> >=20
> > I took a quick look at the code, and it doesn't look like you track
> > .included files.  This is important, because changes to
> > e.g. <bsd.kde.mk>, or "../../othercategory/otherport/Makefile.inc" can
> > change the result of 'make describe' of the port, and therefore the
> > resulting INDEX.
>=20
> Good point.  Very good point -- now why didn't I see that, dammit?
> Aha!  Hidden away at the end of the make(1) man page:
>=20
>     make -V .MAKEFILE_LIST | tr \  \\n

You probably want to strip out the stuff in /usr/share/mk which should
not have any impact on port dependencies, but to be strict you should
treat changes to /etc/make.conf and bsd.port.mk as requiring a rebuild
of the full index.  bsd.sites.mk can be ignored too.

Also you need to think about the case of variables being set in the
environment but not in make.conf - either you have to recognise them
somehow (difficult), or (better) you have to build the index with a
clean environment since otherwise you'll get undefined results
(e.g. if someone does a partial update after having set WITHOUT_GNOME
in the environment of that shell, they'll get a wacky index that may
not be self-consistent).

There's also the problem of ports that auto-detect their dependencies
based on installed files; this is difficult to solve because the
trigger is some random file on the system.  If someone builds index,
installs such a 'trigger port', and then does an index update, their
incremental index won't be the same as if they rebuild it from
scratch.

Kris

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

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

iD8DBQFBhpkDWry0BWjoQKURAsxcAKDZ3O9OBfGQNrC+CeTiLltRYafrLACcDnNq
ROpYYA827taYXn1HH17CAPM=
=idkM
-----END PGP SIGNATURE-----

--tKW2IUtsqtDRztdT--



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