1 |
On 07/01/2012 02:34 PM, Thomas Sachau wrote: |
2 |
> Zac Medico schrieb: |
3 |
>> On 07/01/2012 04:29 AM, Thomas Sachau wrote: |
4 |
>>> Matt Turner schrieb: |
5 |
>>>> On Fri, Jun 29, 2012 at 10:30 AM, Thomas Sachau <tommy@g.o> wrote: |
6 |
>>>>> |
7 |
>>>> |
8 |
>>>> I'm interested in this because I'm regularly annoyed with the emul- |
9 |
>>>> packages and also because multilib is pretty important for mips. |
10 |
>>>> |
11 |
>>>>> If a package has dependencies, then those dependencies are required to have |
12 |
>>>>> at least the same targets enabled as the package |
13 |
>>>> |
14 |
>>>> That seems like the obvious (but perhaps naive) choice. What about |
15 |
>>>> depending on packages that don't install libraries, like x11-proto/ |
16 |
>>>> packages or generators like dev-util/indent? |
17 |
>>>> |
18 |
>>>> Maybe I just don't understand. Would these packages even have ABI flags? |
19 |
>>> |
20 |
>>> All packages do get the ABI flags (with the needed EAPI or via enabled |
21 |
>>> portage feature, which is currently in the multilib branch). |
22 |
>>> |
23 |
>>> If a package does not install anything ABI-specific (no headers, no libs |
24 |
>>> and no binaries), then there is no overhead, since it will just get |
25 |
>>> compiled/installed for one ABI, even if multiple ABI flags are enabled. |
26 |
>> |
27 |
>> For a package like this that does not install anything ABI-specific, |
28 |
>> does the package manager still execute phases for each enabled ABI, or |
29 |
>> is there some way for the ebuild to indicate whether or not its phases |
30 |
>> need to be executed for each enabled ABI? |
31 |
>> |
32 |
> |
33 |
> |
34 |
> This is dynamicly checked at runtime, no need to modify the ebuilds and |
35 |
> also no needless compilation, when there is no ABI-specific content. |
36 |
> |
37 |
> A more detailed answer at package manager level: |
38 |
> After the src_install phase for the first requested ABI has been |
39 |
> finished, the content of $DESTDIR is checked. If there is no ABI |
40 |
> specific content, the other enabled ABIs are skipped and the following |
41 |
> steps are done as usual. |
42 |
|
43 |
In case anyone want some more detail, here's a follow-up question from irc: |
44 |
|
45 |
<zmedico> Tommy[D]: does any ELF executable qualify as "abi specific" |
46 |
and trigger builds for all ABIs? |
47 |
<Tommy[D]> zmedico: if it goes into any of /bin /usr/bin /sbin /usr/sbin |
48 |
and you enable the abiwrapper USE flag, yes, otherwise you just request |
49 |
a binary for the default ABI, so no need to rebuild everything for no need |
50 |
-- |
51 |
Thanks, |
52 |
Zac |