How to keep INDEX up to date less painfully [ was Re: Downloading a successful INDEX build rtp via freefall? ]

Matthew Emmerton matt at
Mon Oct 27 14:43:11 PST 2003

> 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
> 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, 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


Matt Emmerton

More information about the freebsd-ports mailing list