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

Reply via email to