Hebang
(usa Arch Linux)
Enviado em 23/08/2013 - 17:49h
Olá pessoal!
Sou desenvolvedor de software há mais de 4 anos, e apesar de bastante experiência na parte de projeto/desenvolvimento, há um tópico que me atormenta há bastante tempo.
Eis minha dúvida:
Digamos que eu tenha criado um software que utiliza diversas bibliotecas de terceiros, e eu queira liberar o meu código de uma maneira "light", ou seja, sem carregar todas as bibliotecas junto.
Logo, o que vem na cabeça, é utilizar um formato de pacote aceitável pela distribuição de destino (RPM, Deb., etc).
Pesquisei alguns formatos de pacotes (RPM e DEB) e vi que os mesmos permitem mencionar, em sua construção, suas dependências, para na hora de instalá-lo, o gerenciador de pacotes da máquina alerte para essas dependências e as resolva antes de instalar o pacote propriamente dito.
A minha dúvida é:
como listar as dependências de um software?
Por exemplo:
Digamos que eu tenha utilizado o OpenSSL no meu projeto. Eu, obviamente, sei que o OpenSSL é uma dependência do meu pacote, porém como posso descobrir qual a versão mínima requerida desse pacote? Ou pior, como posso dizer qual a versão mínima da LibC necessária para meu projeto?
Ou então, digamos que eu tenha utilizado uma biblioteca mas não sei qual a procedência dela. Então, dou um search via gerenciador de pacotes e vejo que 5 bibliotecas diferentes suprem essa necessidade. Como saber qual a mais adequada para ser inserida como dependência?
Minha dúvida toda é: como criar uma lista EXATA de todas as dependências de um pacote, para que nenhuma delas seja esquecida e, futuramente, cause um erro na hora de aplicá-lo na máquina destino?
Desde já, grato pela atenção de todos!