regarding nvidia-cudnn

Andreas Beckmann anbe at debian.org
Thu Jun 29 16:52:16 BST 2023


Hi Lumin,

I've pushed a few fixes for nvidia-cudnn.

There is no need for a fake library, it's sufficient to ship the 
(dangling) SONAME symlink in order to make dpkg-shlibdeps work for 
rdepends. Verified by an autopkgtest.
(If the fake library file gets replaced by the real one (or a symlink in 
this case), this raises a debsums error in piuparts.)
Would we need these symlinks for the other libraries as well?

While looking at the package, some questions came up:

The generic virtual package name would be libcudnn-dev. Why isn't that 
being provided (with a version)?

Why is there a dependency on nvidia-cuda-toolkit(-gcc)? I can only find 
inclusion of cuda_runtime.h and libraries linked against 
libcublas.so.11/libcublasLt.so.11. Therefore a (versioned) dependency on
     nvidia-cuda-dev (>= 11), nvidia-cuda-dev (<< 12)
should be sufficient. It needs to be versioned that way since you want 
it to pull in libcublas11 etc.
(If some project using cudnn wants to build with nvcc, it needs B-D on 
nvidia-cuda-toolkit-gcc.)

Why does the nvidia-cudnn package have Pre-Depends but no preinst 
script? I think they can all be moved to regular Depends.

Downloading with wget uses this command line option:
   --hsts-file=/tmp/wget-hsts
Please don't use a deterministic file, but either drop it or use 
/dev/null (if possible) or a temporary file from mktemp.

And most importantly: As an installer package, you need to verify the 
integrity of the downloaded file, especially if you want it to use it as 
a build dependency which shall install automatically.
If the downloaded file does not match a predefined checksum, abort 
before extracting it.

An example installer package with verification:
https://salsa.debian.org/debian/b43-fwcutter/-/blob/master/debian/firmware-b43-installer.postinst


Andreas



More information about the pkg-nvidia-devel mailing list