# field definition of the ftp INDEX



## Dexom (Oct 1, 2009)

I'm about to write a python wrapper around pkg_add and co, since I'm missing a task oriented interface for managing binary packages (like slapt-get under slackware I was used to in the past).
As the primary data source I use the package index file from the ftp server[0]. My problem: I couldn't find a description of the fields in this file.
Lets see the first line of such a index file as example:

```
% head -n 1 INDEX |tr '|' '\n'
accerciser-1.6.1_1
/usr/ports/accessibility/accerciser
/usr/local
Interactive Python accessibility explorer for GNOME
/usr/ports/accessibility/accerciser/pkg-descr
gnome@FreeBSD.org
accessibility gnome
ORBit2-2.14.17 at-spi-1.26.0_1 atk-1.26.0 avahi-app-0.6.25_2 
[i](and a lot more entrys in this field, cut)[/i]
ORBit2-2.14.17 at-spi-1.26.0_1 atk-1.26.0 avahi-app-0.6.25_2 
[i](and a lot more entrys in this field, cut)[/i]
```
The most fields are clear to me.
package name|ports directory|install prefix|description|...
What I want to know is the difference between field(offset) 7 and 8. Both are long lists of packages (dependencys?) which are mostly equal.

Where can I find description of this file?

[0] example: ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/INDEX.bz2


----------



## SirDice (Oct 1, 2009)

One is the build dependency the other the run dependency.

Compare running *make run-depends* and *make build-depends* in a port's directory.


----------



## Dexom (Oct 2, 2009)

That's it, thanks!


----------



## jwelcher (Nov 3, 2009)

I have my own copy of a stable packages tree, and I need to add my own package to the tree so that my jumpstart server can add these custom packages from my install.cfg file.

Is there a maintenance script that will regenerate the INDEX file from the file system?


----------



## ohauer (Nov 11, 2009)

Long time ago I used ports-mgmt/p5-FreeBSD-Portindex for this.

If I remember I also set in /etc/make.conf

```
VALID_CATEGORIES+=MyCATEGORIE
```


----------

