tag 534873 + patch
thanks

Attached is a patch for the /emul/ia32-linux/usr/lib => /usr/lib32
transition of the nvidia-graphics-drivers packages.

I successfully tested the upgrade procedure starting from 185.18.14-1 on
squeeze/amd64 (after manually replacing the /usr/lib32 symlink with a
directory and without the the Pre-Depends: libc6-i386 (>= 2.9-18)) and
also on sid/amd64.
I didn't manage to do a full upgrade squeeze to sid (with nvidia
packages installed), there is too much currently going on concerning the
 emul/ia32-linux transition and ia32-libs restructuring.


Andreas
Index: debian/control
===================================================================
--- debian/control	(.../anbe-10-0-cleanup-autogenerated-files)	(revision 788)
+++ debian/control	(.../anbe-20-1-emul-ia32-transition)	(revision 788)
@@ -11,6 +11,7 @@
 
 Package: nvidia-glx-ia32
 Architecture: amd64
+Pre-Depends: libc6-i386 (>= 2.9-18)
 Depends: nvidia-kernel-185.18.14, ia32-libs, ${shlibs:Depends}
 Suggests: nvidia-settings, nvidia-kernel-source (>= 185.18.14)
 Conflicts: nvidia-glx-src
@@ -63,6 +64,7 @@
 
 Package: nvidia-libvdpau-ia32
 Architecture: amd64
+Pre-Depends: libc6-i386 (>= 2.9-18)
 Depends: ia32-libs, ${shlibs:Depends}
 Suggests: nvidia-settings, nvidia-kernel-source (>= 185.18.14)
 Replaces: nvidia-glx-ia32 (< 180.51)
Index: debian/nvidia-glx-ia32.postinst
===================================================================
--- debian/nvidia-glx-ia32.postinst	(.../anbe-10-0-cleanup-autogenerated-files)	(revision 788)
+++ debian/nvidia-glx-ia32.postinst	(.../anbe-20-1-emul-ia32-transition)	(revision 788)
@@ -1,14 +1,55 @@
 #!/bin/sh
+# postinst script for nvidia-glx-ia32
+#
+# see: dh_installdeb(1)
 
 set -e
 
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
 
 
+case "$1" in
+    configure)
 
+	# remove diversion created before the
+	# /emul/ia32-linux/usr/lib => /usr/lib32 transition
+	dpkg-divert --remove --rename --package nvidia-glx-ia32 --divert \
+		/emul/ia32-linux/usr/lib/nvidia/libGL.so.ia32-libs \
+		/emul/ia32-linux/usr/lib/libGL.so > /dev/null
+	dpkg-divert --remove --rename --package nvidia-glx-ia32 --divert \
+		/emul/ia32-linux/usr/lib/nvidia/libGL.so.1.ia32-libs \
+		/emul/ia32-linux/usr/lib/libGL.so.1 > /dev/null
+	dpkg-divert --remove --rename --package nvidia-glx-ia32 --divert \
+		/emul/ia32-linux/usr/lib/nvidia/libGL.so.1.2.ia32-libs \
+		/emul/ia32-linux/usr/lib/libGL.so.1.2 > /dev/null
 
+	test -d /emul/ia32-linux/usr/lib/nvidia && \
+		rmdir /emul/ia32-linux/usr/lib/nvidia || true;
 
-#DEBHELPER#
+    ;;
 
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
 
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
 
-ldconfig
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
Index: debian/nvidia-glx-ia32.preinst
===================================================================
--- debian/nvidia-glx-ia32.preinst	(.../anbe-10-0-cleanup-autogenerated-files)	(revision 788)
+++ debian/nvidia-glx-ia32.preinst	(.../anbe-20-1-emul-ia32-transition)	(revision 788)
@@ -10,37 +10,31 @@
 #        * <new-preinst> `install' <old-version>
 #        * <new-preinst> `upgrade' <old-version>
 #        * <old-preinst> `abort-upgrade' <new-version>
-#
-# For details see /usr/share/doc/packaging-manual/
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
 
+
 case "$1" in
     install|upgrade)
-	
-	# create new diversion directories
-	test -d /emul/ia32-linux/usr/lib/nvidia || \
-		mkdir -p /emul/ia32-linux/usr/lib/nvidia || true
-	
-	# make diversions
-	dpkg-divert --add --rename --package nvidia-glx-ia32 --divert \
-		/emul/ia32-linux/usr/lib/nvidia/libGL.so.1.ia32-libs \
-		/emul/ia32-linux/usr/lib/libGL.so.1 > /dev/null
-	dpkg-divert --add --rename --package nvidia-glx-ia32 --divert \
-		/emul/ia32-linux/usr/lib/nvidia/libGL.so.1.2.ia32-libs \
-		/emul/ia32-linux/usr/lib/libGL.so.1.2 > /dev/null
-	dpkg-divert --add --rename --package nvidia-glx-ia32 --divert \
-		/emul/ia32-linux/usr/lib/nvidia/libGL.so.ia32-libs \
-		/emul/ia32-linux/usr/lib/libGL.so > /dev/null
 
