Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: pu

Hi,

I'd like to fix some upgrade issues from lenny w.r.t. to the diversion
handling in the non-free fglrx driver packages. #696155
- fglrx-glx-ia32 currently fails to upgrade at all
- fglrx-driver fails to clean up an old diversion (but that failure is
  ignored), which could lead to a missing xorg module

  * fglrx-glx{,-ia32}.preinst: Create diversions on upgrades, too.
  * fglrx-driver.preinst: Move removal of old libdri.so diversion to postinst.
    The fglrx-driver package in lenny shipped the diverted file, so on
    upgrades from lenny this still exists at the time the preinst is run.
  * fglrx-glx-ia32.postinst: Remove obsolete diversions in /emul/ia32-linux
    created by the packages in lenny.

The diversion handling (and cleanup of the historic mess) has been
greatly overhauled for wheezy (src:glx-alternatives), so there are
no fixes that could be directly cherry-picked from wheezy's packages.

For the versioning I won't add a '+' to ensure the fglrx-source package
will continue to work nicely.

Package passes install test in squeeze and lenny->squeeze upgrade test.


Andreas
diffstat for fglrx-driver-10-9 fglrx-driver-10-9

 changelog               |   12 ++++++++++++
 fglrx-driver.postinst   |    4 ++++
 fglrx-driver.preinst    |    4 ----
 fglrx-glx-ia32.postinst |    3 +++
 fglrx-glx-ia32.preinst  |    2 +-
 fglrx-glx.preinst       |    2 +-
 6 files changed, 21 insertions(+), 6 deletions(-)

diff -Nru fglrx-driver-10-9/debian/changelog fglrx-driver-10-9/debian/changelog
--- fglrx-driver-10-9/debian/changelog	2010-09-25 10:39:47.000000000 +0200
+++ fglrx-driver-10-9/debian/changelog	2013-02-14 11:05:44.000000000 +0100
@@ -1,3 +1,15 @@
+fglrx-driver (1:10-9-3squeeze1) stable; urgency=low
+
+  * Fix upgrades from lenny:  (Closes: #696155)
+  * fglrx-glx{,-ia32}.preinst: Create diversions on upgrades, too.
+  * fglrx-driver.preinst: Move removal of old libdri.so diversion to postinst.
+    The fglrx-driver package in lenny shipped the diverted file, so on
+    upgrades from lenny this still exists at the time the preinst is run.
+  * fglrx-glx-ia32.postinst: Remove obsolete diversions in /emul/ia32-linux
+    created by the packages in lenny.
+
+ -- Andreas Beckmann <a...@debian.org>  Thu, 14 Feb 2013 05:01:43 +0100
+
 fglrx-driver (1:10-9-3) unstable; urgency=high
 
   * Avoid attempting to build dkms modules for virtual linux-image packages
diff -Nru fglrx-driver-10-9/debian/fglrx-driver.postinst fglrx-driver-10-9/debian/fglrx-driver.postinst
--- fglrx-driver-10-9/debian/fglrx-driver.postinst	2010-09-25 10:39:48.000000000 +0200
+++ fglrx-driver-10-9/debian/fglrx-driver.postinst	2013-02-14 05:08:19.000000000 +0100
@@ -31,6 +31,10 @@
 			mv_conffile /etc/fglrxrc           /etc/ati/fglrxrc
 			mv_conffile /etc/fglrxprofiles.csv /etc/ati/fglrxprofiles.csv
 		fi
+		# Delete old diversion.
+		if [ -f /usr/lib/fglrx/diversions/libdri.so ] ; then
+			dpkg-divert --package fglrx-driver --rename --remove /usr/lib/xorg/modules/extensions/libdri.so || true
+		fi
 		# Update /etc/default/fglrx-driver based on debconf.
 		if [ -f /etc/default/fglrx-driver ] ; then
 			db_get fglrx-driver/acpi_switch
diff -Nru fglrx-driver-10-9/debian/fglrx-driver.preinst fglrx-driver-10-9/debian/fglrx-driver.preinst
--- fglrx-driver-10-9/debian/fglrx-driver.preinst	2010-09-25 10:39:48.000000000 +0200
+++ fglrx-driver-10-9/debian/fglrx-driver.preinst	2013-02-14 05:08:22.000000000 +0100
@@ -34,10 +34,6 @@
 		# Add new diversions.
 		mkdir -p /usr/lib/fglrx/diversions
 		dpkg-divert --package fglrx-driver --divert /usr/lib/fglrx/diversions/libglx.so --rename /usr/lib/xorg/modules/extensions/libglx.so
-		# Delete old diversion.
-		if [ -f /usr/lib/fglrx/diversions/libdri.so ] ; then
-			dpkg-divert --package fglrx-driver --rename --remove /usr/lib/xorg/modules/extensions/libdri.so || true
-		fi
     ;;
 esac
 
diff -Nru fglrx-driver-10-9/debian/fglrx-glx-ia32.postinst fglrx-driver-10-9/debian/fglrx-glx-ia32.postinst
--- fglrx-driver-10-9/debian/fglrx-glx-ia32.postinst	2010-09-25 10:39:48.000000000 +0200
+++ fglrx-driver-10-9/debian/fglrx-glx-ia32.postinst	2013-02-14 11:02:11.000000000 +0100
@@ -15,6 +15,9 @@
 
 case "$1" in
     configure)
+	dpkg-divert --package fglrx-glx-ia32 --rename --remove /emul/ia32-linux/usr/lib/libGL.so.1.2
+	dpkg-divert --package fglrx-glx-ia32 --rename --remove /emul/ia32-linux/usr/lib/libGL.so.1
+
           ldconfig
     ;;
 esac
diff -Nru fglrx-driver-10-9/debian/fglrx-glx-ia32.preinst fglrx-driver-10-9/debian/fglrx-glx-ia32.preinst
--- fglrx-driver-10-9/debian/fglrx-glx-ia32.preinst	2010-09-25 10:39:45.000000000 +0200
+++ fglrx-driver-10-9/debian/fglrx-glx-ia32.preinst	2013-02-14 04:57:19.000000000 +0100
@@ -13,7 +13,7 @@
 # For details see /usr/share/doc/packaging-manual/
 
 case "$1" in
-    install)
+    install|upgrade)
 	# Add new diversions.
 	mkdir -p /usr/lib32/fglrx/diversions
 	dpkg-divert --package fglrx-glx-ia32 --divert /usr/lib32/fglrx/diversions/libGL.so.1.2 --rename /usr/lib32/libGL.so.1.2
diff -Nru fglrx-driver-10-9/debian/fglrx-glx.preinst fglrx-driver-10-9/debian/fglrx-glx.preinst
--- fglrx-driver-10-9/debian/fglrx-glx.preinst	2010-09-25 10:39:47.000000000 +0200
+++ fglrx-driver-10-9/debian/fglrx-glx.preinst	2013-02-14 11:00:18.000000000 +0100
@@ -13,7 +13,7 @@
 # For details see /usr/share/doc/packaging-manual/
 
 case "$1" in
-    install)
+    install|upgrade)
 	# Add new diversion.
 	mkdir -p /usr/lib/fglrx/diversions
 	dpkg-divert --package fglrx-glx --divert /usr/lib/fglrx/diversions/libGL.so.1.2 --rename /usr/lib/libGL.so.1.2

Reply via email to