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.
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 13.16, “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.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
    documentation may be
    sent to <freebsd-questions@FreeBSD.org>.
    Send questions about this document to <freebsd-doc@FreeBSD.org>.