Script Debian preinst

0

Estou criando um pacote de ícones chamado smoothX * e está em fase de desenvolvimento, e o mesmo foi mantido no PPA do Ubuntu, toda vez que eu atualizo ou excluo alguns deles, eu quero que o mesmo seja refletido no PPA .deb, para isso, adicionei um script preinst à pasta debian com o seguinte.

#!/bin/sh
set -e
#remove old installation files
if which smoothX* >/dev/null 2>&1 ; then
    rm -Rf /usr/share/icons/smoothX*
fi

mas nada acontece, exceto que é instalado por cima (os antigos arquivos alterados ou excluídos ainda estão lá).

Como excluir os arquivos antigos instalados completamente com o script preinst e faça isso para instalar o conteúdo do novo arquivo deb e configurá-lo. Sua ajuda será muito apreciada, obrigado.

Bem, eu consegui fazer, o que eu precisava exatamente desde que eu já fiz o upload para o PPA e mantive o pacote. com este script "preinst",

#!/bin/sh
set -e
# remove old and obsolete files
rm -R -f /usr/share/icons/smoothX*
exit 0

também sei que não é o jeito certo de fazer isso, pois sou um noob no bash scripting eu gostaria de saber como fazer o caminho certo, quando eu pesquisei, eu consegui:

if dpkg-maintscript-helper supports rm_conffile 2>/dev/null; then
    dpkg-maintscript-helper rm_conffile /etc/foo/conf.d/bar 1.2-1 -- "$@"
fi                                                                

que não consegui entender, como usar dpkg-maintscript . Obrigado e espero que alguém possa me guiar.

    
por Babu Philip 01.10.2014 / 14:32

1 resposta

0

Se você estiver tentando remover arquivos no preinst, na verdade, você deve reprojetar todo o seu instalador para substituir e remover apenas os arquivos que foram removidos. Por padrão, apt-get e dpkg irão sobrescrever quaisquer arquivos que tenham um nome de arquivo correspondente e sobrescrevam. Se você ainda está lidando com arquivos antigos no sistema de destino, então o pacote é estranho.

Em última análise, se você está sempre mudando os arquivos continuamente como parte do desenvolvimento e há muitos bits restantes, você provavelmente NÃO deveria estar usando um PPA para ele, e apenas continue construindo a partir da fonte até ter uma versão estável. / p>     
por Thomas Ward 01.10.2014 / 18:30