+	# divert libGL.so* from ia32-libs to /usr/lib32/nvidia
+	test -d /usr/lib32/nvidia || \
+		mkdir -p /usr/lib32/nvidia || true
+
 	dpkg-divert --add --rename --package nvidia-glx-ia32 --divert \
-		/emul/ia32-linux/usr/lib/nvidia/libGL.so.1.ia32-libs \
-		/emul/ia32-linux/usr/lib/libGL.so.1 > /dev/null
+		/usr/lib32/nvidia/libGL.so.ia32-libs \
+		/usr/lib32/libGL.so > /dev/null
 	dpkg-divert --add --rename --package nvidia-glx-ia32 --divert \
-		/emul/ia32-linux/usr/lib/nvidia/libGL.so.1.2.ia32-libs \
-		/emul/ia32-linux/usr/lib/libGL.so.1.2 > /dev/null
+		/usr/lib32/nvidia/libGL.so.1.ia32-libs \
+		/usr/lib32/libGL.so.1 > /dev/null
 	dpkg-divert --add --rename --package nvidia-glx-ia32 --divert \
-		/emul/ia32-linux/usr/lib/nvidia/libGL.so.ia32-libs \
-		/emul/ia32-linux/usr/lib/libGL.so > /dev/null
+		/usr/lib32/nvidia/libGL.so.1.2.ia32-libs \
+		/usr/lib32/libGL.so.1.2 > /dev/null
 
+	# this file was not shipped in the package but generated by ldconfig
+	test ! -L /emul/ia32-linux/usr/lib/tls/libnvidia-tls.so.1 || \
+		rm /emul/ia32-linux/usr/lib/tls/libnvidia-tls.so.1 || true
+
     ;;
 
     abort-upgrade)
@@ -53,7 +47,6 @@
 esac
 
 
-
 # dh_installdeb will replace this with shell code automatically
 # generated by other debhelper scripts.
 
Index: debian/nvidia-glx-ia32.links.in
===================================================================
--- debian/nvidia-glx-ia32.links.in	(.../anbe-10-0-cleanup-autogenerated-files)	(revision 788)
+++ debian/nvidia-glx-ia32.links.in	(.../anbe-20-1-emul-ia32-transition)	(revision 788)
@@ -1,5 +1,6 @@
-emul/ia32-linux/usr/lib/libGL.so.#VERSION# emul/ia32-linux/usr/lib/libGL.so.1
-emul/ia32-linux/usr/lib/libGL.so.#VERSION# emul/ia32-linux/usr/lib/libGL.so
-emul/ia32-linux/usr/lib/libGLcore.so.#VERSION# emul/ia32-linux/usr/lib/libGLcore.so
-emul/ia32-linux/usr/lib/libnvidia-tls.so.#VERSION# emul/ia32-linux/usr/lib/libnvidia-tls.so.1
-emul/ia32-linux/usr/lib/libcuda.so.#VERSION#  emul/ia32-linux/usr/lib/libcuda.so
+usr/lib32/libGL.so.#VERSION# usr/lib32/libGL.so.1
+usr/lib32/libGL.so.#VERSION# usr/lib32/libGL.so
+usr/lib32/libGLcore.so.#VERSION# usr/lib32/libGLcore.so
+usr/lib32/libnvidia-tls.so.#VERSION# usr/lib32/libnvidia-tls.so.1
+usr/lib32/tls/libnvidia-tls.so.#VERSION# usr/lib32/tls/libnvidia-tls.so.1
+usr/lib32/libcuda.so.#VERSION#  usr/lib32/libcuda.so
Index: debian/control.in
===================================================================
--- debian/control.in	(.../anbe-10-0-cleanup-autogenerated-files)	(revision 788)
+++ debian/control.in	(.../anbe-20-1-emul-ia32-transition)	(revision 788)
@@ -11,6 +11,7 @@
 
 Package: nvidia-glx-ia32
 Architecture: amd64
