From d1077f05479ac537a908f5bb3c33e89ac6429392 Mon Sep 17 00:00:00 2001 From: Josevi Date: Tue, 18 Aug 2026 11:08:54 +0200 Subject: [PATCH] =?UTF-8?q?Arregla=20bug=20de=20trap=20RETURN=20en=20pkgsy?= =?UTF-8?q?nc.sh=20y=20quita=20menci=C3=B3n=20stale=20a=20DavMail?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit trap RETURN persiste entre retornos de función en bash, no solo el de la función que lo puso: al volver de compute_diff/cmd_push/cmd_audit hacia arriba en la pila, volvía a dispararse sobre un $work ya fuera de scope ('work: variable sin asignar' bajo set -u). Cambiado a rm -rf explícito en cada punto de salida. DavMail se desinstaló del sistema; ya no debía aparecer en la lista de apps. --- README.md | 2 +- pkgsync/pkgsync.sh | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d231b90..24d9129 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ privado), nombre y email de git. Después, sin más intervención: Comunes (`shared/packages-common.sh`): zsh+starship+CLI moderno, git+base-devel, Podman, nodejs/python/rustup, Bitwarden, DBeaver, Obsidian, GIMP, Syncthing, -Remmina+FreeRDP, Apostrophe, guvcview, KVIrc, Zen Browser, VSCode, DavMail, +Remmina+FreeRDP, Apostrophe, guvcview, KVIrc, Zen Browser, VSCode, Betterbird, OnlyOffice, Spotify, ungoogled-chromium, Karere, HelpWire (vía `.deb`→`debtap`). GNOME añade gnome-calculator/tweaks; KDE añade kcalc/ark/spectacle/kdeconnect/kinfocenter. diff --git a/pkgsync/pkgsync.sh b/pkgsync/pkgsync.sh index 8e84000..18509c6 100644 --- a/pkgsync/pkgsync.sh +++ b/pkgsync/pkgsync.sh @@ -183,7 +183,6 @@ write_group_file() { compute_diff() { local work work="$(mktemp -d)" - trap 'rm -rf "$work"' RETURN { declared_array PACMAN_COMMON; declared_array AUR_COMMON; printf '%s\n' "${CRITICAL_PACKAGES[@]}"; } | sort -u >"$work/declared_arch" declared_array FLATPAK_COMMON | sort -u >"$work/declared_flatpak" @@ -195,6 +194,8 @@ compute_diff() { mapfile -t TO_REVIEW_REMOVE_ARCH < <(comm -13 "$work/declared_arch" "$work/installed_arch" | comm -23 - "$work/overrides") mapfile -t TO_INSTALL_FLATPAK < <(comm -23 "$work/declared_flatpak" "$work/installed_flatpak" | comm -23 - "$work/overrides") mapfile -t TO_REVIEW_REMOVE_FLATPAK < <(comm -13 "$work/declared_flatpak" "$work/installed_flatpak" | comm -23 - "$work/overrides") + + rm -rf "$work" } print_list() { @@ -283,7 +284,6 @@ cmd_push() { local work work="$(mktemp -d)" - trap 'rm -rf "$work"' RETURN installed_pacman_native | sort -u >"$work/inst_native" installed_pacman_foreign | sort -u >"$work/inst_foreign" @@ -314,6 +314,7 @@ cmd_push() { patch_array_file "$pc" AUR_COMMON "$remove_aur" "$add_aur" patch_array_file "$pc" FLATPAK_COMMON "$remove_flatpak" "$add_flatpak" + rm -rf "$work" write_group_file cd "$REPO_DIR" || return 0 @@ -409,7 +410,6 @@ cmd_incoming() { cmd_audit() { local work work="$(mktemp -d)" - trap 'rm -rf "$work"' RETURN { declared_array PACMAN_COMMON; declared_array AUR_COMMON; printf '%s\n' "${CRITICAL_PACKAGES[@]}"; overrides_packages; } | sort -u >"$work/declared_arch" { declared_array FLATPAK_COMMON; overrides_packages; } | sort -u >"$work/declared_flatpak" @@ -430,6 +430,8 @@ cmd_audit() { echo "(nota: los paquetes específicos de KDE/GNOME hardcodeados en /setup.sh" echo " -- plasma-desktop, sddm, temas AUR, etc. -- siempre van a salir aquí: no" echo " viven en los arrays de packages-common.sh por diseño, no es drift real)" + + rm -rf "$work" } usage() {