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