Bueno, de hecho es un poco no estándar y por lo tanto no es compatible directamente. Sin embargo, puede hacer python setup.py bdist_rpm --spec-only
y esto va a generar un archivo de especificaciones dentro de dist/project.spec llamada, comenzando de esta manera:
%define name [name of your pkg as defined in setup.py]
%define version [version of your pkg]
%define unmangled_version [version of your pkg]
%define release 1
Summary: PyQt4 application to download trailers from www.apple.com/trailers
Name: %{name} # THIS IS WHAT YOU WANT TO CHANGE
Version: %{version}
Release: %{release}
Source0: %{name}-%{unmangled_version}.tar.gz
Para construir con éxito rpm desde aquí se necesita:
- cambiar el nombre de la especificación Archivo para [newname] .spec
- cambiar cada ocurrencia de% {name} con [newname]
- rpmbuild -ba [newname.spec] (después de la colocación de archivos en directorios donde se rpmbuild encontrarlos)
Estoy seguro de que podría automatizar esto de alguna manera, si realmente quería a
tu respuesta es un poco incompleta. "después de colocar los archivos en directorios donde rpmbuild los encontrará" no explica cómo y dónde ejecutar el comando rpmbuild para finalizar el proceso. –
Sería útil tener en cuenta que cambia 'Nombre:' en lugar de '% definir nombre' porque la definición también se puede usar en el nombre del paquete fuente, y el paquete fuente (probablemente) tendrá el" regular "nombre en el nombre del archivo, no el valor anulado (como se demuestra en el ejemplo incluido). Por eso, en realidad, no cambia cada ocurrencia, solo cambia la instancia de un 'Nombre:'. – dannysauer