Em certos casos, os usuários devem ser impedidos de instalar um port. Existem várias variáveis que podem ser usadas no Makefile
de um port para informar ao usuário que o port não pode ser instalado. O valor dessas variáveis make será o motivo que é mostrado aos usuários do porque o port se recusa a se instalar. Por favor, use a variável correta. Cada variável transmite significados radicalmente diferentes, tanto para usuários quanto para sistemas automatizados que dependem do Makefile
, assim como o cluster de compilação de ports, FreshPorts e portsmon.
BROKEN
é reservada para ports que atualmente não compilam, instalam, desinstalam ou que não são executados corretamente. Use-o para ports em que o problema é considerado temporário.
Se instruído, o cluster de build ainda tentará compilar eles para ver se o problema subjacente foi resolvido. (No entanto, em geral, o cluster é executado sem isso.)
Por exemplo, use BROKEN
quando um port:
não compila
falha em sua configuração ou no processo de instalação
instala arquivos fora do ${PREFIX}
não remove todos os seus arquivos corretamente após a desinstalação (no entanto, pode ser aceitável, e desejável, que o port deixe arquivos modificados pelo usuário por fora do port)
tem problemas em tempo de execução em sistemas nos quais é necessário que ele seja executado corretamente.
A variável FORBIDDEN
é usada para ports que contêm uma vulnerabilidade de segurança ou causam grande preocupação em relação à segurança de um sistema FreeBSD com um determinado port instalado (por exemplo, um programa de confiança inseguro ou um programa que fornece serviços facilmente exploráveis). Marcar ports como FORBIDDEN
assim que um determinado software tiver uma vulnerabilidade e não houver atualização liberada. Idealmente, atualize os ports o mais rápido possível quando uma vulnerabilidade de segurança for descoberta para reduzir o número de hosts vulneráveis do FreeBSD (gostamos de ser conhecidos pela segurança), mas às vezes há um intervalo de tempo entre a divulgação de uma vulnerabilidade e uma versão atualizada do software vulnerável. Não marque um port como FORBIDDEN
por qualquer outro motivo que não seja segurança.
A variável IGNORE
é reservada para ports que não devem ser compilados por algum outro motivo. Use-a para ports em que o problema é considerado estrutural. O cluster de build não criará, sob nenhuma circunstância, ports marcados com a variável IGNORE
. Por exemplo, use IGNORE
quando um port:
não funciona na versão instalada do FreeBSD
tem um distfile que não pôde ser obtido automaticamente devido a restrições de licenciamento
não funciona com algum outro port atualmente instalado (por exemplo, o port depende do www/apache20 mas www/apache22 está instalado)
Se um port entrar em conflito com um port que está atualmente instalado (por exemplo, se eles instalam um arquivo no mesmo local que executa uma função diferente), use a variável CONFLICTS
como uma alternativa. CONFLICTS
ajustará IGNORE
por si próprio.
Não coloque os valores de BROKEN
, IGNORE
e variáveis relacionadas entre aspas. Devido à forma como a informação é mostrada ao usuário, o texto das mensagens para cada variável é diferente:
BROKEN= fails to link with base -lcrypto
IGNORE= unsupported on recent versions
resultando nesta saída a partir do comando 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>.