Existem três variáveis diferentes para registrar um conflito entre pacotes e ports: CONFLICTS
, CONFLICTS_INSTALL
e CONFLICTS_BUILD
.
As variáveis de conflito definem automaticamente a variável IGNORE
, que é mais amplamente documentada em Seção 13.13, “Marcando um Port não Instalável com a variável BROKEN
, FORBIDDEN
ou IGNORE
”.
Ao remover um dos vários ports conflitados, é aconselhável reter CONFLICTS
nos outros ports por alguns meses para atender usuários que apenas fazem atualizações de vez em quando.
CONFLICTS_INSTALL
Se o pacote não puder coexistir com outros pacotes (devido a conflitos de arquivos, incompatibilidades de tempo de execução, etc.). A checagem CONFLICTS_INSTALL
é feita após o estágio de compilação e antes do estágio de instalação.
CONFLICTS_BUILD
Se o port não puder ser compilado quando outros ports específicos já estiverem instalados. Conflitos de compilação não serão registrados no pacote final.
CONFLICTS
Se o port não puder ser compilado quando um certo port estiver instalado e o pacote final não puder coexistir com o outro pacote. A checagem CONFLICTS
é feita antes do estágio de compilação e antes do estágio de instalação.
O conteúdo mais comum de uma dessas variáveis é o pacote base de outro port. O pacote base é o nome do pacote sem a versão, ele pode ser obtido executando make -V PKGBASE
.
CONFLICTS*
dns/bind99 não pode ser instalado se dns/bind910 está presente porque eles instalam os mesmos arquivos. Primeiro, reúna o pacote base para usar:
%
make -C dns/bind99 -V PKGBASE
bind99%
make -C dns/bind910 -V PKGBASE
bind910
Então adicione ao Makefile
do dns/bind99:
CONFLICTS_INSTALL= bind910
E adicione ao Makefile
do dns/bind910:
CONFLICTS_INSTALL= bind99
Às vezes, apenas uma versão de outro port é incompatível, neste caso, use o nome completo do pacote, com a versão, e use shell globs, como *
e ?
para garantir que todas as versões possíveis sejam correspondidas.
CONFLICTS*
Com Globs.Nas versões 2.0 até 2.4.1_2, deskutils/gnotime instalava uma versão integrada de databases/qof.
Para refletir este passado, o Makefile
do database/qof contém:
CONFLICTS_INSTALL= gnotime-2.[0-3]* \ gnotime-2.4.0* gnotime-2.4.1 \ gnotime-2.4.1_[12]
As primeira entrada corresponde as versões 2.0
até 2.3
, a segunda corresponde todas as revisões de 2.4.0
, a terceira corresponde a versão exata 2.4.1
, e a última corresponde a primeira e segunda revisão da versão 2.4.1
.
deskutils/gnotime não possui nenhuma linha de conflitos porque sua versão atual não conflita com mais nada.
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>.