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