Criando o pacote debian - Como as dependências funcionam?

4

Eu estou no processo de construir um pacote Debian. O objetivo é empacotar um diretório em um .deb que terá 2 dependências que são outros pacotes que criei.

Ao instalar o pacote .deb, vejo os erros referentes a dependências ausentes, o que é ótimo, mas ainda assim despeja o diretório e o conteúdo, mesmo que esteja faltando dependências.

Minha pergunta é se esse é um comportamento adequado? Eu não quero o diretório criado e preenchido se houver dependências ausentes. Qualquer ajuda seria apreciada!

Obrigado!

saída.

dpkg -i hdf5.deb
Selecting previously unselected package hdf5.
(Reading database ... 305222 files and directories currently installed.)
Unpacking hdf5 (from hdf5.deb) ...
dpkg: dependency problems prevent configuration of hdf5:
 hdf5 depends on szip (>= 2.9); however:
  Package szip is not installed.

dpkg: error processing hdf5 (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 hdf5
    
por hito 21.02.2013 / 20:57

1 resposta

2

Seu problema é que você está instalando um pacote que você construiu, o qual tem dependências que você ainda não instalou, usando dpkg . Embora dpkg instale o pacote, ele não resolve dependências e instala pacotes ausentes para você. Você precisará instalá-los com apt para obter arquivos, ou se você tiver um .deb do pacote que precisa, precisará instalá-lo primeiro ou ao mesmo tempo que o novo pacote, usando dpkg .

O que você está descrevendo é um Depends que o pacote binário resultante possui, não um Build-Depends que o pacote de origem precisaria construir. Colocar todas as dependências de tempo de execução do pacote binário dentro do Build-Depends em seu arquivo de controle é uma boa maneira de evitar a criação de um pacote sem elas instaladas. Também é uma boa prática enumerar todas as dependências que você tem, em vez de confiar que as dependências também são satisfeitas por outros pacotes de que você depende, para evitar quebras se a dependência cair de outro pacote que você também precisa.

    
por dobey 21.02.2013 / 22:08