Paquete Debian con archivos opcionales

Paquete Debian con archivos opcionales

Los scripts para crear el paquete Debian existen y funcionan. Tengo que modificarlos. En un nuevo caso específico, puede haber algunos archivos opcionales que desee incluir en el paquete.

Si los agrego a package.install, fallo porque solo esos archivos no existen. Si no los agrego a package.install, nunca se incluirán en el paquete, incluso si existen.

Para determinar un caso específico tengo una variable de entorno especial:SPECIFIC_CASE=CASE

¿Cómo debo configurar los scripts de creación de paquetes Debian para buscar esos archivos en caso de un caso específico?

En el archivo rules(que está diseñado como Makefile) tengo objetivos:

copy_files:
override_dh_install:
override_dh_auto_install: (empty)
...list of other overrides...
install:
postbuild:
clean:

Respuesta1

Con la mayoría de las herramientas de empaquetado en Debian, el contenido de un paquete packagetermina siendo lo que hay debian/packagecuando dpkg-debse ejecuta. Puede colocar archivos allí de la forma que desee, sin necesidad de depender de ella dh_install(que es la herramienta que procesa .installlos archivos).

De este modo:

override_dh_install:
        dh_install
        install blah debian/package/wherever

etcétera. Aquí es donde agregarías tu manejo de archivos condicional.

Sin embargoEs importante darse cuenta de que una especificación de empaquetado (y esto no es específico de Debian) debe ser consistente:es decirEn una arquitectura determinada, la creación de un paquete siempre debería dar como resultado el mismo contenido del paquete. Empaquetar contenido opcional generalmente implica construir el proyecto para que se generen todos los archivos y luego distribuirlos en diferentes paquetes, no todos los cuales necesitan ser instalados. (Estepoderimplica hacer grandes esfuerzos,p.ejla compilación GCC que tiene algunos trucos para que el controlador del compilador conozca todos los idiomas disponibles, pero no es necesario instalarlos todos).

información relacionada