Package: release.debian.org
Severity: normal
X-Debbugs-Cc: gan...@packages.debian.org
Control: affects -1 + src:ganeti
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package ganeti

[ Reason ]
This release resolves a dpkg-divert conflict (#1108944), providing a 
clean upgrade path from bookworm to trixie.

[ Impact ]
Upgrades from bookworm to trixie are currently broken.

[ Tests ]
Ran the whole autopkgtest suite by hand, and did a manual install && 
dist-upgrade successfully.

[ Risks ]
The fix is trivial and ganeti is a leaf package.

[ Checklist ]
  [X] all changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in testing

unblock ganeti/3.1.0~rc2-3
diff -Nru ganeti-3.1.0~rc2/debian/changelog ganeti-3.1.0~rc2/debian/changelog
--- ganeti-3.1.0~rc2/debian/changelog	2025-03-15 11:37:21.000000000 +0100
+++ ganeti-3.1.0~rc2/debian/changelog	2025-07-13 18:16:51.000000000 +0200
@@ -1,3 +1,9 @@
+ganeti (3.1.0~rc2-3) unstable; urgency=medium
+
+  * Stop diverting 2.16/version.py; fixes upgrades from 3.0 (Closes: #1108944)
+
+ -- Apollon Oikonomopoulos <apoi...@debian.org>  Sun, 13 Jul 2025 18:16:51 +0200
+
 ganeti (3.1.0~rc2-2) unstable; urgency=medium
 
   * doc/rapi.rst: remove randomness; this should make Ganeti builds really
diff -Nru ganeti-3.1.0~rc2/debian/ganeti-3.1.install ganeti-3.1.0~rc2/debian/ganeti-3.1.install
--- ganeti-3.1.0~rc2/debian/ganeti-3.1.install	2025-03-05 16:18:31.000000000 +0100
+++ ganeti-3.1.0~rc2/debian/ganeti-3.1.install	2025-07-13 18:16:51.000000000 +0200
@@ -3,8 +3,3 @@
 usr/lib/ganeti/3.1/usr/sbin/ganeti-cleaner
 usr/lib/ganeti/3.1/usr/sbin/ganeti-listrunner
 debian/molly-guard-helper usr/share/ganeti/3.1/
-
-# Ship a copy of version.py in ganeti 2.16 to allow upgrades, as 2.16's
-# version.py explicitly prohibits upgrades between major versions. This is
-# accompanied by a dpkg-divert in preinst/postrm.
-usr/share/ganeti/3.1/ganeti/utils/version.py usr/share/ganeti/2.16/ganeti/utils/
diff -Nru ganeti-3.1.0~rc2/debian/ganeti-3.1.postinst ganeti-3.1.0~rc2/debian/ganeti-3.1.postinst
--- ganeti-3.1.0~rc2/debian/ganeti-3.1.postinst	2025-03-05 16:18:31.000000000 +0100
+++ ganeti-3.1.0~rc2/debian/ganeti-3.1.postinst	2025-07-13 18:16:51.000000000 +0200
@@ -4,17 +4,4 @@
 
 . /usr/share/debconf/confmodule
 
-# Restore the 2.16 version.py diversion in case it was accidentally removed
-# during upgrade. See #993559
-
-if [ -z "$(dpkg-divert --list /usr/share/ganeti/2.16/ganeti/utils/version.py)" ]; then
-	echo "Restoring diversion of /usr/share/ganeti/2.16/ganeti/utils/version.py)"
-	dpkg-divert --add --rename --package ganeti-3.1 \
-		--divert /usr/share/ganeti/2.16/ganeti/utils/version.py.orig \
-		/usr/share/ganeti/2.16/ganeti/utils/version.py
-fi
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
 #DEBHELPER#
diff -Nru ganeti-3.1.0~rc2/debian/ganeti-3.1.postrm ganeti-3.1.0~rc2/debian/ganeti-3.1.postrm
--- ganeti-3.1.0~rc2/debian/ganeti-3.1.postrm	2025-03-05 16:18:31.000000000 +0100
+++ ganeti-3.1.0~rc2/debian/ganeti-3.1.postrm	2025-07-13 18:16:51.000000000 +0200
@@ -2,12 +2,6 @@
 
 set -e
 
-if [ "$1" = "remove" ]; then
-	dpkg-divert --remove --rename --package ganeti-3.1 \
-		--divert /usr/share/ganeti/2.16/ganeti/utils/version.py.orig \
-		/usr/share/ganeti/2.16/ganeti/utils/version.py
-fi
-
 # dh_installdeb will replace this with shell code automatically
 # generated by other debhelper scripts.
 
diff -Nru ganeti-3.1.0~rc2/debian/ganeti-3.1.preinst ganeti-3.1.0~rc2/debian/ganeti-3.1.preinst
--- ganeti-3.1.0~rc2/debian/ganeti-3.1.preinst	2025-03-05 16:18:31.000000000 +0100
+++ ganeti-3.1.0~rc2/debian/ganeti-3.1.preinst	1970-01-01 01:00:00.000000000 +0100
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-set -e
-
-# Previous Ganeti versions will refuse to upgrade to 3.0 using `gnt-cluster
-# upgrade`. As gnt-cluster upgrade uses the "old" code (i.e. that of the
-# previous version), the only way to facilitate upgrades is to divert 2.16's
-# version-checking code and replace it with code that allows upgrades.
-
-if [ "$1" = "install" ]; then
-	dpkg-divert --add --rename --package ganeti-3.1 \
-		--divert /usr/share/ganeti/2.16/ganeti/utils/version.py.orig \
-		/usr/share/ganeti/2.16/ganeti/utils/version.py
-fi
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
diff -Nru ganeti-3.1.0~rc2/debian/templates/ganeti-VER.install ganeti-3.1.0~rc2/debian/templates/ganeti-VER.install
--- ganeti-3.1.0~rc2/debian/templates/ganeti-VER.install	2025-03-04 16:06:30.000000000 +0100
+++ ganeti-3.1.0~rc2/debian/templates/ganeti-VER.install	2025-07-13 18:07:29.000000000 +0200
@@ -3,8 +3,3 @@
 usr/lib/ganeti/@version@/usr/sbin/ganeti-cleaner
 usr/lib/ganeti/@version@/usr/sbin/ganeti-listrunner
 debian/molly-guard-helper usr/share/ganeti/@version@/
-
-# Ship a copy of version.py in ganeti 2.16 to allow upgrades, as 2.16's
-# version.py explicitly prohibits upgrades between major versions. This is
-# accompanied by a dpkg-divert in preinst/postrm.
-usr/share/ganeti/@version@/ganeti/utils/version.py usr/share/ganeti/2.16/ganeti/utils/
diff -Nru ganeti-3.1.0~rc2/debian/templates/ganeti-VER.postinst ganeti-3.1.0~rc2/debian/templates/ganeti-VER.postinst
--- ganeti-3.1.0~rc2/debian/templates/ganeti-VER.postinst	2025-03-04 16:06:30.000000000 +0100
+++ ganeti-3.1.0~rc2/debian/templates/ganeti-VER.postinst	1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-set -e
-
-. /usr/share/debconf/confmodule
-
-# Restore the 2.16 version.py diversion in case it was accidentally removed
-# during upgrade. See #993559
-
-if [ -z "$(dpkg-divert --list /usr/share/ganeti/2.16/ganeti/utils/version.py)" ]; then
-	echo "Restoring diversion of /usr/share/ganeti/2.16/ganeti/utils/version.py)"
-	dpkg-divert --add --rename --package ganeti-@version@ \
-		--divert /usr/share/ganeti/2.16/ganeti/utils/version.py.orig \
-		/usr/share/ganeti/2.16/ganeti/utils/version.py
-fi
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
diff -Nru ganeti-3.1.0~rc2/debian/templates/ganeti-VER.postrm ganeti-3.1.0~rc2/debian/templates/ganeti-VER.postrm
--- ganeti-3.1.0~rc2/debian/templates/ganeti-VER.postrm	2025-03-04 16:06:30.000000000 +0100
+++ ganeti-3.1.0~rc2/debian/templates/ganeti-VER.postrm	2025-07-13 18:08:31.000000000 +0200
@@ -2,12 +2,6 @@
 
 set -e
 
-if [ "$1" = "remove" ]; then
-	dpkg-divert --remove --rename --package ganeti-@version@ \
-		--divert /usr/share/ganeti/2.16/ganeti/utils/version.py.orig \
-		/usr/share/ganeti/2.16/ganeti/utils/version.py
-fi
-
 # dh_installdeb will replace this with shell code automatically
 # generated by other debhelper scripts.
 
diff -Nru ganeti-3.1.0~rc2/debian/templates/ganeti-VER.preinst ganeti-3.1.0~rc2/debian/templates/ganeti-VER.preinst
--- ganeti-3.1.0~rc2/debian/templates/ganeti-VER.preinst	2025-03-04 16:06:30.000000000 +0100
+++ ganeti-3.1.0~rc2/debian/templates/ganeti-VER.preinst	1970-01-01 01:00:00.000000000 +0100
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-set -e
-
-# Previous Ganeti versions will refuse to upgrade to 3.0 using `gnt-cluster
-# upgrade`. As gnt-cluster upgrade uses the "old" code (i.e. that of the
-# previous version), the only way to facilitate upgrades is to divert 2.16's
-# version-checking code and replace it with code that allows upgrades.
-
-if [ "$1" = "install" ]; then
-	dpkg-divert --add --rename --package ganeti-@version@ \
-		--divert /usr/share/ganeti/2.16/ganeti/utils/version.py.orig \
-		/usr/share/ganeti/2.16/ganeti/utils/version.py
-fi
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#

Reply via email to