From owner-freebsd-ports@FreeBSD.ORG Sat Oct 23 18:03:19 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 054A216A4CE for ; Sat, 23 Oct 2004 18:03:19 +0000 (GMT) Received: from smtp.infracaninophile.co.uk (happy-idiot-talk.infracaninophile.co.uk [81.2.69.218]) by mx1.FreeBSD.org (Postfix) with ESMTP id 08D7743D48 for ; Sat, 23 Oct 2004 18:03:17 +0000 (GMT) (envelope-from m.seaman@infracaninophile.co.uk) Received: from happy-idiot-talk.infracaninophile.co.uk (localhost.infracaninophile.co.uk [IPv6:::1])i9NI388C091205 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 23 Oct 2004 19:03:08 +0100 (BST) (envelope-from matthew@happy-idiot-talk.infracaninophile.co.uk) Received: (from matthew@localhost)i9NI37aN091204; Sat, 23 Oct 2004 19:03:07 +0100 (BST) (envelope-from matthew) Date: Sat, 23 Oct 2004 19:03:07 +0100 From: Matthew Seaman To: Christopher Nehren Message-ID: <20041023180307.GA90928@happy-idiot-talk.infracaninophile.co.uk> Mail-Followup-To: Christopher Nehren , freebsd-ports@freebsd.org References: <20041022153854.GA88362@happy-idiot-talk.infracaninophile.co.uk> <20041023092209.GB41582@happy-idiot-talk.infracaninophile.co.uk> <1098550749.68790.23.camel@prophecy.dyndns.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="7AUc2qLy4jB3hD7Z" Content-Disposition: inline In-Reply-To: <1098550749.68790.23.camel@prophecy.dyndns.org> 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]); Sat, 23 Oct 2004 19:03:08 +0100 (BST) X-Virus-Scanned: clamd / ClamAV version devel-20040904, clamav-milter version 0.75l 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 cc: freebsd-ports@freebsd.org 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: Sat, 23 Oct 2004 18:03:19 -0000 --7AUc2qLy4jB3hD7Z Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Oct 23, 2004 at 12:59:09PM -0400, Christopher Nehren wrote: =20 > I presume that by "annoying bug" you mean "portindex uses the port > origin as its unique key in the data cache."? If so, that shouldn't be > too difficult to solve. "make index" has to obtain its correct concept > of the package name somehow. It shouldn't be too difficult to do the > same thing. No, I mean the bug that was fixed in HEAD, RELENG_4 and RELENG_5 (before the creation of RELENG_5_3, so it's fixed there as well), which was what made ruby dump core while running portsdb and generated huge amounts of traffic all over this and several other FreeBSD lists. The bug that was fixed here: http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/db/btree/bt_split.c.= diff?r1=3D1.6&r2=3D1.7 > Here's the feedback that I promised earlier: I very much like what > you're doing, and your code is very clean and well-written. However, I > have one minor nit: I'd like to see portindex determine which ports need > to be updated by checking the mtime / ctime (at least I think that it > was one of these, because it worked without cvsup output and only > updated those which were out of date) on the relevant port files, like > the original portindex did. Not everyone uses cvsup to update their > ports tree, and not everyone uses cvsup to update all of their ports > tree. I do beta testing for the development versions of GNOME, and I've > been trying out the BSD# ports tree as well. While the development > version GNOME ports tree does have a cvsup server, the BSD# ports tree > doesn't (I may be wrong on this; if anyone's reading who knows better, > please chime in). There's probably other development trees that people > graft onto their real tree which don't use cvsup as an update avenue. Of > course, since I mentioned it, I'll be glad to implement it. Hmmm... That's certainly possible. I never actually looked at the original portindex at all, so I have no real idea how it worked. The cvsup-checkouts mode should work for someone who maintains a copy of the ports CVS /repository/ via cvsup -- or it will with very minor tweaking. Agreed, a mode for cache-update which scans the ports tree and updates any port containing files with mtime after a certain cut off point would be useful -- but slow. You can achieve something like the effect you want now by doing: % cd /usr % find ports -newer /var/tmp/portindex/portindex-cache.db -type f \ -depth 3 -print | cache-update -f cvsup-output Or I'm sure you could write a script to generate the appropriate 'plain' format without any trouble. Anyhow, I'll put out a new beta incorporating a built-in find mode and your other suggestion about namespaces tomorrow. 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 --7AUc2qLy4jB3hD7Z Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD8DBQFBepzbiD657aJF7eIRAkR1AJ9RYdfjPJOZ4S26AiAhLiNSUYmyJwCgm0Pj wQQ6i3fRb5WSioItRSdIWmw= =TffI -----END PGP SIGNATURE----- --7AUc2qLy4jB3hD7Z--