On 19/08/2012 09:05, Steve Langasek wrote: > On Sat, Aug 18, 2012 at 03:09:46PM +0200, Steffen Möller wrote: > >> I prepared a package for BOINC (http://boinc.berkeley.edu) with all the >> dependencies for owners of CUDA-savvy NVidia cards to help installing the >> libraries. Since many scientific applications with BOINC only have 32bit >> binaries, there are extra dependencies for the amd64 platform on the >> respective 32bit variants. This looked like >> libcuda1-ia32 [amd64]|nvidia-current [amd64] >> in the past and was just fine. But recently the nvidia drivers became >> multiarched, so libcuda1-ia32 no longer exists. A respective update built >> nicely, but lintian complains: > >> E: boinc-nvidia-cuda: bad-provided-package-name libcuda1:i386 > >> The package name is fine, it is even installed: > >> $ dpkg -l libcuda1* | egrep '^(ii|\|\|)' | awk '{print $2,$3,$4}' >> Name Version Architecture >> libcuda1:amd64 304.37-1 amd64 >> libcuda1:i386 304.37-1 i386 > >> Is there another way to express the dependency? Or is this a lintian bug? >> I found my specification rather intuitive. > > You may not use :$arch specifiers in dependencies for wheezy. The squeeze > package manager cannot parse such dependencies, so allowing them would make > it impossible to upgrade to wheezy from squeeze. > > To work around this, you may need the help of the libcuda maintainers to > provide suitable architecture-dependent packages, marked Multi-Arch: > foreign, that you can depend on in place of using the :$arch suffix. >
That might make sense if this sort of situation was common. If it were specific to boinc-nvidia-cuda, I would think that boinc-nvidia-cuda should be split in a manner similar to this: Package: boinc-nvidia-cuda Architecture: amd64 i386 Depends: boinc-nvidia-cuda-ia32 (= ${binary:Version}), libcuda1 | nvidia-current Package: boinc-nvidia-cuda-ia32 Architecture: i386 Multi-Arch: foreign Depends: libcuda1 | nvidia-current -- Kind regards, Loong Jin
signature.asc
Description: OpenPGP digital signature