Comment 6 for bug 733501

Revision history for this message
Steve Langasek (vorlon) wrote : Re: [Linaro-release] [Bug 733501] Re: FFe: transitioning libraries to multiarch paths

On Mon, Mar 14, 2011 at 08:00:02AM -0000, Martin Pitt wrote:
> "dpkg that implements support for the final library paths", "gcc and
> eglibc to use the paths", and "debhelper and pkg-config patches to
> support multiarch" will only enable additional library search paths, and
> thus our current libary packages should continue to work unmodified,
> right?

Correct.

> That is, with the exception of lib32ffi-dev and friends; do you know (by
> grepping Contents.gz or similar) that this is the complete list?

Yes, this is a grep for 'usr/(lib|include)/i686-linux-gnu' in i386 and amd64
Contents.gz.

> I don't think we are in a hurry to update the library stack by beta. We
> should,, upload a small set of central libraries (i. e. if something
> breaks, we _will_ notice), such as glib2.0, libx11, libxcb, libpcre, and
> libdl (all of which are required by libflashplayer.so).

I have a pretty good set of libraries bootstrapped at
https://launchpad.net/~vorlon/+archive/multiarch/, FWIW. It's actually
enough to make flashplugin-installer cross-installable, but not
co-installable with a desktop yet.

> Question here: Once the new debhelper is in, will library packages will
> be built for multiarch compatible paths by default, or does this need to
> be enabled in debian/rules?

If using dh(1) and your package uses autoconf, you can switch to compat
level 9 and the package will build for multiarch paths by default. It's not
safe to make this a completely automatic conversion:

 - a new pre-depends line needs to be added to the library to ensure that
   the virtual package 'multiarch-support' (provided by a compatible libc)
   is installed before we unpack libraries to the new path.
 - various embedded paths in debian/*.install, debian/*.links, etc will be
   invalidated, and not all of these will be detected at build time
 - patches may be needed for backwards-compatible plugin directory handling

So I'll make this as easy as possible to switch, but it's not automatic.
And I see no good way to simplify the conversion for cdbs, which doesn't use
dh_auto_configure. I guess cdbs could itself key on debian/compat >= 9 and
pass the --libdir option automatically, but as this behavior change would not
be nearly as discoverable with cdbs as it is with debhelper, I prefer not to
get too clever.

--
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/
<email address hidden> <email address hidden>