ChapterÂ 9.Â Testing the Port

9.1.Â Running make describe

Several of the FreeBSD port maintenance tools, such as
portupgrade(1), rely on a database called
/usr/ports/INDEX which keeps track of such
items as port dependencies. INDEX is
created by the top-level ports/Makefile via
make index, which descends into each port
subdirectory and executes make describe
there. Thus, if make describe fails in any
port, no one can generate INDEX, and many
people will quickly become unhappy.

Note:

It is important to be able to generate this file no matter
what options are present in make.conf, so
please avoid doing things such as using
.error statements when (for instance) a
dependency is not satisfied. (See
SectionÂ 12.15, “Avoid Use of the .error
Construct”.)

If make describe produces a string rather
than an error message, everything is probably safe. See
bsd.port.mk for the meaning of the string
produced.

Also note that running a recent version of
portlint (as specified in the next section)
will cause make describe to be run
automatically.