1 |
Hello, everyone. |
2 |
|
3 |
I've finally gotten around to wrapping up my multilib setup |
4 |
in a profile, and providing necessary patches to system packages |
5 |
to make it possible to use it without having to hack their mistaken |
6 |
logic around. |
7 |
|
8 |
The profile is called 'no-lib-symlink', and is provided as an alternate |
9 |
amd64 variant. Unlike the common profiles, it is based on three lib* |
10 |
directories: lib32 for 32-bit binaries, lib64 for 64-bit binaries |
11 |
and lib as a directory for software packages only (the new-style |
12 |
libexec). |
13 |
|
14 |
Please note that this is not the goal layout Gentoo should be working |
15 |
towards. In that layout, 'lib' needs to be used for 32-bit binaries for |
16 |
ABI compatibility's sake. My layout is rather targeted at developers who |
17 |
can benefit from having a clear split on where packages install files, |
18 |
and therefore being able to catch mistakes such as using 'lib' and |
19 |
$(get_libdir) interchangeably. |
20 |
|
21 |
This batch of patches includes also three patches for base system |
22 |
packages: |
23 |
|
24 |
a. a patch to prevent glibc from overriding LIBDIR* variables set by |
25 |
profiles. The logic used there is probably used for cross-compiling, |
26 |
and so it is moved into cross-compiling branch of code. |
27 |
|
28 |
b. a patch to fix 'else' branch of baselayout for SYMLINK_LIB=no |
29 |
systems. For some reason, this branch created 'lib' symlink when 'lib' |
30 |
did not exist -- therefore triggering another branch of code on next |
31 |
baselayout installation that replaced the symlink with a directory. |
32 |
The patch changes it to create the directory instead. |
33 |
|
34 |
c. a patch to prevent baselayout from complaining when both lib |
35 |
and lib32 are separate directories. In order to cover that case while |
36 |
preserving compatibility with the original intent, it skips |
37 |
the complaint when lib32 is considered a valid directory as well as lib. |
38 |
|
39 |
|
40 |
-- |
41 |
Best regards, |
42 |
Michał Górny |
43 |
|
44 |
--- |
45 |
|
46 |
Michał Górny (4): |
47 |
sys-libs/glibc: Do not reset multilib vars unless cross-compilnig, |
48 |
#588368 |
49 |
sys-apps/baselayout: Fix SYMLINK_LIB=no to create lib dir instead of |
50 |
sym |
51 |
sys-apps/baselayout: Do not complain about lib+lib32 when it is valid |
52 |
profiles: Add an amd64 no-lib-symlink profile |
53 |
|
54 |
profiles/arch/amd64/no-lib-symlink/make.defaults | 2 ++ |
55 |
profiles/arch/amd64/no-lib-symlink/parent | 1 + |
56 |
profiles/default/linux/amd64/13.0/no-lib-symlink/parent | 2 ++ |
57 |
profiles/profiles.desc | 1 + |
58 |
sys-apps/baselayout/baselayout-2.2-r1.ebuild | 6 ++---- |
59 |
sys-libs/glibc/files/eblits/common.eblit | 3 ++- |
60 |
6 files changed, 10 insertions(+), 5 deletions(-) |
61 |
create mode 100644 profiles/arch/amd64/no-lib-symlink/make.defaults |
62 |
create mode 100644 profiles/arch/amd64/no-lib-symlink/parent |
63 |
create mode 100644 profiles/default/linux/amd64/13.0/no-lib-symlink/parent |
64 |
|
65 |
-- |
66 |
2.9.0 |