> I'm a newbie running 6.1 stable and I have what may be several simple
> questions: What exactly is happening when I run "make index && make
> readmes" after I upgrade my ports tree? Why aren't the indexes and
> readmes made when we run cvsup ports-supfile? Finally, why does it
> take so long to make what appear (to me) to be fairly small files?

The size of the output file is not what determines how long any program
will run, in general.

The problem you are running into is the scale of the ports tree.  There
are now nearly 15,000 ports available.  If you're going to generate the
ports index inside 20 minutes that means on average each port has to be
processed in a tad less than 0.08s.  That is still doable on a fast machine
and using quite a lot of programming-fu, but it certainly isn't easy.

Therefore, instead of building the index yourself, you would be better
advised to simply download a pre-built version.  Just:

   # cd /usr/ports
   # make fetchindex

before running portupgrade or whatever.

The reason the ports index is not held in CVS is simple:  the index
contents change every time a port gets updated to a new version.  Since
there are of the order of 200 updates to individual ports applied each
day, and since the index is rebuilt (I believe) hourly for each supported
major OS branch, that would mean checking in changes to 3 ports index files
each hour.  The CVS repository would be ground into the dust in not too
long a time.

If you want to maintain your own copy of the index, you certainly can.
Doing so is generally not something you absolutely have to do, but useful
if you have your own local ports not part of the usual tree or you're
irritated that your INDEX shows eg. ports depending on apache13 when you
have a different apache port installed.  There is the handy-dandy
sysutils/p5-FreeBSD-Portindex port available to help you do that by
generating incremental updates to your index as you track the ports tree
using cvsup or whatever other means you prefer.  Of course, I must admit
to a certain bias here as I wrote it.

The 'make readmes' stuff you probably don't want at all.  All it does is
produce the 'readme.html' file in each port.  That's utterly pointless for
the vast majority of ports users -- and having the readme.html files in
the tree can get in the way of keeping things synchronised with cvsup --
especially since you can just go to http://www.freshports.org/ or  
http://www.freebsd.org/ports/categories-grouped.html and see some better
organised and extended representations of the same data.



Dr Matthew J Seaman MA, D.Phil.                       7 Priory Courtyard
                                                      Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey         Ramsgate
                                                      Kent, CT11 9PW

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to