tags 497077 + patch
thanks
Hi,
here I propose a patch for the separation of libcuda1 from the
nvidia-glx packages I suggested some time ago.
This is useful for CUDA development and usage on headless systems (e.g.
using Tesla cards) that don't have or need X, GLX, ...
As names I choose libcuda1, libcuda1-ia32, libcuda-dev. I don't think we
need a vendor prefix nvidia- because I don't expect anyone else to
provide alternative implementations.
There are no dependencies from nvidia-glx on libcuda1 as it was also
done this way when nvidia-libvdpau was separated.
The libcuda.so symlink needs to go directly into the libcuda1 package,
not a -dev package because libcudart.so.1 (from nvidia-cuda-toolkit, not
packaged yet, but I plan to do an ITP soon) does dlopen("libcuda.so").
The patch contains also appropriate lintian-overrides and symbols files
for the new packages.
After applying the patch, debian/control has to be regenerated via
debian/rules clean.
The patch series 1/8 to 6/8 compiles successfully in pbuilder
environments sid/amd64, sid/i386, squeeze/amd64, lenny/amd64, lenny/i386
Andreas
Index: debian/nvidia-glx-ia32.shlibs
===================================================================
--- debian/nvidia-glx-ia32.shlibs (.../anbe-45-0-vdpau-extras) (revision 836)
+++ debian/nvidia-glx-ia32.shlibs (.../anbe-50-0-cuda-separate) (revision 836)
@@ -1,4 +1,3 @@
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-45-0-vdpau-extras) (revision 836)
+++ debian/nvidia-glx-ia32.links.in (.../anbe-50-0-cuda-separate) (revision 836)
@@ -3,4 +3,3 @@
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/control.in
===================================================================
--- debian/control.in (.../anbe-45-0-vdpau-extras) (revision 836)
+++ debian/control.in (.../anbe-50-0-cuda-separate) (revision 836)
@@ -118,3 +118,63 @@
information.
.
+Package: libcuda1
+Section: non-free/libs
+Architecture: i386 amd64
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Recommends: nvidia-kernel-#VERSION#
+Suggests: nvidia-kernel-source (>= #VERSION#)
+Replaces: nvidia-glx (<< 185.18.14-2), nvidia-glx-dev (<< 185.18.14-2)
+Description: NVIDIA CUDA runtime library
+ The Compute Unified Device Architecture (CUDA) enables NVIDIA
+ graphics processing units (GPUs) to be used for massively parallel
+ general purpose computation.
+ .
+ This package contains the driver specific runtime library.
+ .
+ Supported NVIDIA devices include GPUs starting from GeForce 8 and Quadro FX
+ series, as well as the Tesla computing processors.
+ .
+ Please see the nvidia-kernel-source package for building the kernel module
+ required by this package. This will provide nvidia-kernel-<version>
+ .
+
+Package: libcuda1-ia32
+Section: non-free/libs
+Architecture: amd64
+Pre-Depends: libc6-i386 (>= 2.9-18)
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Recommends: nvidia-kernel-#VERSION#
+Suggests: nvidia-kernel-source (>= #VERSION#)
+Replaces: nvidia-glx-ia32 (<< 185.18.14-2)
+Description: NVIDIA CUDA runtime library (32-bit)
+ The Compute Unified Device Architecture (CUDA) enables NVIDIA
+ graphics processing units (GPUs) to be used for massively parallel
+ general purpose computation.
+ .
+ This package contains the driver specific runtime library (32-bit).
+ .
+ Supported NVIDIA devices include GPUs starting from GeForce 8 and Quadro FX
+ series, as well as the Tesla computing processors.
+ .
+ Please see the nvidia-kernel-source package for building the kernel module
+ required by this package. This will provide nvidia-kernel-<version>
+ .
+
+Package: libcuda1-dev
+Section: non-free/libdevel
+Architecture: i386 amd64
+Depends: libcuda1 (>= #VERSION#), ${misc:Depends}
+Provides: libcuda-dev
+Replaces: nvidia-glx-dev (<< 185.18.14-2)
+Description: NVIDIA CUDA development files
+ The Compute Unified Device Architecture (CUDA) enables NVIDIA
+ graphics processing units (GPUs) to be used for massively parallel
+ general purpose computation.
+ .
+ This package contains the driver specific NVIDIA CUDA
+ development files.
+ .
+ For more information on this source package visit NVIDIA's CUDA Zone
+ at http://www.nvidia.com/object/cuda_home.html .
+
Index: debian/nvidia-glx.shlibs
===================================================================
--- debian/nvidia-glx.shlibs (.../anbe-45-0-vdpau-extras) (revision 836)
+++ debian/nvidia-glx.shlibs (.../anbe-50-0-cuda-separate) (revision 836)
@@ -2,4 +2,3 @@
libGLcore 1 nvidia-glx
libXvMCNVIDIA_dynamic 1 nvidia-glx
libnvidia-tls 1 nvidia-glx
-libcuda 1 nvidia-glx
Index: debian/nvidia-glx.links.in
===================================================================
--- debian/nvidia-glx.links.in (.../anbe-45-0-vdpau-extras) (revision 836)
+++ debian/nvidia-glx.links.in (.../anbe-50-0-cuda-separate) (revision 836)
@@ -4,5 +4,3 @@
usr/lib/xorg/modules/extensions/libglx.so.#VERSION# usr/lib/xorg/modules/extensions/libglx.so
usr/lib/libXvMCNVIDIA.so.#VERSION# usr/lib/libXvMCNVIDIA.so.1
usr/lib/libXvMCNVIDIA.so.#VERSION# usr/lib/libXvMCNVIDIA_dynamic.so.1
-usr/lib/libcuda.so.#VERSION# usr/lib/libcuda.so
-usr/lib/libcuda.so.#VERSION# usr/lib/libcuda.so.1
Index: debian/libcuda1-ia32.install.in
===================================================================
--- debian/libcuda1-ia32.install.in (.../anbe-45-0-vdpau-extras) (revision 0)
+++ debian/libcuda1-ia32.install.in (.../anbe-50-0-cuda-separate) (revision 836)
@@ -0,0 +1 @@
+#DIRNAME#/usr/lib32/libcuda.so.#VERSION# usr/lib32
Index: debian/libcuda1.install.in
===================================================================
--- debian/libcuda1.install.in (.../anbe-45-0-vdpau-extras) (revision 0)
+++ debian/libcuda1.install.in (.../anbe-50-0-cuda-separate) (revision 836)
@@ -0,0 +1 @@
+#DIRNAME#/usr/lib/libcuda.so.#VERSION# usr/lib
Index: debian/libcuda1.lintian-overrides.amd64.in
===================================================================
--- debian/libcuda1.lintian-overrides.amd64.in (.../anbe-45-0-vdpau-extras) (revision 0)
+++ debian/libcuda1.lintian-overrides.amd64.in (.../anbe-50-0-cuda-separate) (revision 836)
@@ -0,0 +1,4 @@
+libcuda1: unstripped-binary-or-object ./usr/lib/libcuda.so.#VERSION#
+
+# libcudart.so.2 does dlopen("libcuda.so")
+libcuda1: non-dev-pkg-with-shlib-symlink usr/lib/libcuda.so.#VERSION# usr/lib/libcuda.so
Index: debian/libcuda1.symbols
===================================================================
--- debian/libcuda1.symbols (.../anbe-45-0-vdpau-extras) (revision 0)
+++ debian/libcuda1.symbols (.../anbe-50-0-cuda-separate) (revision 836)
@@ -0,0 +1,110 @@
+libcuda.so.1 libcuda1 #MINVER#
+#MISSING: 185.18.04# _nvgpudebugexport...@base 177.67
+ cuarray3dcre...@base 177.67
+ cuarray3dgetdescrip...@base 177.67
+ cuarraycre...@base 169.07
+ cuarraydest...@base 169.07
+ cuarraygetdescrip...@base 169.07
+ cuctxatt...@base 169.07
+ cuctxcre...@base 169.07
+ cuctxdest...@base 177.67
+ cuctxdet...@base 169.07
+ cuctxgetdev...@base 177.67
+ cuctxpopcurr...@base 177.67
+ cuctxpushcurr...@base 177.67
+ cuctxsynchron...@base 169.07
+ cudevicecomputecapabil...@base 169.07
+ cudevice...@base 169.07
+ cudevicegetattrib...@base 169.07
+ cudevicegetco...@base 169.07
+ cudevicegetn...@base 169.07
+ cudevicegetpropert...@base 169.07
+ cudevicetotal...@base 169.07
+ cudrivergetvers...@base 185.18.04
+ cueventcre...@base 169.07
+ cueventdest...@base 169.07
+ cueventelapsedt...@base 169.07
+ cueventqu...@base 169.07
+ cueventrec...@base 169.07
+ cueventsynchron...@base 169.07
+ cufuncgetattrib...@base 185.18.04
+ cufuncsetblocksh...@base 169.07
+ cufuncsetshareds...@base 169.07
+ cuglctxcre...@base 177.67
+ cugli...@base 169.07
+ cuglmapbufferobj...@base 169.07
+ cuglregisterbufferobj...@base 169.07
+ cuglunmapbufferobj...@base 169.07
+ cuglunregisterbufferobj...@base 169.07
+ cui...@base 169.07
+ culau...@base 169.07
+ culaunchg...@base 169.07
+ culaunchgridas...@base 169.07
+ cumemal...@base 169.07
+ cumemalloch...@base 169.07
+ cumemallocpi...@base 169.07
+ cumemf...@base 169.07
+ cumemfreeh...@base 169.07
+ cumemgetaddressra...@base 169.07
+ cumemgeti...@base 169.07
+ cumemhostal...@base 185.18.04
+ cumemhostgetdevicepoin...@base 185.18.04
+ cumemcp...@base 169.07
+ cumemcpy2das...@base 169.07
+ cumemcpy2dunalig...@base 169.07
+ cumemcp...@base 177.67
+ cumemcpy3das...@base 177.67
+ cumemcpya...@base 169.07
+ cumemcpya...@base 169.07
+ cumemcpya...@base 169.07
+ cumemcpyatohas...@base 169.07
+ cumemcpyd...@base 169.07
+ cumemcpyd...@base 169.07
+ cumemcpyd...@base 169.07
+ cumemcpydtohas...@base 169.07
+ cumemcpyh...@base 169.07
+ cumemcpyhtoaas...@base 169.07
+ cumemcpyh...@base 169.07
+ cumemcpyhtodas...@base 169.07
+ cumemset...@base 169.07
+ cumemsetd2...@base 169.07
+ cumemsetd2...@base 169.07
+ cumemsetd...@base 169.07
+ cumemset...@base 169.07
+ cumemse...@base 169.07
+ cumodulegetfunct...@base 169.07
+ cumodulegetglo...@base 169.07
+ cumodulegettex...@base 169.07
+ cumodulel...@base 169.07
+ cumoduleloadd...@base 169.07
+ cumoduleloaddat...@base 180.06
+ cumoduleloadfatbin...@base 169.07
+ cumoduleunl...@base 169.07
+ cuparamsets...@base 169.07
+ cuparamsettex...@base 169.07
+ cuparams...@base 169.07
+ cuparams...@base 169.07
+ cuparams...@base 169.07
+ custreamcre...@base 169.07
+ custreamdest...@base 169.07
+ custreamqu...@base 169.07
+ custreamsynchron...@base 169.07
+ cutexrefcre...@base 169.07
+ cutexrefdest...@base 169.07
+ cutexrefgetaddr...@base 169.07
+ cutexrefgetaddressm...@base 169.07
+ cutexrefgetar...@base 169.07
+ cutexrefgetfilterm...@base 169.07
+ cutexrefgetfl...@base 169.07
+ cutexrefgetfor...@base 177.67
+ cutexrefsetaddres...@base 185.18.04
+ cutexrefsetaddr...@base 169.07
+ cutexrefsetaddressm...@base 169.07
+ cutexrefsetar...@base 169.07
+#MISSING: 177.67# cutexrefsetcpuaddr...@base 169.07
+ cutexrefsetfilterm...@base 169.07
+ cutexrefsetfl...@base 169.07
+ cutexrefsetfor...@base 169.07
+ cudbgexport...@base 185.18.04
+ gpudbgdebuggerattac...@base 177.67
+ gpudbgreportdevicefunctionlau...@base 177.67
Index: debian/changelog
===================================================================
--- debian/changelog (.../anbe-45-0-vdpau-extras) (revision 836)
+++ debian/changelog (.../anbe-50-0-cuda-separate) (revision 836)
@@ -19,6 +19,9 @@
* rename nvidia-libvdpau* to nvidia-libvdpau1* (closes: #534536)
* cleanup leftover files from nvidia-libvdpau-ia32
* add overrides and symbol files for nvidia-libvdpau1*
+ * libcuda1, libcuda1-ia32, libcuda-dev: split from their respective
+ nvidia-glx-* packages (closes: #497077)
+ * add overrides and symbol files for libcuda1*
-- Andreas Beckmann <[email protected]> Sat, 04 Jul 2009 11:20:56 +0200
Index: debian/rules
===================================================================
--- debian/rules (.../anbe-45-0-vdpau-extras) (revision 836)
+++ debian/rules (.../anbe-50-0-cuda-separate) (revision 836)
@@ -36,6 +36,11 @@
debian/nvidia-glx.postrm debian/nvidia-glx.init \
debian/nvidia-glx-ia32.lintian-overrides debian/nvidia-glx-ia32.links \
debian/nvidia-kernel-source.docs debian/nvidia-glx-dev.preinst \
+debian/libcuda1.install debian/libcuda1-ia32.install debian/libcuda1-dev.install \
+debian/libcuda1.links debian/libcuda1-ia32.links \
+debian/libcuda1.lintian-overrides.amd64 debian/libcuda1.lintian-overrides.i386 \
+debian/libcuda1-ia32.lintian-overrides \
+debian/libcuda1-ia32.symbols \
debian/nvidia-libvdpau1.lintian-overrides.amd64 debian/nvidia-libvdpau1.lintian-overrides.i386 \
debian/nvidia-libvdpau1-ia32.lintian-overrides \
debian/nvidia-libvdpau1-ia32.symbols \
@@ -44,7 +49,6 @@
-
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
@@ -174,11 +178,6 @@
install -m 0644 $(dirname)/usr/include/GL/glext.h \
$(CURDIR)/debian/nvidia-glx-dev/usr/include/GL
- install -m 0644 $(dirname)/usr/include/cuda/cuda.h \
- $(CURDIR)/debian/nvidia-glx-dev/usr/include/cuda
- install -m 0644 $(dirname)/usr/include/cuda/cudaGL.h \
- $(CURDIR)/debian/nvidia-glx-dev/usr/include/cuda
-
install -m 0644 $(dirname)/usr/include/vdpau/vdpau.h \
$(CURDIR)/debian/nvidia-libvdpau-dev/usr/include/vdpau
install -m 0644 $(dirname)/usr/include/vdpau/vdpau_x11.h \
@@ -193,8 +192,6 @@
$(CURDIR)/debian/nvidia-glx/usr/lib
install -m 0644 $(dirname)/usr/lib/libGLcore.so.${version} \
$(CURDIR)/debian/nvidia-glx/usr/lib
- install -m 0644 $(dirname)/usr/lib/libcuda.so.${version} \
- $(CURDIR)/debian/nvidia-glx/usr/lib
install -m 0644 $(dirname)/usr/lib/libvdpau_nvidia.so.${version} \
$(CURDIR)/debian/nvidia-libvdpau1/usr/lib
install -m 0644 $(dirname)/usr/lib/libvdpau.so.${version} \
@@ -232,8 +229,6 @@
$(CURDIR)/debian/nvidia-glx-ia32/usr/lib32 ; \
install $(dirname)/usr/lib32/libGL.so.${version} \
$(CURDIR)/debian/nvidia-glx-ia32/usr/lib32 ; \
- install $(dirname)/usr/lib32/libcuda.so.${version} \
- $(CURDIR)/debian/nvidia-glx-ia32/usr/lib32 ; \
install $(dirname)/usr/lib32/libvdpau.so.${version} \
$(CURDIR)/debian/nvidia-libvdpau1-ia32/usr/lib32 ; \
install $(dirname)/usr/lib32/libvdpau_nvidia.so.${version} \
@@ -317,7 +312,13 @@
debian/nvidia-libvdpau1-ia32.lintian-overrides: debian/nvidia-libvdpau1.lintian-overrides.i386
sed 's/^nvidia-libvdpau1:/nvidia-libvdpau1-ia32:/; s%usr/lib/%usr/lib32/%g' $< > $@
+debian/libcuda1-ia32.symbols: debian/libcuda1.symbols
+ sed 's/libcuda1/libcuda1-ia32/g' $< > $@
+debian/libcuda1-ia32.lintian-overrides: debian/libcuda1.lintian-overrides.i386
+ sed 's/^libcuda1:/libcuda1-ia32:/; s%usr/lib/%usr/lib32/%g' $< > $@
+
+
# Build architecture dependant packages using the common target.
.PHONY: binary-arch
binary-arch: build-stamp build-kernel-stamp install
Index: debian/libcuda1-ia32.links.in
===================================================================
--- debian/libcuda1-ia32.links.in (.../anbe-45-0-vdpau-extras) (revision 0)
+++ debian/libcuda1-ia32.links.in (.../anbe-50-0-cuda-separate) (revision 836)
@@ -0,0 +1,2 @@
+usr/lib32/libcuda.so.#VERSION# usr/lib32/libcuda.so.1
+usr/lib32/libcuda.so.1 usr/lib32/libcuda.so
Index: debian/libcuda1.links.in
===================================================================
--- debian/libcuda1.links.in (.../anbe-45-0-vdpau-extras) (revision 0)
+++ debian/libcuda1.links.in (.../anbe-50-0-cuda-separate) (revision 836)
@@ -0,0 +1,2 @@
+usr/lib/libcuda.so.#VERSION# usr/lib/libcuda.so.1
+usr/lib/libcuda.so.1 usr/lib/libcuda.so
Index: debian/libcuda1-dev.install.in
===================================================================
--- debian/libcuda1-dev.install.in (.../anbe-45-0-vdpau-extras) (revision 0)
+++ debian/libcuda1-dev.install.in (.../anbe-50-0-cuda-separate) (revision 836)
@@ -0,0 +1,2 @@
+#DIRNAME#/usr/include/cuda/cuda.h /usr/include/cuda
+#DIRNAME#/usr/include/cuda/cudaGL.h /usr/include/cuda
Index: debian/libcuda1.lintian-overrides.i386.in
===================================================================
--- debian/libcuda1.lintian-overrides.i386.in (.../anbe-45-0-vdpau-extras) (revision 0)
+++ debian/libcuda1.lintian-overrides.i386.in (.../anbe-50-0-cuda-separate) (revision 836)
@@ -0,0 +1,6 @@
+libcuda1: shlib-with-non-pic-code usr/lib/libcuda.so.#VERSION#
+libcuda1: shlib-without-PT_GNU_STACK-section usr/lib/libcuda.so.#VERSION#
+libcuda1: unstripped-binary-or-object ./usr/lib/libcuda.so.#VERSION#
+
+# libcudart.so.2 does dlopen("libcuda.so")
+libcuda1: non-dev-pkg-with-shlib-symlink usr/lib/libcuda.so.#VERSION# usr/lib/libcuda.so
Index: debian/nvidia-glx-dev.dirs
===================================================================
--- debian/nvidia-glx-dev.dirs (.../anbe-45-0-vdpau-extras) (revision 836)
+++ debian/nvidia-glx-dev.dirs (.../anbe-50-0-cuda-separate) (revision 836)
@@ -1,3 +1,2 @@
usr/include/GL
-usr/include/cuda
usr/lib/nvidia