FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Development

 
 
LinkBack Thread Tools
 
Old 08-18-2012, 01:09 PM
Steffen Möller
 
Default Allowing multi-arch specs in depends line?

Hello,

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.

Many thanks for your insights

Steffen


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 502F941A.5040206@gmx.de">http://lists.debian.org/502F941A.5040206@gmx.de
 
Old 08-19-2012, 01:05 AM
Steve Langasek
 
Default Allowing multi-arch specs in depends line?

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.

--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
slangasek@ubuntu.com vorlon@debian.org
 
Old 08-19-2012, 07:41 PM
Chow Loong Jin
 
Default Allowing multi-arch specs in depends line?

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
 

Thread Tools




All times are GMT. The time now is 09:50 AM.

VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org