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.
Example 14-1. How to avoid using .error
Assume that someone has the line
USE_POINTYHAT=yesin make.conf. The first of the next two Makefile snippets will cause make index to fail, while the second one will not:
.if USE_POINTYHAT .error "POINTYHAT is not supported" .endif
.if USE_POINTYHAT IGNORE=POINTYHAT is not supported .endif
If make describe produces a string rather than an error message, you are 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.
Hosting by: Hurra Communications Ltd.
Generated: 2007-01-26 17:58:41