Gentoo Archives: gentoo-dev

From: Alexis Ballier <aballier@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [PATCH] multilib eclass support for building binaries for none-default ABI
Date: Mon, 26 Aug 2013 14:16:56
Message-Id: 20130826101645.156feaa0@gentoo.org
In Reply to: Re: [gentoo-dev] [PATCH] multilib eclass support for building binaries for none-default ABI by Ulrich Mueller
1 On Sun, 25 Aug 2013 16:15:31 +0200
2 Ulrich Mueller <ulm@g.o> wrote:
3 > > first version (multilib1.patch) directly changes the output of the
4 > > currently used multilib_is_native_abi() function:
5 >
6 > I think this would be very misleading. If a function is called
7 > multilib_is_native_abi then it should test for exactly that, not for
8 > something else.
9
10 Native abi only really makes sense as 'the abi you want the binaries
11 for'; maybe it is misleading, but i don't think it's worth changing the
12 name.
13
14 However, these patches do not make sense as the only thing they do
15 is allowing building binaries twice so that the 'native abi' ones
16 override the previously built binaries. The justification for this is an
17 invalid, utterly broken, hypothetical case where people install
18 packages with invalid settings (disabling default/native abi).
19
20 Even if we want to support this approach, this will not work that
21 easily: Some packages install both binaries and libraries; usually the
22 binaries have more deps than the libraries, hence the correct dep
23 string for this packages is [MULTILIB_USEDEP] on the deps of the
24 libraries and a plain dep (assuming native abi) for the rest. Look at
25 e.g. jack-audio-connection-kit or lame. Anything else is bloated.
26
27 If we want to allow multibin, or rather a mixed system where some bins
28 have ABI A and some others have ABI B, this will require a more
29 thorough solution than these quick hacks: With one of these patches, if
30 you ask for building all the binaries and disable your native abi, you
31 get a binary with a non native ABI but also get broken deps in your
32 packages since they do not RDEPEND on the correct ABI of its deps.
33
34 Alexis.