From 73a69f79c9f95faec7a2b31e954dbbcbf5005a64 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 22 Apr 2025 11:54:28 +0200 Subject: [PATCH 1/4] Preserve config files --- debian/oggui.postinst | 24 ++++++++++++++++++++++++ debian/oggui.preinst | 19 ++++++++++++++++++- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/debian/oggui.postinst b/debian/oggui.postinst index 9b7c828..d65ff6a 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" + backup_file_if_exists "/opt/opengnsys/oggui/etc/nginx/sites-available/oggui.conf" + backup_file_if_exists "$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 From 5dc167785189d93685ca8dbeb2c5eec5c9fba5c2 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 22 Apr 2025 12:13:42 +0200 Subject: [PATCH 2/4] Fix typo --- debian/oggui.postinst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/oggui.postinst b/debian/oggui.postinst index d65ff6a..83fa6aa 100644 --- a/debian/oggui.postinst +++ b/debian/oggui.postinst @@ -50,8 +50,8 @@ elif [ "$1" = "configure" ] && [ -n "$2" ]; then 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" - backup_file_if_exists "/opt/opengnsys/oggui/etc/nginx/sites-available/oggui.conf" - backup_file_if_exists "$CONFIG_FILE" + restore_config_if_modified "/opt/opengnsys/oggui/etc/nginx/oggui.conf" + restore_config_if_modified "$CONFIG_FILE" fi From 253af06ad5c6f235c1b749e750a011a695afb42d Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 29 Apr 2025 15:53:05 +0200 Subject: [PATCH 3/4] Updtes control description --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 8d54916..6c5acb7 100644 --- a/debian/control +++ b/debian/control @@ -10,4 +10,4 @@ Architecture: any Maintainer: Nicolas Arenas Depends: ${shlibs:Depends}, ${misc:Depends}, nginx Description: OpenGnsys GUI - Una interfaz gráfica para OpenGnsys. + Opengnsys Graphical Intercface From 1fbec200ab3a917539fa41e5d0556386f9fcfa87 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 29 Apr 2025 15:57:49 +0200 Subject: [PATCH 4/4] Updates control --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 6c5acb7..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 +Description: OpenGnsys GUI created for the Opengnsys Team Opengnsys Graphical Intercface