2011-01-24 15 views
5

En mi archivo de especificaciones para el envasado de un régimen de revoluciones pitón, quiero eliminar ciertos tipos de archivos en ciertos directorios:excluir tipos de archivos al empaquetar un rpm

por ejemplo, que quiero excluir fuente * archivos .py en estos directorios:

lib/*.py 

comm/*.py 

Creo que debería hacer esto en la sección% de archivos de mi especificación. ¿Alguna sugerencia?

Respuesta

5

En un momento en el pasado lejano, lo hizo simplemente al no incluir los archivos que no quería en la sección %file, por lo que no se empaquetarían. Eso podría haber resultado demasiado propenso a errores, por lo que algunas implementaciones de RPM comenzaron a quejarse sobre archivos no empaquetados. Dado que el desarrollo de RPM siempre ha sido un tanto fragmentado y poco documentado, no tengo claro cuál es la solución canónica, pero propongo que la forma más segura es simplemente eliminar los archivos al final de la rutina de instalación. Ese enfoque también se transportará fácilmente a otros sistemas de empaque como dpkg.

19

Es necesario utilizar% excluir macro, es decir

%files 
%exclude /lib/*.py 
%exclude /comm/*.py 
3

O simplemente eliminarlos de buildroot:

%install 
... 
find %{buildroot} -name ".py" -delete 
Cuestiones relacionadas