Domanda

Sono un principiante. Sto creando un pacchetto rpm per la mia app e ho deciso di usare distutils per realizzarlo. Sono riuscito a creare un sostituto di% post utilizzando i consigli di questo sito Web, di cui sono davvero grato, ma ho problemi con% postun. Lasciami descrivere quello che ho fatto. In setup.py eseguo il comando che crea un collegamento simbolico necessario per eseguire l'applicazione. Funziona bene, ma il problema è quando voglio rimuovere rpm, il link rimane lì. Quindi ho pensato che avrei dovuto usare% postun nel file delle specifiche. La mia domanda è: c'è un modo per farlo in setup.py o devo modificare manualmente il file delle specifiche? Si prega di avvisare o indicarmi alcuni manuali o altro. Grazie

È stato utile?

Soluzione

Sì, è possibile specificare uno script post installazione, tutto ciò che serve è dichiarare in bdist_rpm tra le opzioni arg il file che si desidera utilizzare:

setup(
...
options = {'bdist_rpm':{'post_install' : 'post_install',
                        'post_uninstall' : 'post_uninstall'}},
...)

Nel file post_uninstall, inserisci il codice che ti serve per rimuovere il link, in qualche modo come:

rm -f /var/lib/mylink

Altri suggerimenti

Né distutils né setuptools hanno funzionalità di disinstallazione.

Ad un certo punto, la community di Python ha concordato che la disinstallazione dovrebbe essere gestita dal sistema di packaging. In questo caso vuoi usare rpm, quindi probabilmente c'è un modo all'interno del sistema rpm per rimuovere i pacchetti, ma non lo troverai in distutils o setuptools.

@ pycon2009, c'è stata una presentazione su distutils e setuptools. Puoi trovare tutti i video qui

Distribuzione di uova e buildout in Python - Parte 1

Distribuzione di uova e buildout in Python - Parte 2

Distribuzione di uova e buildout in Python - Parte 3

Esiste un video chiamato Come compilare le applicazioni che Linux distribuirà nel pacchetto . Non l'ho visto, ma sembra appropriato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top