Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-dev] [PATCH 0/4] New no-lib-symlink profile for developers
Date: Sat, 09 Jul 2016 21:01:53
Message-Id: 20160709210128.25449-1-mgorny@gentoo.org
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

Replies