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 |