[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

help on icu bug 451767/451978: extra dependency

Fellow developers,

I'm requesting some assistance on bugs 451767 and 451978 (which are
the same).  On some 64-bit platforms, the ICU packages create 32-bit
libraries.  Unfortunately, the dependencies on the 32-bit library
package for 64-bit systems (lib32icu36) is listed as a dependency of
the regular 32-bit libraries (libicu36) on at least amd64.  The
Depends line for each in the control file is just ${shlibs:Depends}.

So it seems that dh_shlibdeps is deciding that the 64-bit libraries
should depend on the 32-bit libraries, and it's not clear how to
prevent from doing so.

I can think of a two potential solutions:

 * Figure out exactly why dh_shlibdeps is deciding to do this.
   Unfortunately, I don't have a really good way to do this since
   pergolesi doesn't have all of icu's build dependencies installed
   and I don't have access to any other amd64 system.  I could work
   around these issues as I describe below.

 * Work around this by sticking something in the package generation
   process that edits debian/libicu36/DEBIAN/control to remove the
   offending dependency.  This is a hack, and since I'm using cdbs, it
   would also require overriding pieces of cdbs in an unsafe manner.

If anyone has another suggestion, I'd be interested in hearing it.
Feel free to reply to this or to update bug 451767 with a patch or

If I don't hear anything, I'll take a crack at it when I'm back in
town by just manually setting things up on pergolesi and running the
various debhelper or underling dpkg-dev commands by hand to see if I
can figure this out.  Although I can't currently build the packages
there because I lack the cross development environment, I may be able
to at least partially simulate what's going on by just populating
debian/tmp or debian/pkg-name from the results of extracting the
binary packages, which I can just download.  Then I can run the end
pieces of the build manually.

Unfortunately, I have had to do a lot of uploads of the icu packages
to fix problems with providing 32-bit libraries on 64-bit platforms.
As an ix86-only person, I've had to go against my principles and rely
on the autobuilders to test the packages on amd64.  I've also used
zlib as an example, which has been very useful.

I've made a second request to debian-admin to install the missing
prerequisites on pergolesi in the appropriate chroot.

Thanks for any suggestions.

Jay Berkenbilt <qjb@debian.org>

Reply to: