From owner-freebsd-ports@FreeBSD.ORG Mon Oct 27 14:43:11 2003 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 6682416A4B3 for ; Mon, 27 Oct 2003 14:43:11 -0800 (PST) Received: from tomts20-srv.bellnexxia.net (tomts20-srv.bellnexxia.net [209.226.175.74]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4A34F43F93 for ; Mon, 27 Oct 2003 14:43:10 -0800 (PST) (envelope-from matt@gsicomp.on.ca) Received: from hermes ([65.95.186.97]) by tomts20-srv.bellnexxia.net (InterMail vM.5.01.06.05 201-253-122-130-105-20030824) with SMTP id <20031027224309.OCEV22704.tomts20-srv.bellnexxia.net@hermes>; Mon, 27 Oct 2003 17:43:09 -0500 Message-ID: <001101c39cdb$53b04e20$1200a8c0@gsicomp.on.ca> From: "Matthew Emmerton" To: "Kent Stewart" , "Sean Chittenden" , "Joe Marcus Clarke" References: <20031027210058.GA41805@perrin.nxad.com><1067290807.758.60.camel@gyros> <20031027214840.GW86551@perrin.nxad.com> <200310271408.41913.kstewart@owt.com> Date: Mon, 27 Oct 2003 17:40:30 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 cc: ports@freebsd.org Subject: How to keep INDEX up to date less painfully [ was Re: Downloading a successful INDEX build rtp via freefall? ] 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: Mon, 27 Oct 2003 22:43:11 -0000 > I think the most common problem people have with portupgrade is caused by > their INDEX files not being up todate. They think cvsup does it all because > that is all that is mentioned in the Handbook. The problem doesn't lie with cvsup -- the problem is that the INDEX files in CVS are rarely 100% up to date. Technically, they should be updated on every CVS commit that updates a port Makefile, repo-copy, or [virtual] category addition/change/removal. Obviously this is infeasible, but mainly because the mechanism we're using is horribly inefficient -- since every port lists every single possible dependency, even through dependent ports, the smallest change can have a horrible ripple effect. (Think X11, KDE, expat, autoconf, etc.) We can make the mechanism smarter, but pushing out the "traverse all dependencies of my dependent ports" task to the tools operating on the ports tree -- via sysinstall, or make install, or what have you. All the information is still contained in INDEX, but has been normalized to make it easier to keep INDEX up-to-date. Since I'm not intimately knowledgeable about all the inner workings of the bsd.port.mk, nor portinstall or sysinstall or other tools which rely on INDEX, I can't say that this is a simple solution. But I do believe it's a better solution than what we have now. I'd be willing to hack around with this stuff if anyone is willing to mentor me. Thanks, -- Matt Emmerton