Hi,
here is a revised version of my previous patch to cleanup the shlibs
handling. It incorporates all changes suggested in replies to my
previous patch and also introduces new updates to the recent changes
regarding the ia32-libs package split in sid.
The override updates and most libvdpau updates are excluded here, they
will be sent as separate patches.
Andreas Beckmann wrote:
> Short summary:
> * no more hardcoded library dependencies, everything is generated
> * more consistency between all packages
Detailed list of changes:
> * debian/control.in[source]
> Build-Depends: debhelper (>= 6.0.7~)
> bumped, for dh_lintian
Build-Depends: libc6-dev-i386 [amd64], ia32-libs [amd64]
added, these were missing
- add all split ia32-lib* packages needed
- there is still an alternative build dependency on
ia32-libs (<< 15) [amd64] to allow building under squeeze and
lenny (the *-ia32 packages won't be installable in that case due
to the libc dependency introduced in the emul/ia32-linux
transition, but everything else should work fine)
> * debian/control.in[some packages]
> - add Section: non-free/libs, Section: non-free/libdevel
> - drop hardcoded library dependencies
> - add ${misc:Depends}
> * debian/control.in[nvidia-libvdpau{,-ia32}]
> Depends: x11-common
> removed, not needed (for libvdpau)
> Suggests: nvidia-settings
> removed, not needed (for libvdpau)
> Recommends: nvidia-kernel-#VERSION#
> added (and only recommend it, so the package is installable in
> chroots that don't have a kernel installed)
> Suggests: nvidia-kernel-source (>= #VERSION#)
> added (for consistency)
* debian/control.in[nvidia-kernel-source]
Recommends: module-assistant
added (see #533217)
> * debian/nvidia-glx-dev.links.in
> - removed comment which resulted in invalid symlink being packged
* debian/nvidia-glx-ia32.links.in
- add a libGLcore.so.1 symlink
> * debian/nvidia-glx.shlibs
> - xlibmesa-gl is now libgl1-mesa-glx
> - nothing but our libGL.so.x.y depends on libGLcore,
> so no libgl1-mesa-glx | libgl1 is needed there
* debian/nvidia-glx-ia32.shlibs
- added (based on debian/nvidia-glx.shlibs), there was none before
for libGL.so.1 I use:
libGL 1 ia32-libs (<< 15) | ia32-libgl1-mesa-glx
(hopefully ia32-libgl1-mesa-glx is the correct package name,
ia32-libs-tools failed to build this package last time I tried,
I'll retry this with an updated version later)
> * debian/rules
> - drop dh_shlibdeps hacks, options, workarounds -- this now works
> out-of-the-box :-)
The patch does not include the update for debian/control which can be
regenerated by debian/rules clean
Andreas
Index: debian/nvidia-glx-ia32.shlibs
===================================================================
--- debian/nvidia-glx-ia32.shlibs (.../anbe-10-0-cleanup-autogenerated-files) (revision 0)
+++ debian/nvidia-glx-ia32.shlibs (.../anbe-30-0-shlibs-cleanup) (revision 821)
@@ -0,0 +1,4 @@
+libGL 1 ia32-libs (<< 15) | ia32-libgl1-mesa-glx
+libGLcore 1 nvidia-glx-ia32
+libnvidia-tls 1 nvidia-glx-ia32
+libcuda 1 nvidia-glx-ia32
Index: debian/nvidia-glx-ia32.links.in
===================================================================
--- debian/nvidia-glx-ia32.links.in (.../anbe-10-0-cleanup-autogenerated-files) (revision 821)
+++ debian/nvidia-glx-ia32.links.in (.../anbe-30-0-shlibs-cleanup) (revision 821)
@@ -1,6 +1,6 @@
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/libGL.so.1 usr/lib32/libGL.so
+usr/lib32/libGLcore.so.#VERSION# usr/lib32/libGLcore.so.1
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/nvidia-glx.shlibs
===================================================================
--- debian/nvidia-glx.shlibs (.../anbe-10-0-cleanup-autogenerated-files) (revision 821)
+++ debian/nvidia-glx.shlibs (.../anbe-30-0-shlibs-cleanup) (revision 821)
@@ -1,4 +1,5 @@
-libGL 1 xlibmesa-gl | libgl1
-libGLcore 1 xlibmesa-gl | libgl1
+libGL 1 libgl1-mesa-glx | libgl1
+libGLcore 1 nvidia-glx
libXvMCNVIDIA_dynamic 1 nvidia-glx
libnvidia-tls 1 nvidia-glx
+libcuda 1 nvidia-glx
Index: debian/control.in
===================================================================
--- debian/control.in (.../anbe-10-0-cleanup-autogenerated-files) (revision 821)
+++ debian/control.in (.../anbe-30-0-shlibs-cleanup) (revision 821)
@@ -5,14 +5,15 @@
Uploaders: Randall Donald <[email protected]>
XS-Vcs-Svn: svn://svn.debian.org/svn/pkg-nvidia/packages/nvidia-graphics-drivers
XS-Vcs-Browser: http://svn.debian.org/wsvn/pkg-nvidia/packages/nvidia-graphics-drivers
-Build-Depends: debhelper (>> 4.0.0), sed (>> 3.0), libxext6, bzip2
+Build-Depends: debhelper (>= 6.0.7~), sed (>> 3.0), libxext6, bzip2,
+ libc6-dev-i386 [amd64], lib32gcc1 [amd64], lib32z1 [amd64],
+ ia32-libs (<< 15) [amd64] | ia32-libxext6 [amd64],
Standards-Version: 3.6.2
-
Package: nvidia-glx-ia32
Architecture: amd64
Pre-Depends: libc6-i386 (>= 2.9-18)
-Depends: nvidia-kernel-#VERSION#, ia32-libs, ${shlibs:Depends}
+Depends: nvidia-kernel-#VERSION#, ${shlibs:Depends}, ${misc:Depends}
Suggests: nvidia-settings, nvidia-kernel-source (>= #VERSION#)
Conflicts: nvidia-glx-src
Replaces: nvidia-glx-src
@@ -30,7 +31,7 @@
Package: nvidia-glx
Architecture: i386 amd64
-Depends: nvidia-kernel-#VERSION#, x11-common (>= 1:7.0.0), ${shlibs:Depends}
+Depends: nvidia-kernel-#VERSION#, x11-common (>= 1:7.0.0), ${shlibs:Depends}, ${misc:Depends}
Suggests: nvidia-settings, nvidia-kernel-source (>= #VERSION#)
Conflicts: nvidia-glx-src, nvidia-glx-dev (<< 1.0.8774-5)
Replaces: nvidia-glx-src
@@ -48,10 +49,10 @@
See /usr/share/doc/nvidia-glx/README.txt.gz for a complete list
of supported GPUs and PCIIDs
.
-
+
Package: nvidia-glx-dev
Architecture: i386 amd64
-Depends: nvidia-glx (>= #VERSION#)
+Depends: nvidia-glx (>= #VERSION#), ${misc:Depends}
Provides: libgl-dev
Conflicts: nvidia-glx (>= #NEXTVER#), libgl-dev, mesa-common-dev
Replaces: libgl-dev
@@ -63,10 +64,12 @@
at http://www.nvidia.com/ .
Package: nvidia-libvdpau-ia32
+Section: non-free/libs
Architecture: amd64
Pre-Depends: libc6-i386 (>= 2.9-18)
-Depends: ia32-libs, ${shlibs:Depends}
-Suggests: nvidia-settings, nvidia-kernel-source (>= #VERSION#)
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Recommends: nvidia-kernel-#VERSION#
+Suggests: nvidia-kernel-source (>= #VERSION#)
Replaces: nvidia-glx-ia32 (< 180.51)
Conflicts: nvidia-glx-ia32 (< 180.51)
Description: NVIDIA vdpau 32bit libraries
@@ -76,8 +79,11 @@
for more information.
Package: nvidia-libvdpau
+Section: non-free/libs
Architecture: i386 amd64
-Depends: x11-common (>= 1:7.0.0), ${shlibs:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Recommends: nvidia-kernel-#VERSION#
+Suggests: nvidia-kernel-source (>= #VERSION#)
Replaces: nvidia-glx (< 180.51)
Conflicts: nvidia-glx (< 180.51)
Description: NVIDIA vdpau libraries
@@ -85,10 +91,11 @@
They provide accelerated video playback (incl. H.264) for the supported
graphics cards. See /usr/share/doc/nvidia-libvdpau/README.txt.gz for
more information.
-
+
Package: nvidia-libvdpau-dev
+Section: non-free/libdevel
Architecture: i386 amd64
-Depends: nvidia-libvdpau (>= #VERSION#)
+Depends: nvidia-libvdpau (>= #VERSION#), ${misc:Depends}
Replaces: nvidia-glx-dev (< 180.51)
Conflicts: nvidia-glx-dev (< 180.51), nvidia-libvdpau (>= #NEXTVER#)
Description: NVIDIA vdpau development files
@@ -96,8 +103,8 @@
Package: nvidia-kernel-source
Architecture: i386 amd64
-Depends: debhelper (>> 4.0.0), make, sed (>> 3.0), dpatch (>= 2.0.0)
-Recommends: nvidia-glx (>= #VERSION#), kernel-package (>= 8.082), devscripts
+Depends: debhelper (>> 4.0.0), make, sed (>> 3.0), dpatch (>= 2.0.0), ${misc:Depends}
+Recommends: nvidia-glx (>= #VERSION#), kernel-package (>= 8.082), module-assistant, devscripts
Conflicts: nvidia-kernel-src
Replaces: nvidia-kernel-src
Description: NVIDIA binary kernel module source
@@ -109,3 +116,4 @@
PLEASE read /usr/share/doc/nvidia-kernel-source/README.Debian for building
information.
.
+
Index: debian/changelog
===================================================================
--- debian/changelog (.../anbe-10-0-cleanup-autogenerated-files) (revision 821)
+++ debian/changelog (.../anbe-30-0-shlibs-cleanup) (revision 821)
@@ -2,12 +2,22 @@
* Non-maintainer upload.
* do not ship generated files in the source package
+ * nvidia-kernel-source: recommend module-assistant
+ * shlibs cleanup (closes: #533515)
+ - update Build-Depends to include all needed libraries
+ - updates for ia32-libs changes, now separate ia32-lib* packages
+ - let the shlibs system generate all dependencies
+ - debian/nvidia-glx.shlibs: switch to libgl1-mesa-glx | libgl1 (closes:
+ #526463)
+ - debian/nvidia-glx-ia32.shlibs: new file
+ * debian/nvidia-glx-dev.links.in: remove comment (generates unwanted and
+ invalid symlink)
- -- Andreas Beckmann <[email protected]> Thu, 02 Jul 2009 04:03:14 +0200
+ -- Andreas Beckmann <[email protected]> Sat, 04 Jul 2009 03:06:43 +0200
nvidia-graphics-drivers (185.18.14-2) UNRELEASED; urgency=low
- * /emul/ia32-linux/usr/lib to /usr/lib32 transition (closes: 534873)
+ * /emul/ia32-linux/usr/lib to /usr/lib32 transition (closes: #534873)
* cleanup /emul/ia32-linux/usr/lib/tls/libnvidia-tls.so.1
* Thanks to Andreas Beckmann <[email protected]> for ias32 work
Index: debian/rules
===================================================================
--- debian/rules (.../anbe-10-0-cleanup-autogenerated-files) (revision 821)
+++ debian/rules (.../anbe-30-0-shlibs-cleanup) (revision 821)
@@ -290,9 +290,7 @@
# dh_python
dh_makeshlibs
dh_installdeb
- dh_shlibdeps -Xia32 -Xtls -l$(CURDIR)/debian/nvidia-glx/usr/lib:$(CURDIR)/debian/nvidia-libvdpau/usr/lib
- # quickhack! remove me :-/
- perl -pi.bak -e 's/,\s+nvidia-glx-ia32//;' $(CURDIR)/debian/nvidia-glx.substvars
+ dh_shlibdeps
dh_gencontrol -s
dh_md5sums
dh_builddeb -s
Index: debian/nvidia-glx-dev.links.in
===================================================================
--- debian/nvidia-glx-dev.links.in (.../anbe-10-0-cleanup-autogenerated-files) (revision 821)
+++ debian/nvidia-glx-dev.links.in (.../anbe-30-0-shlibs-cleanup) (revision 821)
@@ -1,2 +1 @@
-#usr/lib/libGL.so.#VERSION# usr/lib/libGL.so
usr/share/nvidia/include /usr/share/doc/nvidia-glx-dev/include