Temos um ambiente de desenvolvimento no FreeBSD 10.3. Ouvi dizer que o FreeBSD gerencia dependências de pacotes dessa maneira, que sempre procura a versão mais recente de todos os pacotes, da qual depende o pacote principal. E parece verdade. Então, minhas perguntas são:
- Isso é verdade? existem documentos oficiais que provam isso?
- A melhor maneira de superar esse problema?
package-management
freebsd
dependencies
Sergius
fonte
fonte
pkg lock
, instalar tudo o que desejar.Respostas:
Como o FreeBSD constrói pacotes
O projeto FreeBSD costumava criar pacotes apenas para releases e ocasionalmente para os ramos STABLE. Os construtores de pacotes antigos usavam um sistema distribuído chamado Portbuild. Ele usaria um grande cluster de máquinas menores de 2 GB a 4 GB para criar pacotes. Isso era propenso a erros e lento, principalmente devido às máquinas mais antigas. Uma compilação completa ainda pode levar uma semana. Hoje, os pacotes são criados usando máquinas grandes e únicas usando o Poudriere. (Da página de Brian Drewery ).
Veja também: Como atualizar uma mistura de pacotes e portas no FreeBSD
O FreeBSD possui uma ABI (e API) em evolução, assim como o Solaris e o Windows, enquanto o Linux tem uma ABI (e API) estável (estagnada?), Portanto, com os binários antigos do Linux, ainda será executado em uma versão mais recente do sistema operacional, enquanto nos sistemas operacionais não Linux, isso não é '' Sempre é o caso (às vezes é).
O uso
pkg lock
ainda pode causar dores de cabeça , enquanto ele trava (oferece um aviso) quando você tenta atualizar usandopkg upgrade
ainda pressupõe que versões com números mais altos são melhores (desejáveis) e que é algo que você gostaria de fazer - por isso, solicita permissão, e você pode permitir, mas não garante que algo mais não será quebrado. Veja o URL acima, ou esta discussão: " Você prefere o FreeBSD para bloquear versões de pacotes binários distribuídos via pkg para uma versão do sistema operacional? ".Se um pacote estiver bloqueado às vezes, você terá que dar permissão para desbloqueá-lo e fazer a atualização, enquanto isso funcionará para o pacote único (e todas as suas dependências), não há garantia de que algo mais não será incompatível com as novas bibliotecas ( e, portanto, também precisa de uma atualização, se houver uma disponível no momento).
Blog de Brian Drewery: " Jornal FreeBSD: Poudriere " opina:
Mas, o problema ...
Assim ...
A solução:
A configuração de seu próprio repositório com o poudriere permite que você tenha a flexibilidade de portas e a facilidade de gerenciamento de pacotes.
fonte