Large consensus over this, INDEX has been removed from the ports tree
(people used to only update it once in a blue moon).

This does NOT mean you lose the functionality.

Instead, there's a file in the portslist package that contain the exact
same information, but up-to-date, and also more complete (it does follow
dependencies instead of being limited to what's actually linked in the
ports tree)

Change is mostly transparent: if you try a convenience search target
from /usr/ports, the Makefile will encourage you to install portslist.

Minor nit: portslist mistakenly had a run depends on sqlports.

Note that for this to work, you need to update your packages frequently
(duh) and if you want things to reflect your own ports tree with wip
stuff, you should build sqlports yourself.

Technical notes:

all this is based around sqlports.  The ports tree itself can dump
most of its internal information through dump-vars. This gets accumulated
into an sqlite database, sqlports.


Since I'm somewhat of a noob where it comes to sql, there are currently 
two databases, sqlports (human consumption) and sqlports-compact (more
correct versions with lots of inter-reference and proper keys).

I hope to unify both now that I've figured out the tricks I was missing
for full views suitable for human beings ;/

portslist is just a small extract of sqlports  as flat files which do not
require sqlite3 to be installed.
(full list of ports, probably now redundant, and ports-INDEX, a carbon-copy
of the old index information)

There are already a few consumers of sqlports out there, though more is
possible.

Reply via email to