1 |
Hi, all. |
2 |
|
3 |
Following the issue brought up in bug #508278 |
4 |
(${CHOST}-pango-querymodules not available on non-multilib systems), |
5 |
I was thinking how to improve the wrapping conditionals so that it |
6 |
would work best for both multilib and non-multilib systems, while |
7 |
keeping it compatible with multilib-portage. |
8 |
|
9 |
The underlying issue there is that multilib-portage has its own |
10 |
executable wrapping that is incompatible with the wrapping done |
11 |
by the eclass. For this reason, Tommy has requested the eclass wrapping |
12 |
to be disabled when a single ABI is used (which multilib-portage |
13 |
pretends to do) -- so that the binary would be simply installed for |
14 |
further wrapping by multilib-portage. |
15 |
|
16 |
Sadly, this means that ebuild authors have to consider two cases -- |
17 |
when ${CHOST}-executable is available, and when it is not. For most |
18 |
of the multilib packages, autotools automatically find the correct |
19 |
option. However, direct references in ebuild aren't that easy. |
20 |
|
21 |
I think it would be better if ebuild authors would be able to use |
22 |
${CHOST}-executable consistently for all systems. Therefore, I'd like |
23 |
to make the wrapping code suitable for all the use cases, including |
24 |
non-multilib systems and multilib-portage. |
25 |
|
26 |
|
27 |
I'm proposing the following changes to the eclasses: |
28 |
|
29 |
1. move wrapping conditionals from different eclasses into |
30 |
multilib_prepare_wrappers and multilib_install_wrappers -- for improved |
31 |
consistency and decreased amount of code, |
32 |
|
33 |
2. replace the 'if at least two ABIs are built' conditional with plain |
34 |
'if multilib-portage is not used' -- that is, enable the wrapping for |
35 |
non-multilib systems. It may deem unnecessary but it doesn't hurt |
36 |
and improves consistency. |
37 |
|
38 |
3. add additional compatibility code for multilib-portage -- that |
39 |
creates working '${CHOST}-executable -> executable' symlinks, utilizing |
40 |
multilib-portage executable wrapping and providing compatibility with |
41 |
both called names. |
42 |
|
43 |
Patches sent as replies. What are your thoughts? |
44 |
|
45 |
[1]:https://bugs.gentoo.org/show_bug.cgi?id=508278 |
46 |
|
47 |
-- |
48 |
Best regards, |
49 |
Michał Górny |