¿Cómo crear un paquete .deb reubicable con scripts de mantenimiento?

¿Cómo crear un paquete .deb reubicable con scripts de mantenimiento?

Tengo un paquete Debian con un script postinst que crea enlaces simbólicos. Cuando intento instalar el .debpaquete --root(ya que quiero cambiar la ubicación donde se debe instalar el paquete), aparece este error:

dpkg (subprocess): unable to execute installed post-installation script: No such file or directory
subprocess installed post-installation script returned error exit status 2

dpkgestá intentando encontrar el script postinst en /var/lib/dpkg/info. Lo que no puedo entender es que, según la dpkgpágina de manual, el uso de --rootla opción también cambia admindira. newdir/var/lib/dpkgEntonces, ¿por qué intenta encontrar el script postinst en /var/lib/dpkg/info/?

Intenté crear otro paquete que no contiene este script de mantenimiento y lo instalé usando la misma -i --root=newdiropción y no arroja ningún error.

Por favor, déjame saber cómo puedo hacer que esto funcione.

Respuesta1

dpkgEncontré el script postinst /your/root/var/lib/dpkg/infoe intenté ejecutarlo. Parece que el problema es uncargador faltante: dpkgencuentra el script postinst pero luego aparece el error "No existe tal archivo o directorio" cuando intenta ejecutarlo porque el programa intérprete del script no está presente (por ejemplo, es un script Python y python-minimalno está instalado). Con un instdir alternativo, el intérprete debe estar presente en el instdir (dpkg hace chroots al instdir antes de ejecutar los scripts del paquete).

Si el intérprete no lo proporciona un paquete etiquetado Essential, asegúrese de que su paquete dependa del paquete que proporciona el intérprete.

información relacionada