Pregunta

Tengo la siguiente estructura de Debian:

  • debian / usr / share / test
  • debian / usr / share / test / test
  • debian / usr / share / test / test / a
  • debian / usr / share / test / test / b

Después de compilar el paquete usando dpkg-deb --build e instalarlo usando dpkg -i, no parece crear la prueba de carpetas automáticamente si no existen. ¿Necesito crearlos manualmente en el script preinst?

ACTUALIZACIÓN: El problema se debía a que preinst tenía un error, por lo que desempacar no tuvo la oportunidad de suceder.

Laurent

¿Fue útil?

Solución

Mira un ejemplo mío aquí .

debian/DEBIAN 
debian/usr/bin
debian/usr/lib

Tienes un par de opciones:

  1. Rellene los directorios con los archivos antes de generar el paquete (paquete binario)
  2. Cree un paquete source donde se llamará a MAKE para compilar el paquete e instalarlo.

En el primer caso, no necesita crear los directorios a través de un script preinst : el administrador de paquetes creará la jerarquía de carpetas si es necesario cuando el paquete esté instalado.

En el segundo caso, deberá usar mkdir -p para crear la jerarquía de carpetas durante la fase install .


He pasado por 3 formas diferentes de empaquetar repositorios Debian durante el último año y créanme, los detalles a tener en cuenta son numerosos. Un alivio fue conocer a Launchpad y su proceso de publicación de PPA.

Otros consejos

Necesita aquellos en el paquete llamado tmp o el mismo que su primer paquete listado en debian / control, dependiendo de la versión del modo de compatibilidad de Debhelper que elija.

Por ejemplo. una llamada de uno de los archivos de ejemplo de debhelper :

$(MAKE) prefix=`pwd`/debian/`dh_listpackages`/usr install

Te estás perdiendo ese nivel de indirección aquí.

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