From 53bff5a45197cf2339eff1b577a09ec25a0242a0 Mon Sep 17 00:00:00 2001 From: jmbardallo Date: Fri, 24 Apr 2026 13:31:34 +0200 Subject: [PATCH] =?UTF-8?q?Modificacion=20en=20post=20instalacion=20para?= =?UTF-8?q?=20a=C3=B1adir=20a=20config.json=20nuevas=20variables=20que=20p?= =?UTF-8?q?uedan=20haberse=20definido?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ debian/oggui.postinst | 18 +++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce0f443..a489d17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [1.5.4] - 2026-04-24 +### Improved +- Modificado script de post instalación debian para añadir a config.json las nuevas variables. + ## [1.5.3] - 2026-04-24 ### Improved - Corregidas traducciones diff --git a/debian/oggui.postinst b/debian/oggui.postinst index 996fe05..5ec619a 100644 --- a/debian/oggui.postinst +++ b/debian/oggui.postinst @@ -22,11 +22,19 @@ restore_config_if_modified() { 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" + if [ "$new" = "$CONFIG_FILE" ]; then + echo ">>> Fusionando configuración de usuario en $new" + # El operador '*' realiza un merge recursivo: + # Preserva los valores del usuario (.[1]) y añade solo las claves nuevas del paquete (.[0]) + jq -s '.[0] * .[1]' "$new" "$backup" > "${new}.tmp" && mv "${new}.tmp" "$new" + rm -f "$backup" + else + 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" + fi else echo ">>> El archivo $new no ha cambiado desde la última versión, eliminando backup" rm -f "$backup"