Gentoo Archives: gentoo-project

From: William Hubbs <williamh@g.o>
To: gentoo-project@l.g.o
Subject: Re: [gentoo-project] Council meeting: Tuesday 11 November 2012, 19:00 UTC
Date: Fri, 09 Nov 2012 18:03:07
Message-Id: 20121109170149.GA22128@linux1
In Reply to: Re: [gentoo-project] Council meeting: Tuesday 11 November 2012, 19:00 UTC by Rich Freeman
1 On Fri, Nov 09, 2012 at 11:03:48AM -0500, Rich Freeman wrote:
2 > On Fri, Nov 9, 2012 at 10:32 AM, William Hubbs <williamh@g.o> wrote:
3 > > That has been done already by toolchain a while back. Take a look at the
4 > > code in toolchain-funcs.eclass. There are very few platforms where this
5 > > function does anything at all these days. It would just be a matter of
6 > > removing linux from the platforms it supports.
7 >
8 > My concern isn't that the code won't do what you're expecting it to.
9 > I have every confidence that the files will move to exactly where you
10 > want them to go.
11 >
12 > My concern is all the downstream effects after that. Does anything
13 > hard-code a path in /? Do any config files in /etc reference those
14 > paths, maybe for plugins/etc? What about linking - will we have any
15 > issues if core system binaries are linked to paths in /?
16
17 After separate /usr is implemented, I would throw out the patch to -dev
18 to disable this, then people could apply the patch and start testing;
19 this is when we would get all of these answers.
20
21 > > Since applying the patch itself will not force any rebuilds, it should
22 > > just end up being a natural migration; as things are rebuilt the
23 > > libraries will move from /lib to /usr/lib with no harm being done.
24 >
25 > Except to anything that depends on those libraries being in /lib.
26 > Maybe that is nothing, but until you test the migration you don't
27 > know.
28
29 See above. You could apply the patch then see what breaks before we
30 actually put it in the tree.
31
32 > Testing doesn't mean changing the eclass, installing bzip2, and noting
33 > that the library moves to /usr. It means then testing anything that
34 > depends on bzip2 and making sure that they weren't broken as a result.
35
36 The linker script would stay in /usr/lib and the library would stay in
37 /lib until bzip2 was rebuilt. At that point, the library itself would move
38 back to /usr/lib, so wouldn't that cover linking issues?
39
40 > Oh, and if everything doesn't move overnight then packages could
41 > migrate in almost any order, which means you have to look out for
42 > potential race conditions.
43
44 The only way to force everything to move overnight would be to tell
45 everyone to rebuild their systems, which isn't really practical,
46 because we can't make that happen.
47
48 > I would hope that the main issue is going to be linking and perhaps
49 > @preserved-libs would help with that if it ever becomes stable.
50 > However, when moving so many libraries you need to think carefully
51 > about testing. How many things depend on zlib or ncurses or libcap or
52 > pam or libpcre?
53
54 I'm not sure how we would break linking, since the linker scripts in
55 /usr/lib would be replaced by the libraries only after each package is
56 rebuilt.
57
58 The other option could be to remove the calls to gen_usr_ldscript from
59 each linux-only ebuild before we disable it on linux.
60 That way we could see how much things break. Then, once it is out of the
61 linux-only ebuilds, we could disable it on linux.
62
63 I'm not sure how much that would help though since it would still hit
64 all of the shared ebuilds at once.
65
66 I definitely do not think that gen_usr_ldscript belongs in this council
67 vote; I"m not even sure it does belong in a council vote, because the
68 details of making this happen would be worked out on -dev.
69
70 William