Bug#930234: unblock: unattended-upgrades/1.11.2
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Dear Release Team,
Per your request in #928108 I have uploaded the fixes for making sure
that autopkgtest results are usable for the whole lifetime of each
release.
Please consider accepting the update to testing.
Changes:
unattended-upgrades (1.11.2) unstable; urgency=medium
.
* Test upgrades to -updates and to -proposed in
upgrade-all-security autopkgtest.
Also enable -updates, too, while testing in Debian.
* Skip upgrade-all-security test when there are no updates to test with.
Shortly after a release there may not be security updates against the
packages used in the chroot used for the test.
* Test with latest stable in upgrade-all-security on testing
* Fix testing Debian's updates in upgrade-all-security
Thanks,
Balint
diff -Nru unattended-upgrades-1.11.1/debian/changelog unattended-upgrades-1.11.2/debian/changelog
--- unattended-upgrades-1.11.1/debian/changelog 2019-05-21 09:37:03.000000000 +0200
+++ unattended-upgrades-1.11.2/debian/changelog 2019-06-08 16:59:45.000000000 +0200
@@ -1,3 +1,15 @@
+unattended-upgrades (1.11.2) unstable; urgency=medium
+
+ * Test upgrades to -updates and to -proposed in upgrade-all-security autopkgtest.
+ Also enable -updates, too, while testing in Debian.
+ * Skip upgrade-all-security test when there are no updates to test with.
+ Shortly after a release there may not be security updates against the
+ packages used in the chroot used for the test.
+ * Test with latest stable in upgrade-all-security on testing
+ * Fix testing Debian's updates in upgrade-all-security
+
+ -- Balint Reczey <rbalint@ubuntu.com> Sat, 08 Jun 2019 16:59:45 +0200
+
unattended-upgrades (1.11.1) unstable; urgency=medium
* Skip sending email when no package had to be installed, upgraded or removed
diff -Nru unattended-upgrades-1.11.1/debian/tests/common-functions unattended-upgrades-1.11.2/debian/tests/common-functions
--- unattended-upgrades-1.11.1/debian/tests/common-functions 2019-05-21 09:37:03.000000000 +0200
+++ unattended-upgrades-1.11.2/debian/tests/common-functions 2019-06-08 16:59:45.000000000 +0200
@@ -44,44 +44,42 @@
trap "umount \"$chroot_dir/proc\"; umount \"$chroot_dir/dev/pts\"; rm -rf \"$chroot_dir\"" EXIT
}
-enable_security_updates() {
- local chroot_dir distro
+# pocket can be "proposed", "updates" or "security", not the actual distro-specific pocket name
+enable_pocket() {
+ local chroot_dir pocket distro mirror_dir_postfix real_pocket
chroot_dir="$1"
- distro="$2"
-
+ pocket="$2"
+ distro=$(awk '{ print $3; exit}' "$chroot_dir/etc/apt/sources.list")
case "$(dpkg-vendor --query Vendor)" in
"Ubuntu")
- sed "s/$distro/$distro-security/" < "$chroot_dir/etc/apt/sources.list" \
- > "$chroot_dir/etc/apt/sources.list.d/security.list"
+ sed "s/$distro/$distro-$pocket/" < "$chroot_dir/etc/apt/sources.list" \
+ > "$chroot_dir/etc/apt/sources.list.d/$pocket.list"
;;
"Debian")
- echo "deb http://security.debian.org/ $distro/updates main" \
- > "$chroot_dir/etc/apt/sources.list.d/security.list"
+ case "$pocket" in
+ proposed)
+ pocket_dir="${distro}-proposed-updates"
+ ;;
+ security)
+ pocket_dir="$distro/updates"
+ mirror_dir_postfix="-security"
+ ;;
+ *)
+ pocket_dir="${distro}-$pocket"
+ ;;
+ esac
+ sed "s|/debian |/debian$mirror_dir_postfix |;s|$distro|$pocket_dir|" < "$chroot_dir/etc/apt/sources.list" \
+ > "$chroot_dir/etc/apt/sources.list.d/$pocket.list"
;;
esac
}
-disable_security_updates() {
- local chroot_dir
- chroot_dir="$1"
-
- rm "$chroot_dir/etc/apt/sources.list.d/security.list"
-}
-
-enable_release_updates() {
- local chroot_dir distro
+# pocket can be "proposed", "updates" or "security", not the actual distro-specific pocket name
+disable_pocket() {
+ local chroot_dir pocket
chroot_dir="$1"
- distro="$2"
-
- sed "s/$distro/$distro-updates/" < "$chroot_dir/etc/apt/sources.list" \
- > "$chroot_dir/etc/apt/sources.list.d/updates.list"
-}
-
-disable_release_updates() {
- local chroot_dir
- chroot_dir="$1"
-
- rm "$chroot_dir/etc/apt/sources.list.d/updates.list"
+ pocket="$2"
+ rm "$chroot_dir/etc/apt/sources.list.d/$pocket.list"
}
upgrade_python_apt() {
@@ -93,12 +91,12 @@
# systems are running most likely. This also contains latest stability fixes
# and speed optimizations, thus speed regressions nd improvements can be
# tracked in autopkgtest runs.
- enable_security_updates "$chroot_dir" "$distro"
- enable_release_updates "$chroot_dir" "$distro"
+ enable_pocket "$chroot_dir" security
+ enable_pocket "$chroot_dir" updates
chroot_exec "$chroot_dir" apt-get update
chroot_exec "$chroot_dir" apt-get install -y python3-apt 2>&1
- disable_release_updates "$chroot_dir"
- disable_security_updates "$chroot_dir"
+ disable_pocket "$chroot_dir" updates
+ disable_pocket "$chroot_dir" security
chroot_exec "$chroot_dir" apt-get update
}
diff -Nru unattended-upgrades-1.11.1/debian/tests/control unattended-upgrades-1.11.2/debian/tests/control
--- unattended-upgrades-1.11.1/debian/tests/control 2019-05-21 09:37:03.000000000 +0200
+++ unattended-upgrades-1.11.2/debian/tests/control 2019-06-08 16:59:45.000000000 +0200
@@ -4,7 +4,7 @@
Tests: upgrade-all-security
Depends: @, @builddeps@, debootstrap, distro-info
-Restrictions: needs-root, build-needed
+Restrictions: needs-root, build-needed, skippable
Tests: upgrade-between-snapshots
Depends: @, @builddeps@, debootstrap
diff -Nru unattended-upgrades-1.11.1/debian/tests/upgrade-all-security unattended-upgrades-1.11.2/debian/tests/upgrade-all-security
--- unattended-upgrades-1.11.1/debian/tests/upgrade-all-security 2019-05-21 09:37:03.000000000 +0200
+++ unattended-upgrades-1.11.2/debian/tests/upgrade-all-security 2019-06-08 16:59:45.000000000 +0200
@@ -4,13 +4,17 @@
# On development releases the latest stable release is tested since there are no
# security updates to test with.
+# Also test if packages can be upgraded to -updates and -proposed, but failures
+# in -proposed are ignored since those can be issues in the packages.
+
set -e
chroot_dir=$AUTOPKGTEST_TMP/chroot
distro="$(lsb_release -c -s)"
# fall back to latest release on any development release
-if [ "$distro" = sid ] || lsb_release -d -s | grep -q 'development branch'; then
+if [ "$distro" = sid ] || lsb_release -d -s | grep -q 'development branch' \
+ || ( distro-info -t 2> /dev/null && [ "$(distro-info -t)" = "$distro" ] ) ; then
distro="$(distro-info -s)"
fi
@@ -49,8 +53,14 @@
chroot_exec "$chroot_dir" bash -c 'apt install -y /tmp/unattended-upgrades_*deb' 2>&1
-enable_security_updates "$chroot_dir" "$distro"
-enable_release_updates "$chroot_dir" "$distro"
+enable_pocket "$chroot_dir" security
+chroot_exec "$chroot_dir" apt-get update
+if ! chroot_exec "$chroot_dir" apt-get dist-upgrade -s | grep -q "^Ins"; then
+ echo "There are no security upgrades, skipping test..."
+ exit 77
+fi
+
+enable_pocket "$chroot_dir" updates
chroot_exec "$chroot_dir" apt-get update
# save list of manually installed packages
@@ -62,11 +72,25 @@
run_u_u "$chroot_dir"
echo "Checking if there is anything left not upgraded:"
-disable_release_updates "$chroot_dir"
+disable_pocket "$chroot_dir" updates
chroot_exec "$chroot_dir" apt-get update
chroot_exec "$chroot_dir" apt-get upgrade --with-new-pkgs -s | tee "$chroot_dir/tmp/updates-left"
-! grep "/$distro-security " "$chroot_dir/tmp/updates-left" || (echo "Security upgrades are held back! Exiting..." && exit 1)
+! grep "^Inst" "$chroot_dir/tmp/updates-left" || (echo "Security upgrades are held back! Exiting..." && exit 1)
echo "Checking if originally auto-removable packages are kept:"
chroot_exec "$chroot_dir" dpkg -l hello | grep 'ii hello'
+
+echo "Checking if package versions from -updates can be upgraded to as well.."
+enable_pocket "$chroot_dir" updates
+chroot_exec "$chroot_dir" apt-get update
+
+echo 'Unattended-Upgrade::Allowed-Origins:: "*:*";' > "$chroot_dir/etc/apt/apt.conf.d/51u-u-all-origins"
+chroot_exec "$chroot_dir" unattended-upgrade --verbose --debug
+
+echo "Checking if package versions from -proposed can be upgraded to as well."
+echo "Failing here does not make the whole test fail because the root cause can be in other packages in -proposed"
+enable_pocket "$chroot_dir" proposed
+chroot_exec "$chroot_dir" apt-get update
+
+chroot_exec "$chroot_dir" unattended-upgrade --verbose --debug || true
Reply to: