Como fazer o pacote .deb relocável com scripts do mantenedor?

1

Eu tenho um pacote Debian com script postinst que cria links simbólicos. Quando tento instalar o pacote .deb com --root (já que quero alterar o local onde o pacote deve ser instalado), recebo este erro:

dpkg (subprocess): unable to execute installed post-installation script: No such file or directory
subprocess installed post-installation script returned error exit status 2

dpkg está tentando encontrar o script postinst em /var/lib/dpkg/info . O que não consigo entender é que, de acordo com a página dpkg man, usar a opção --root altera também o admindir para newdir/var/lib/dpkg . Então, por que está tentando encontrar o script postinst em /var/lib/dpkg/info/ ?

Eu tentei criar outro pacote que não contenha este script de mantenedor e o instalei usando a mesma opção -i --root=newdir e isso não causa nenhum erro.

Por favor, deixe-me saber como posso fazer isso funcionar.

    
por Suits 25.09.2016 / 10:46

1 resposta

0

dpkg encontrou o script postinst em /your/root/var/lib/dpkg/info - ele tentou executá-lo. Parece que o problema é um loader em falta : dpkg encontra o script postinst mas depois recebe um erro" Não existe arquivo ou diretório "quando tenta executá-lo porque o programa do interpretador para o script não está presente (por exemplo, é um script Python e python-minimal não está instalado). Com um instdir alternativo, o interpretador deve estar presente sob o instdir (chroots do dpkg para o instdir antes de executar scripts de pacote).

Se o interpretador não for fornecido por um pacote com a tag Essential , verifique se o pacote depende do pacote que fornece o interpretador.

    
por 26.09.2016 / 02:00

Tags