distutils setup.py e %pós %postun
-
05-07-2019 - |
Pergunta
Eu sou novato. Estou comprando o pacote RPM para meu próprio aplicativo e decidi usar os distutils para alcançá -lo. Consegui criar algum substituto de %post usando conselhos deste site, pelo qual realmente sou grato, mas estou tendo problemas com %postun. Deixe -me descrever o que fiz. No comando setup.py, eu execute o comando que cria um link simbólico necessário para executar o aplicativo. Funciona bem, mas o problema é quando eu quero remover o RPM, o link permanece lá. Então, achei que deveria usar %postun no arquivo de especificações. Minha pergunta é: existe uma maneira de fazer isso em setup.py ou tenho que editar manualmente o arquivo de especificações? Aconselhe -me ou me indique alguns manuais ou qualquer coisa. obrigada
Solução
Sim, você pode especificar um script de instalação de postagem, tudo o que você precisa é declarar no bdist_rpm nas opções arg o arquivo que você deseja usar:
setup(
...
options = {'bdist_rpm':{'post_install' : 'post_install',
'post_uninstall' : 'post_uninstall'}},
...)
No arquivo post_uninstall, coloque o código que você precisa para remover o link, algo como:
rm -f /var/lib/mylink
Outras dicas
Nem os distutils nem o setupTools têm funcionalidade de desinstalação.
Em algum momento, a comunidade Python concordou que a desinstalação deveria ser tratada pelo sistema de embalagens. Nesse caso, você deseja usar o RPM, portanto, provavelmente existe uma maneira dentro do sistema RPM para remover os pacotes, mas você não encontrará isso em distutils ou setupTools.
@ Pycon2009, houve uma apresentação em distutils e setuptupols. Você pode encontrar todos os vídeos aqui
Ovos e implantação de construção em Python - Parte 1
Ovos e implantação de construção em Python - Parte 2
Ovos e implantação de construção em Python - Parte 3
Há um vídeo chamado Como criar aplicativos Distribuições Linux. Eu não vi isso, mas parece ser apropriado.