Pregunta

Soy novato. Estoy desarrollando el paquete rpm para mi propia aplicación y decidí usar distutils para lograrlo. Logré crear un sustituto de% post siguiendo los consejos de este sitio web, por lo que estoy muy agradecido, pero tengo problemas con% postun. Déjame describir lo que he hecho. En setup.py ejecuto un comando que crea un enlace simbólico que es necesario para ejecutar la aplicación. Funciona bien, pero el problema es cuando quiero eliminar rpm, el enlace permanece allí. Así que pensé que debería usar% postun en el archivo de especificaciones. Mi pregunta es: ¿hay alguna forma de hacerlo en setup.py o tengo que editar manualmente el archivo de especificaciones? Por favor avise o señáleme algunos manuales o cualquier cosa. Gracias

¿Fue útil?

Solución

Sí, puede especificar una secuencia de comandos posterior a la instalación, todo lo que necesita es declarar en el archivo bdist_rpm en las opciones arg el archivo que desea usar:

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

En el archivo post_uninstall, coloque el código que necesita para eliminar el enlace, a veces piensa como:

rm -f /var/lib/mylink

Otros consejos

Ni los nombres ni las herramientas de configuración tienen funcionalidad de desinstalación.

En algún momento, la comunidad de Python acordó que la desinstalación debería ser manejada por el sistema de empaque. En este caso, usted quiere usar rpm, por lo que probablemente haya una forma dentro del sistema rpm para eliminar paquetes, pero no encontrará eso en distutils o setuptools.

@ pycon2009, hubo una presentación sobre herramientas y herramientas de configuración. Puedes encontrar todos los videos aquí

Despliegue de Huevos y Buildout en Python - Parte 1

Despliegue de Huevos y Buildout en Python - Parte 2

Despliegue de Huevos y Buildout en Python - Parte 3

Hay un video llamado Cómo crear aplicaciones que se distribuirán las distribuciones de Linux . No lo he visto, pero parece apropiado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top