1 |
Hello, developers and users. |
2 |
|
3 |
I'm pretty sure that all of you are waiting with bated breaths for news |
4 |
on the multilib project, so I've scrambled this quick newsletter |
5 |
listing our latest achievements, issues and other things you may want |
6 |
to know. |
7 |
|
8 |
In random order: |
9 |
|
10 |
1. hasufell fixed the header wrapping issues with libsdl that triggered |
11 |
build failures in programs using SDL without pkg-/sdl-config [1]. Well, |
12 |
to be more exact, he removed wrapping completely, and along with it |
13 |
the x86 Hermes blitter assembly and support for libggi & directfb that |
14 |
created differences in <sdl-config.h> and is no longer available |
15 |
in SDL2 anyway. |
16 |
|
17 |
2. pesa is still working on Qt4 in the project overlay [2]. He's making |
18 |
progress all the time but there's still a lot to do -- and if you're |
19 |
wondering, the current version doesn't support multilib properly yet |
20 |
(fails on wrapped headers for a start). |
21 |
|
22 |
3. Conversions of the remaining emul-linux-x86 libraries are stalled |
23 |
as 'likely unnecessary'. In other words, please do not enable multilib |
24 |
on some package just because it was in emul-linux-x86 since the dawn |
25 |
of Gentoo. Convert it only when something else requires it. |
26 |
|
27 |
4. I cleaned up all arch/ profiles to support multilib consistently, |
28 |
and blueness handled most of hardened/*/{musl,uclibc}. A matrix of what |
29 |
needed to be done is on the wiki [4]. Most importantly, this means that |
30 |
from now on you can consistently match ${ABI} inside ebuilds |
31 |
independently of whether the profile is multilib or not. In multilib |
32 |
ebuilds you can also match ${MULTILIB_ABI_FLAG} (TODO: export it |
33 |
globally as well for non-multilib ebuilds?). |
34 |
|
35 |
5. We (I and _AxS_) also made the native ABI flag implicit USE. This |
36 |
means that from now on, every ebuild on x86 pretends to have abi_x86_32 |
37 |
-- even if it's not multilib. This allows the USE-deps to match earlier |
38 |
versions of packages for people who do not need multilib. |
39 |
|
40 |
6. _AxS_ found out that -- thanks to the above -- we can write |
41 |
dependencies for x86 binary packages much simpler. Some details are |
42 |
on the wiki [5]. Long story short, the modern deps go like: |
43 |
|
44 |
|| ( |
45 |
( |
46 |
>=dev-libs/glib-2.34.3:2[abi_x86_32(-)] |
47 |
>=virtual/opengl-7.0-r1[abi_x86_32(-)] |
48 |
) |
49 |
amd64? ( |
50 |
app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] |
51 |
app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)] |
52 |
) |
53 |
) |
54 |
|
55 |
Once the emul-linux-x86 are gone, it will be enough to drop |
56 |
the 'amd64?' block and the outer || (). |
57 |
|
58 |
7. I have made sys-libs/lib-compat installable on amd64 and replaced |
59 |
emul-linux-x86-compat with a metapackage (since the two installed |
60 |
the same binary thing). I've also fixed sys-libs/lib-compat-loki to |
61 |
install its libraries in lib32 rather than lib64 (QA, whert art |
62 |
thou?!). Note that this may break stuff that relied on the wrong |
63 |
location but we're likely going to p.mask both for security |
64 |
and license issues anyway [6,7,8]. |
65 |
|
66 |
8. We also started fixing ebuilds to support multilib deps but it's |
67 |
really hard work. There is a progress tracker on the wiki [9] but it |
68 |
lists only packages that depend on emul-linux-x86... and there are |
69 |
32-bit games keyworded amd64 with no emul-linux-x86 deps. And most of |
70 |
games have incorrect, broken, mis-synced and otherwise horrible deps |
71 |
anyway. |
72 |
|
73 |
9. Following some known shortcomings and a Funtoo request, I've added |
74 |
'exception' support to multilib-dep-fixor [10]. In particular, it |
75 |
allows us to force lower-known-safe versions of packages than it used |
76 |
to put before. If you feel like it goes too high, and you know EAPI=5 |
77 |
(or multilib) was there for a long time, please suggest adding another |
78 |
exception. |
79 |
|
80 |
10. Oh, and in case anyone was wondering -- stable tree is still |
81 |
silently broken, and arch teams are slacking in fixing the remaining |
82 |
stabilizations [11]. Would someone mind dropping some of the packages |
83 |
back to ~arch? |
84 |
|
85 |
11. If all goes well, we may be able to mask emul-linux-x86 for removal |
86 |
this summer. |
87 |
|
88 |
[1]:https://bugs.gentoo.org/show_bug.cgi?id=512430 |
89 |
[2]:http://git.overlays.gentoo.org/gitweb/?p=proj/qt.git;a=summary |
90 |
[3]:https://bugs.gentoo.org/show_bug.cgi?id=510042 |
91 |
[4]:https://wiki.gentoo.org/wiki/Multilib_porting_status#Profile_fixing_status |
92 |
[5]:https://wiki.gentoo.org/wiki/Project:Multilib/Tips_%26_tricks#Binary_Package_Dependencies |
93 |
[6]:https://bugs.gentoo.org/show_bug.cgi?id=510960 |
94 |
[7]:https://bugs.gentoo.org/show_bug.cgi?id=510962 |
95 |
[8]:https://bugs.gentoo.org/show_bug.cgi?id=504952 |
96 |
[9]:https://wiki.gentoo.org/wiki/Multilib_porting_status#Dependency_update_status |
97 |
[10]:https://bitbucket.org/mgorny/multilib-dep-fixor |
98 |
[11]:https://bugs.gentoo.org/show_bug.cgi?id=507148 |
99 |
|
100 |
-- |
101 |
Best regards, |
102 |
Michał Górny |