O banco de dados de dependência de RPM não pode informar que você instalou um pacote da origem. O banco de dados RPM só sabe sobre os metadados presentes nos pacotes RPM, um pacote instalado a partir da fonte não contém esses metadados.
Alguns scripts de configuração que criam um pacote a partir do código-fonte produzem pkg-config
, que são metadados sobre o pacote instalado. No entanto, não há uma integração clara entre os metadados dos metadados pkg-config
e RPM (ou DEB
metadata ou pacman
metadata). Ao empacotar uma distro, os empacotadores inserem os metadados em um formato específico nos pacotes (por exemplo, pacotes RPM) e esse metadado é aquele usado para determinar as dependências. Não são fornecidos metadados de nenhuma outra forma.
Por outro lado, você pode ter versões diferentes de uma biblioteca no mesmo sistema. Por padrão (ou seja, de acordo com os padrões de codificação GNU que a maioria dos pacotes segue), um script configure
deve instalar seu produto em /usr/local
. Embora os pacotes empacotados pela distribuição (por exemplo, RPM
) devam instalar seu conteúdo em /usr
.
Portanto, se você seguir a convenção (chamada de FHS ) e manter os pacotes / bibliotecas instalados a partir do código-fonte em /usr/local
, em seguida, instalar a mesma biblioteca por meio de RPM
não entrará em conflito com sua biblioteca (já que os empacotadores da distribuição seguem o FHS).
Quando não há RPM disponível, você pode construir você mesmo. Para isso, você precisa construir o pacote / biblioteca a partir do código-fonte e instalá-lo em um local fictício (uma raiz de compilação). Em seguida, forneça os metadados necessários para o pacote RPM e empacote-o em um arquivo RPM. O TLDP tem um guia sobre a construção de RPMs datado, mas muito completo .