Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I've created a package which contains 32-bit libraries for compatibility with 32-bit applications on 64-bit systems, stored in /usr/lib32. This causes the ia32-libs dependency being added to my package. However, the package works perfectly fine without those libraries as other 32-bit programs should install ia32-libs themselves.

How do I prevent the build process from generating the ia32-libs dependency? nvidia-current seems to able to do this too, but uses CDBS which I do not use. (I use a plain rules file as generated by dh_make)

share|improve this question
    
This doesn't make sense "as other 32-bit programs should install ia32-libs themselves." So why do you care about the dependency? –  Steve-o Aug 29 '11 at 9:13
    
The package in question is virtualgl. This program provides 32-bit libraries in order to work with 32-bit programs. Without those 32-bit programs, the 32-bit libs are obsolete so I do not want the package to depend on the huge ia32-libs. –  Lekensteyn Aug 29 '11 at 9:25
    
So a multiarch package? –  Steve-o Aug 29 '11 at 9:32
    
@Steve-o: Not a multi-arch package for now, I'm targetting Lucid and Maverick too. –  Lekensteyn Aug 29 '11 at 9:43
add comment

2 Answers

Removal of the ia32-libs dependency is explicitly covered in the Debian Multiarch Implementation guide:

http://wiki.debian.org/Multiarch/Implementation

Which basically means if there are certain dpkg tools that are emitting too many packages when specifying multiarch then it is a tool bug and now is a good time to file a report.

share|improve this answer
add comment
up vote 0 down vote accepted

To make debhelper ignore the 32-bit libraries, I had to add a target for ignoring paths containing /usr/lib32:

override_dh_shlibdeps:
    dh_shlibdeps --exclude=/usr/lib32

After that, the ia32-libs dependencies would not be calculated anymore. Since this target is only needed for 64-bit systems, I actually use the below snippet for the virtualgl package:

ifeq ($(DEB_BUILD_ARCH), amd64)
override_dh_shlibdeps:
    dh_shlibdeps --exclude=debian/virtualgl/usr/lib32
endif

Note that the whitespace before dh is a tab.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.