Chapter 14 Testing your port

Table of Contents
14.1 Running make describe
14.2 Portlint
14.3 PREFIX

14.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.

Example 14-1. How to avoid using .error

Assume that someone has the line

USE_POINTYHAT=yes
in 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.

For questions about the FreeBSD ports system, e-mail <ports@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.

Hosting by: Hurra Communications Ltd.
Generated: 2007-01-26 17:58:41