In certain cases, users must be prevented from installing
      a port.  There are several variables that can be used in a
      port's Makefile to tell the user that the
      port cannot be installed.  The value of
      these make variables will be the
      reason that is shown to users for why the port refuses to
      install itself.  Please use the correct make
      variable.  Each variable conveys radically different
      meanings, both to users and to automated systems that depend on
      Makefiles, such as
      the ports build cluster,
      FreshPorts, and
      portsmon.
BROKEN is reserved for ports that
	    currently do not compile, install, deinstall, or run
	    correctly.  Use it for ports where the problem
	    is believed to be temporary.
If instructed, the build cluster will still attempt to try to build them to see if the underlying problem has been resolved. (However, in general, the cluster is run without this.)
For instance, use BROKEN when a
	    port:
does not compile
fails its configuration or installation process
installs files outside of
		${PREFIX}
does not remove all its files cleanly upon deinstall (however, it may be acceptable, and desirable, for the port to leave user-modified files behind)
has runtime issues on systems where it is supposed to run fine.
FORBIDDEN is used for ports that
	    contain a security vulnerability or induce grave concern
	    regarding the security of a FreeBSD system with a given port
	    installed (for example, a reputably insecure program or a
	    program that provides easily exploitable services).  Mark
	    ports as FORBIDDEN as soon as a
	    particular piece of software has a vulnerability and there
	    is no released upgrade.  Ideally upgrade ports as soon as
	    possible when a security vulnerability is discovered so as
	    to reduce the number of vulnerable FreeBSD hosts (we like
	    being known for being secure), however sometimes there is
	    a noticeable time gap between disclosure of a
	    vulnerability and an updated release of the vulnerable
	    software.  Do not mark a port FORBIDDEN
	    for any reason other than security.
IGNORE is reserved for ports that
	    must not be built for some other reason.  Use it
	    for ports where the problem is believed to be
	    structural.  The build cluster will not, under any
	    circumstances, build ports marked as
	    IGNORE.  For instance, use
	    IGNORE when a port:
does not work on the installed version of FreeBSD
has a distfile which may not be automatically fetched due to licensing restrictions
does not work with some other currently installed port (for instance, the port depends on www/apache20 but www/apache22 is installed)
If a port would conflict with a currently
	      installed port (for example, if they install a file in
	      the same place that performs a different function),
	      use
		CONFLICTS instead.
	      CONFLICTS will set
	      IGNORE by itself.
Do not quote the values of BROKEN,
	IGNORE, and related variables.  Due to the
	way the information is shown to the user, the wording of
	messages for each variable differ:
BROKEN= fails to link with base -lcrypto
IGNORE= unsupported on recent versions
resulting in this output from
	make describe:
===> foobar-0.1 is marked as broken: fails to link with base -lcrypto.
===> foobar-0.1 is unsupported on recent versions.
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>.