diff --git a/debian/control b/debian/control index 8d54916..271a265 100644 --- a/debian/control +++ b/debian/control @@ -9,5 +9,5 @@ Package: oggui Architecture: any Maintainer: Nicolas Arenas Depends: ${shlibs:Depends}, ${misc:Depends}, nginx -Description: OpenGnsys GUI - Una interfaz gráfica para OpenGnsys. +Description: OpenGnsys GUI created for the Opengnsys Team + Opengnsys Graphical Intercface diff --git a/debian/oggui.postinst b/debian/oggui.postinst index 9b7c828..83fa6aa 100644 --- a/debian/oggui.postinst +++ b/debian/oggui.postinst @@ -13,6 +13,25 @@ OGMERCURE_URL="$RET" USER="opengnsys" CONFIG_FILE="/opt/opengnsys/oggui/browser/assets/config.json" +restore_config_if_modified() { + local new="$1" + local backup="$1.bak" + + if [ -f "$backup" ]; then + if ! cmp -s "$new" "$backup"; then + echo ">>> Archivo modificado por el usuario detectado en $new" + echo " - Guardando archivo nuevo como ${new}.new" + mv -f "$new" "${new}.new" + echo " - Restaurando archivo anterior desde backup" + mv -f "$backup" "$new" + else + echo ">>> El archivo $new no ha cambiado desde la última versión, eliminando backup" + rm -f "$backup" + fi + fi +} + + # Detectar si es una instalación nueva o una actualización if [ "$1" = "configure" ] && [ -z "$2" ]; then if [ ! -f "$CONFIG_FILE" ]; then @@ -29,6 +48,11 @@ if [ "$1" = "configure" ] && [ -z "$2" ]; then elif [ "$1" = "configure" ] && [ -n "$2" ]; then cd /opt/opengnsys/oggui echo "Actualización desde la versión $2" + # Si upgrade recupero los archivos de configuracion + echo ">>> Backup de archivos de configuración reales en /opt/opengnsys" + restore_config_if_modified "/opt/opengnsys/oggui/etc/nginx/oggui.conf" + restore_config_if_modified "$CONFIG_FILE" + fi # Cambiar la propiedad de los archivos al usuario especificado diff --git a/debian/oggui.preinst b/debian/oggui.preinst index dc60472..1ee5158 100644 --- a/debian/oggui.preinst +++ b/debian/oggui.preinst @@ -2,6 +2,16 @@ set -e +backup_file_if_exists() { + local original="$1" + local backup="$1.bak" + + if [ -e "$original" ]; then + echo " - Guardando backup de $original en $backup" + cp -a "$original" "$backup" + fi +} +CONFIG_FILE="/opt/opengnsys/oggui/browser/assets/config.json" # Asegurarse de que el usuario exista USER="opengnsys" HOME_DIR="/opt/opengnsys" @@ -12,4 +22,11 @@ else useradd -m -d "$HOME_DIR" -s /bin/bash "$USER" fi -exit 0 \ No newline at end of file +# Si upgrade hago backup del archivo de configuración +if [ "$1" = "upgrade" ]; then + echo ">>> Backup de archivos de configuración reales en /opt/opengnsys" + backup_file_if_exists "/opt/opengnsys/oggui/etc/nginx/sites-available/oggui.conf" + backup_file_if_exists "$CONFIG_FILE" +fi + +exit 0