¿Cómo puedo crear un script Debian postinst y postrm adecuado?

¿Cómo puedo crear un script Debian postinst y postrm adecuado?

Intenté crear estos scripts, la instalación va bien, sin embargo, una vez que se modifica la versión de la aplicación y digo que intento actualizar a apx v2.0, nada sale bien.

Este es mi script postinst.

#!/bin/sh

set -e 
chmod 755 /usr/bin/apx
chmod 755 /usr/lib/apx/apx.py
chmod -R 755 /usr/lib/apx/data/binaries

exit 0

este es mi script postrm

#!/bin/sh

set -e

U_HOME=$(getent passwd $SUDO_USER | cut -d: -f6)
LOG="/var/log/apx"
UHOME="$U_HOME/.apx"

if [ -d $LOG ]; then
     rm -rf $LOG
fi

if [ -d $UHOME ]; then
     rm -rf $UHOME
fi

rm -rf /usr/lib/apx

exit 0

Respuesta1

Deberías eliminarlos.

Solo postinstestablece permisos de archivos; Se supone que estos deben configurarse en el contenido empaquetado, no en un script posterior a la instalación.

Elimina postrmarchivos de registro y archivos dentro del directorio de inicio del usuario que realiza la desinstalación (suponiendo que se desinstale mediante sudo); Ambos son definitivamente prohibidos, los directorios de inicio están fuera del alcance de los scripts de mantenimiento y los registros deben dejarse al eliminarlos (y purgarlos). Su secuencia de comandos también elimina /usr/lib/apxlo cual es otro no-no: dpkgse supone que debe manejar eso.

Ifuertementete recomiendo leer elGuía para nuevos mantenedores de Debian.

información relacionada