FreeBSD Porter's Handbook
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.

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 | Home | Next
Specifying the Working Directory | Up | Installing Files

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