Não é possível instalar um pacote com a mensagem 'número de revisão está vazio'

1

No Kubuntu 17.10, eu tinha o cliente SafeQ instalado para gerenciamento de impressão. Eu precisava instalar dois pacotes deb, libcrafter_0.0.2_all.deb e ysoft-client_4.0-87_all.deb de aqui .

No entanto, agora no Kubuntu 18.04 não consigo instalar esses dois pacotes. Para libcrafter_0.0.2_all.deb se eu fizer

sudo dpkg -i libcrafter_0.0.2_all.deb

Eu obtenho

dpkg: error processing archive libcrafter_0.0.2_all.deb (--install):
 parsing file '/var/lib/dpkg/tmp.ci/control' near line 3 package 'libcrafter':
 error in 'Version' field string '0.0.2-': revision number is empty
Errors were encountered while processing:
 libcrafter_0.0.2_all.deb

Como posso instalar isso? Eu também tentei

sudo dpkg --force-all -i libcrafter_0.0.2_all.deb

'Número de revisão está vazio' não deve ser um motivo para não instalar. Este pacote é feito por algum aluno para suas teses de bacharel e eu não acho que ele será atualizado.

    
por Hrvoje T 02.05.2018 / 08:25

1 resposta

2

Infelizmente, o pacote libcrafter não foi construído corretamente: sua versão é dada como “0.0.2-”, que não é um número de versão aceitável no Debian (conforme especificado em a seção relevante da política Debian ). Versões antigas de dpkg aceitaram esses números de versão, mas isso foi corrigido na versão 1.18.19 (e estou surpreso que você tenha conseguido instalar os pacotes em 17.10, pois tem dpkg 1.18.24).

No entanto, isso é solucionável:

  1. Faça o download do pacote existente.
  2. Extraia:

    dpkg-deb -R libcrafter_0.0.2_all.deb libcrafter-0.0.2
    
  3. Corrija seu número de versão e alguns outros problemas com o pacote:

    sed -i 's/0.0.2-$/0.0.2-1/;s/all$/amd64/;s/java$/libs/' libcrafter-0.0.2/DEBIAN/control
    
  4. Reconstrua o pacote:

    dpkg-deb -b libcrafter-0.0.2 .
    
  5. Instale o pacote resultante:

    sudo dpkg -i libcrafter_0.0.2-1_amd64.deb
    
  6. Limpar:

    rm -rf libcrafter_0.0.2_all.deb libcrafter-0.0.2
    

    (deixando o novo pacote para posterior reutilização).

por 02.05.2018 / 09:05

Tags