From owner-freebsd-ports@FreeBSD.ORG Fri Nov 5 15:02:09 2004 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BF1E516A4CE for ; Fri, 5 Nov 2004 15:02:09 +0000 (GMT) Received: from smtp.infracaninophile.co.uk (ns0.infracaninophile.co.uk [81.2.69.218]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2546143D45 for ; Fri, 5 Nov 2004 15:02:08 +0000 (GMT) (envelope-from m.seaman@infracaninophile.co.uk) Received: from happy-idiot-talk.infracaninophile.co.uk (localhost.infracaninophile.co.uk [IPv6:::1])iA5F1tAK059360 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 5 Nov 2004 15:01:55 GMT (envelope-from matthew@happy-idiot-talk.infracaninophile.co.uk) Received: (from matthew@localhost)iA5F1q4R059359; Fri, 5 Nov 2004 15:01:52 GMT (envelope-from matthew) Date: Fri, 5 Nov 2004 15:01:52 +0000 From: Matthew Seaman To: Kris Kennaway , freebsd-ports@freebsd.org Message-ID: <20041105150152.GA59235@happy-idiot-talk.infracaninophile.co.uk> Mail-Followup-To: Kris Kennaway , freebsd-ports@freebsd.org 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> <20041101201355.GA93803@xor.obsecurity.org> <20041101231123.GA86427@happy-idiot-talk.infracaninophile.co.uk> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="ZPt4rx8FFjLCG7dd" Content-Disposition: inline In-Reply-To: <20041101231123.GA86427@happy-idiot-talk.infracaninophile.co.uk> User-Agent: Mutt/1.4.2.1i X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.5.6 (smtp.infracaninophile.co.uk [IPv6:::1]); Fri, 05 Nov 2004 15:01:55 +0000 (GMT) X-Virus-Scanned: ClamAV 0.80/574/Fri Nov 5 00:12:58 2004 clamav-milter version 0.80j on smtp.infracaninophile.co.uk X-Virus-Status: Clean X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED,AWL autolearn=ham version=3.0.1 X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on happy-idiot-talk.infracaninophile.co.uk Subject: Re: portindex -- the second coming. X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Nov 2004 15:02:09 -0000 --ZPt4rx8FFjLCG7dd Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Nov 01, 2004 at 11:11:23PM +0000, Matthew Seaman wrote: > On Mon, Nov 01, 2004 at 12:13:55PM -0800, Kris Kennaway wrote: > > 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 afr= aid), > > > > > 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 ver= sions. > > > >=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. , 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 > >=20 > > 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. >=20 > Absolutely. Some Makefiles are included everywhere, and if they get > modified, the best thing to do is rebuild the cache from scratch. > Checking for modifications to /etc/make.conf: that's not something I'm > going to catch by parsing cvsup output. I guess I'll just have to put > in a catch-all that looks at the timestamp of that file and any other > likely suspects and that will trigger a message recommending general > rebuild of the cache. > =20 > > 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). >=20 > This I think is really the user's problem. If they habitually set > 'WITH_FOO' in their environment while building ports, then building or > updating an INDEX file should include the effects of WITH_FOO. > Documenting that changing significant environment settings really does > require reinitialising the cache is clearly necessary. > Hmm... although an option to turn on scrubbing the environment is > certainly a good idea as well. >=20 > > 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. >=20 > Now this I really can't do anything about. Sometimes it will take > human intervention to recognise when it is necessary to reinitialise > the cache from scratch, or to force an update of the cached data for > certain ports. I think this is something I'll just have to get people > to give me feedback on, as I have no idea how often it will be run > into in practice. On the other hand, having a slightly inconsistent > INDEX file is not actually a disaster, and chances are many people > wouldn't even notice the problem. I've now incorporated the changes Kris suggested as far as possible. The latest version is at: http://www.infracaninophile.co.uk/portindex/FreeBSD-Portindex-1.1.tar.b= z2 I'll be submitting this as a port in the very near future. Please do send me any comments, bug reports etc. I'll try and deal with them as promptly as possible -- unfortunately that may not be quite as promptly as I'd like since real life -- in the form of a new job -- will definitely be getting in the way from the middle of next week onwards. Cheers, Matthew --=20 Dr Matthew J Seaman MA, D.Phil. 26 The Paddocks Savill Way PGP: http://www.infracaninophile.co.uk/pgpkey Marlow Tel: +44 1628 476614 Bucks., SL7 1TH UK --ZPt4rx8FFjLCG7dd Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD4DBQFBi5XgiD657aJF7eIRAktRAJ4++9yPowvQhcz7xMo0rdACdrs1wACUCy5i jwOEa74R3LsultgTl69KFQ== =t0go -----END PGP SIGNATURE----- --ZPt4rx8FFjLCG7dd--