postinst: migrate/update APT auth config

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

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

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
Fabian Grünbichler 2022-09-14 10:05:54 +02:00 committed by Thomas Lamprecht
parent f31d010c80
commit bf09acfe7f

36
debian/postinst vendored
View File

@ -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)