Eles têm patches aplicados à árvore de códigos-fonte que adaptam os locais.
Existem "padrões" suficientes disponíveis para que toda distribuição possa escolher com base em preferências (pessoais) e / ou práticas históricas. Raramente existe uma solução que tenha apenas vantagens. Às vezes, isso é irritante / confuso, mas a consistência em uma distribuição é o objetivo mais importante: leva a menos confusão e mais fácil adivinhar onde as coisas podem estar no programa Y, se você já sabe onde coisas semelhantes (por exemplo, arquivos de instalação / configuração) são para o programa. X.
Exemplo de aplicação de patch
Meu pacote python ruamel.yaml
está disponível no Debian Sid. Costumava ser dependente ruamel.base
e os usuários que instalaram via PyPI ainda podem ter versões mais antigas e incompatíveis de ruamel.base
instaladas. O uso de setup.py
/ PyPI não é um gerenciamento de pacotes real, portanto você não pode excluir um pacote instalado anteriormente por meio de dependências. Resolvi o problema para os usuários do PyPI criando uma versão mais nova ruamel.base
que removeu os problemas associados aos ruamel.base
pacotes mais antigos e ruamel.yaml
dependi dessa versão mais recente.
Para Sid, isso não é um problema: as versões mais antigas do ruamel.base
não foram instaladas (ou podem ser removidas através do gerenciamento de pacotes). Portanto, eles aplicam um patch , que você pode encontrar na ruamel.yaml
página de informações do Sid que remove a dependência de ruamel.yaml
on ruamel.base
.
Outras distribuições têm configurações semelhantes. Por exemplo, se você observar as especificações para criar um arquivo RPM de origem (por exemplo, para RedHat / CentOS / SuSE), verá que combina o tarball original original de um pacote com um ou mais patches que serão aplicados antes da configuração / compilação .