+Pre-Depends: libc6-i386 (>= 2.9-18)
 Depends: nvidia-kernel-#VERSION#, ia32-libs, ${shlibs:Depends}
 Suggests: nvidia-settings, nvidia-kernel-source (>= #VERSION#)
 Conflicts: nvidia-glx-src
@@ -63,6 +64,7 @@
 
 Package: nvidia-libvdpau-ia32
 Architecture: amd64
+Pre-Depends: libc6-i386 (>= 2.9-18)
 Depends: ia32-libs, ${shlibs:Depends}
 Suggests: nvidia-settings, nvidia-kernel-source (>= #VERSION#)
 Replaces: nvidia-glx-ia32 (< 180.51)
Index: debian/nvidia-glx-ia32.dirs
===================================================================
--- debian/nvidia-glx-ia32.dirs	(.../anbe-10-0-cleanup-autogenerated-files)	(revision 788)
+++ debian/nvidia-glx-ia32.dirs	(.../anbe-20-1-emul-ia32-transition)	(revision 788)
@@ -1,2 +1,2 @@
-emul/ia32-linux/usr/lib
-emul/ia32-linux/usr/lib/tls
+usr/lib32/nvidia
+usr/lib32/tls
Index: debian/nvidia-glx-ia32.postrm
===================================================================
--- debian/nvidia-glx-ia32.postrm	(.../anbe-10-0-cleanup-autogenerated-files)	(revision 788)
+++ debian/nvidia-glx-ia32.postrm	(.../anbe-20-1-emul-ia32-transition)	(revision 788)
@@ -13,48 +13,38 @@
 #        * <new-postrm> `abort-install'
 #        * <new-postrm> `abort-install' <old-version>
 #        * <new-postrm> `abort-upgrade' <old-version>
-#        * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
-# for details, see /usr/share/doc/packaging-manual/
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
 
+
 case "$1" in
     remove|purge)
 
+	# restore libGL.so* from ia32-libs, diverted to /usr/lib32/nvidia
 	dpkg-divert --remove --rename --package nvidia-glx-ia32 --divert \
-		/emul/ia32-linux/usr/lib/nvidia/libGL.so.1.ia32-libs \
-		/emul/ia32-linux/usr/lib/libGL.so.1 > /dev/null
+		/usr/lib32/nvidia/libGL.so.ia32-libs \
+		/usr/lib32/libGL.so > /dev/null
 	dpkg-divert --remove --rename --package nvidia-glx-ia32 --divert \
-		/emul/ia32-linux/usr/lib/nvidia/libGL.so.1.2.ia32-libs \
-		/emul/ia32-linux/usr/lib/libGL.so.1.2 > /dev/null
+		/usr/lib32/nvidia/libGL.so.1.ia32-libs \
+		/usr/lib32/libGL.so.1 > /dev/null
 	dpkg-divert --remove --rename --package nvidia-glx-ia32 --divert \
-		/emul/ia32-linux/usr/lib/nvidia/libGL.so.ia32-libs \
-		/emul/ia32-linux/usr/lib/libGL.so > /dev/null
+		/usr/lib32/nvidia/libGL.so.1.2.ia32-libs \
+		/usr/lib32/libGL.so.1.2 > /dev/null
 
-	dpkg-divert --remove --rename --package nvidia-glx-ia32 --divert \
-		/emul/ia32-linux/usr/lib/nvidia/libGL.so.1.ia32-libs \
-		/emul/ia32-linux/usr/lib/libGL.so.1 > /dev/null
-	dpkg-divert --remove --rename --package nvidia-glx-ia32 --divert \
-		/emul/ia32-linux/usr/lib/nvidia/libGL.so.1.2.ia32-libs \
-		/emul/ia32-linux/usr/lib/libGL.so.1.2 > /dev/null
-	dpkg-divert --remove --rename --package nvidia-glx-ia32 --divert \
-		/emul/ia32-linux/usr/lib/nvidia/libGL.so.ia32-libs \
-		/emul/ia32-linux/usr/lib/libGL.so > /dev/null
+	test -d /usr/lib32/nvidia && \
+		rmdir /usr/lib32/nvidia || true;
 
-	test -d /emul/ia32-linux/usr/lib/nvidia && \
-		rmdir /emul/ia32-linux/usr/lib/nvidia || true;
-
-	ldconfig
-		
     ;;
-    
+
     upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
 
-
-        ;;
-
     *)
         echo "postrm called with unknown argument \`$1'" >&2
         exit 0
-
+    ;;
 esac
 
 
@@ -62,3 +52,5 @@
 # generated by other debhelper scripts.
 
 #DEBHELPER#
+
+exit 0
Index: debian/changelog
===================================================================
--- debian/changelog	(.../anbe-10-0-cleanup-autogenerated-files)	(revision 788)
+++ debian/changelog	(.../anbe-20-1-emul-ia32-transition)	(revision 788)
@@ -2,8 +2,10 @@
 
   * Non-maintainer upload.
   * do not ship generated files in the source package
