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 <rdon...@debian.org> 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 <deb...@abeckmann.de> Thu, 02 Jul 2009 04:03:14 +0200 + -- Andreas Beckmann <deb...@abeckmann.de> 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 <deb...@abeckmann.de> 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