[pmg-devel] [PATCH v2 pmg-api] postinst: migrate/update APT auth config

Fabian Grünbichler f.gruenbichler at proxmox.com
Wed Sep 14 10:05:39 CEST 2022


missed when switching over to Proxmox::RS::Subscription, which stores
the same info in the product-specific /etc/apt/auth.conf.d/pmg.conf .

the top-level file might contain non-PMG-managed entries, so only remove
entries matching "our" machine/

Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
---

Notes:
    v2: read -r

 debian/postinst | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/debian/postinst b/debian/postinst
index fdcecbf..8ea7158 100644
--- a/debian/postinst
+++ b/debian/postinst
@@ -19,6 +19,36 @@ ucf_register_templates() {
     done
 }
 
+migrate_apt_auth_conf() {
+    output=""
+    removed=""
+    match=0
+
+    while read -r l; do
+	if echo "$l" | grep -q "^machine enterprise.proxmox.com/debian/pmg"; then
+	    match=1
+	elif echo "$l" | grep -q "machine"; then
+	    match=0
+	fi
+
+	if test "$match" = "1"; then
+	    removed="$removed\n$l"
+	else
+	    output="$output\n$l"
+	fi
+    done < /etc/apt/auth.conf
+
+    if test -n "$removed"; then
+	if test ! -e /etc/apt/auth.conf.d/pmg.conf; then
+	    echo "Migrating APT auth config for enterprise.proxmox.com to /etc/apt/auth.conf.d/pmg.conf .."
+	    echo "$removed" > /etc/apt/auth.conf.d/pmg.conf
+	else
+	    echo "Removing stale APT auth config from /etc/apt/auth.conf"
+	fi
+	echo "$output" > /etc/apt/auth.conf
+    fi
+}
+
 case "$1" in
     triggered)
 
@@ -81,6 +111,12 @@ case "$1" in
 	    # rewrite banner
 	    pmgbanner || true
 	fi
+
+	if test ! -e /proxmox_install_mode && test -n "$2" && dpkg --compare-versions "$2" 'lt' '7.1-7~'; then
+	    if test -e /etc/apt/auth.conf ; then
+		migrate_apt_auth_conf
+	    fi
+	fi
     ;;
 
     abort-upgrade)
-- 
2.30.2





More information about the pmg-devel mailing list