Este es un lugar donde siempre me ha faltado la documentación. Prácticamente solo aprendí cómo funciona esto mirando cómo se hace en otros paquetes. Como con la mayoría de las cosas en el empaquetado de Debian, hay algunas formas de hacerlo. Creo que la forma más sencilla es usar debian/package.install
archivos. Aquí hay un ejemplo de un paquete en el que he trabajado, imaginación (bzr branch) .
Primero, necesitamos crear el paquete debian/control
. Hay tres estrofas ahora. Uno para el paquete fuente y uno para cada paquete binario. Tenga en cuenta que el paquete de datos foo debe ser Architecture: all
. También tenga en cuenta que la imaginación depende de imagination-common (= ${source:Version})
.
A continuación, creamos un debian/imagination.install
archivo. Contiene los archivos o rutas específicas que queremos terminar en el paquete de imaginación. Para este paquete, queremos todos los archivos dependientes de la arquitectura. El archivo de escritorio se incluye como debe decir con el binario que llama en su Exec:
línea.
usr/bin/
usr/lib/
/usr/share/applications/imagination.desktop
Necesitamos crear un debian/imagination-common.install
archivo. Esto contendrá todos los archivos independientes de la arquitectura, imágenes, traducciones, documentos y similares.
/usr/share/doc/
/usr/share/icons/
/usr/share/imagination/
/usr/share/locale/
man dh_install
describe lo que realmente está sucediendo aquí:
tal vez tenga un paquete grande que construya múltiples paquetes binarios. Puede usar el Makefile ascendente para instalarlo todo en debian / tmp, y luego usar dh_install para copiar directorios y archivos desde allí en los directorios de compilación de paquetes adecuados.
Lo que quiere decir con "el paquete de directorios de construcción adecuados" es que al final del proceso de construcción, todo lo que será en el resultante foo.deb
se encuentra en src/debian/foo
. Los archivos que terminarán en foo-data.deb
se encontrarán en src/debian/foo-data
. Como debian/rules
es esencialmente un Makefile, puede comenzar a imaginar otras formas de obtener el mismo resultado.