5.14. Conflict Handling
Prev | Chapter 5. Configuring the Makefile | Next

## 5.14. Conflict Handling

There are three different variables to register a conflict between packages and ports: `CONFLICTS`, `CONFLICTS_INSTALL` and `CONFLICTS_BUILD`.

### Note:

The conflict variables automatically set the variable `IGNORE`, which is more fully documented in Section 12.14, “Marking a Port Not Installable with `BROKEN`, `FORBIDDEN`, or `IGNORE`”.

When removing one of several conflicting ports, it is advisable to retain the `CONFLICTS` entries in those other ports for a few months to cater for users who only update once in a while.

### 5.14.1. `CONFLICTS_INSTALL`

If your package cannot coexist with other packages (because of file conflicts, runtime incompatibilities, etc.), list the other package names in the `CONFLICTS_INSTALL` variable. You can use shell globs like `*` and `?` here. Package names should be enumerated the same way they appear in `/var/db/pkg`. Please make sure that `CONFLICTS_INSTALL` does not match this port's package itself. Otherwise enforcing its installation with `FORCE_PKG_REGISTER` will no longer work. The CONFLICTS_INSTALL check is done after the build stage and prior to the install stage.

### 5.14.2. `CONFLICTS_BUILD`

If your port cannot be built if a certain port is already installed, list the other port names in the `CONFLICTS_BUILD` variable. You can use shell globs like `*` and `?` here. Package names should be enumerated the same way they appear in `/var/db/pkg`. The CONFLICTS_BUILD check is done prior to the build stage. Build conflicts are not recorded in the resulting package.

### 5.14.3. `CONFLICTS`

If your port cannot be built if a certain port is already installed and the resulting package cannot coexist with the other package, list the other package name in the `CONFLICTS` variable. You can use shell globs like `*` and `?` here. Packages names should be enumerated the same way they appear in `/var/db/pkg`. Please make sure that `CONFLICTS_INSTALL` does not match this port's package itself. Otherwise enforcing its installation with `FORCE_PKG_REGISTER` will no longer work. The CONFLICTS check is done prior to the build stage and prior to the install stage.

Prev | Up | Next
5.13. Specifying the Working Directory | Home | 5.15. Installing Files

All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/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>.