diff --git a/debian/postinst b/debian/postinst index 7be1aa3d..5ea79a6d 100755 --- a/debian/postinst +++ b/debian/postinst @@ -62,6 +62,36 @@ EOF fi } +migrate_apt_auth_conf() { + output="" + removed="" + match=0 + + while read -r l; do + if echo "$l" | grep -q "^machine enterprise.proxmox.com/debian/pve"; 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/pve.conf; then + echo "Migrating APT auth config for enterprise.proxmox.com to /etc/apt/auth.conf.d/pve.conf .." + echo "$removed" > /etc/apt/auth.conf.d/pve.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) # We don't print a status message here, as dpkg already said @@ -190,6 +220,12 @@ case "$1" in fi done fi + + if test ! -e /proxmox_install_mode && test -n "$2" && dpkg --compare-versions "$2" 'lt' '7.2.11~'; then + if test -e /etc/apt/auth.conf ; then + migrate_apt_auth_conf + fi + fi ;; abort-upgrade|abort-remove|abort-deconfigure)