+  * /emul/ia32-linux/usr/lib to /usr/lib32 transition (closes: 534873)
+  * cleanup /emul/ia32-linux/usr/lib/tls/libnvidia-tls.so.1
 
- -- Andreas Beckmann <[email protected]>  Sun, 28 Jun 2009 16:55:38 +0200
+ -- Andreas Beckmann <[email protected]>  Sun, 28 Jun 2009 19:40:22 +0200
 
 nvidia-graphics-drivers (185.18.14-1) unstable; urgency=low
 
Index: debian/rules
===================================================================
--- debian/rules	(.../anbe-10-0-cleanup-autogenerated-files)	(revision 788)
+++ debian/rules	(.../anbe-20-1-emul-ia32-transition)	(revision 788)
@@ -231,21 +231,21 @@
 
 	if [ "$(DEB_BUILD_ARCH)" = "amd64" ] ; then \
 		install $(dirname)/usr/lib32/libGLcore.so.${version} \
-			$(CURDIR)/debian/nvidia-glx-ia32/emul/ia32-linux/usr/lib ; \
+			$(CURDIR)/debian/nvidia-glx-ia32/usr/lib32 ; \
 		install $(dirname)/usr/lib32/libGL.so.${version} \
-			$(CURDIR)/debian/nvidia-glx-ia32/emul/ia32-linux/usr/lib ; \
+			$(CURDIR)/debian/nvidia-glx-ia32/usr/lib32 ; \
 		install $(dirname)/usr/lib32/libcuda.so.${version} \
-			$(CURDIR)/debian/nvidia-glx-ia32/emul/ia32-linux/usr/lib ; \
+			$(CURDIR)/debian/nvidia-glx-ia32/usr/lib32 ; \
 		install $(dirname)/usr/lib32/libvdpau.so.${version} \
-			$(CURDIR)/debian/nvidia-libvdpau-ia32/emul/ia32-linux/usr/lib ; \
+			$(CURDIR)/debian/nvidia-libvdpau-ia32/usr/lib32 ; \
 		install $(dirname)/usr/lib32/libvdpau_nvidia.so.${version} \
-			$(CURDIR)/debian/nvidia-libvdpau-ia32/emul/ia32-linux/usr/lib ; \
+			$(CURDIR)/debian/nvidia-libvdpau-ia32/usr/lib32 ; \
 		install $(dirname)/usr/lib32/libvdpau_trace.so.${version} \
-			$(CURDIR)/debian/nvidia-libvdpau-ia32/emul/ia32-linux/usr/lib ; \
+			$(CURDIR)/debian/nvidia-libvdpau-ia32/usr/lib32 ; \
 		install $(dirname)/usr/lib32/libnvidia-tls.so.${version} \
-			$(CURDIR)/debian/nvidia-glx-ia32/emul/ia32-linux/usr/lib ; \
+			$(CURDIR)/debian/nvidia-glx-ia32/usr/lib32 ; \
 		install $(dirname)/usr/lib32/tls/libnvidia-tls.so.${version} \
-			$(CURDIR)/debian/nvidia-glx-ia32/emul/ia32-linux/usr/lib/tls ; \
+			$(CURDIR)/debian/nvidia-glx-ia32/usr/lib32/tls ; \
 	fi
 
 	install -m 755 $(dirname)/usr/bin/nvidia-bug-report.sh $(CURDIR)/debian/nvidia-glx/usr/bin/
Index: debian/nvidia-libvdpau-ia32.links.in
===================================================================
--- debian/nvidia-libvdpau-ia32.links.in	(.../anbe-10-0-cleanup-autogenerated-files)	(revision 788)
+++ debian/nvidia-libvdpau-ia32.links.in	(.../anbe-20-1-emul-ia32-transition)	(revision 788)
@@ -1 +1 @@
-emul/ia32-linux/usr/lib/libvdpau.so.#VERSION# emul/ia32-linux/usr/lib/libvdpau.so
+usr/lib32/libvdpau.so.#VERSION#		usr/lib32/libvdpau.so
Index: debian/nvidia-libvdpau-ia32.dirs
===================================================================
--- debian/nvidia-libvdpau-ia32.dirs	(.../anbe-10-0-cleanup-autogenerated-files)	(revision 788)
+++ debian/nvidia-libvdpau-ia32.dirs	(.../anbe-20-1-emul-ia32-transition)	(revision 788)
@@ -1 +1 @@
-emul/ia32-linux/usr/lib
+usr/lib32

Reply via email to