1 |
On Sat, 31 Dec 2011 19:59:47 -0600 |
2 |
William Hubbs <williamh@g.o> wrote: |
3 |
|
4 |
> I see three options: |
5 |
> |
6 |
> 1) Start migrating packages along with upstream and have everyone who |
7 |
> has a separate /usr (including me by the way) start using an initramfs |
8 |
> of some kind, either dracut or one that we generate specifically for |
9 |
> gentoo. The reason I suggest the initramfs, is, unfortunately if we |
10 |
> migrate everything, nothing else would work. |
11 |
> |
12 |
> 2) Combine the sbin and bin directories both on the root |
13 |
> filesystem and in /usr by moving things from /sbin to /bin |
14 |
> and /usr/sbin to /usr/bin. |
15 |
> |
16 |
> 3) Try to maintain things the way they are as long as possible. |
17 |
|
18 |
We should *at least* start doing some preparations, like ensuring that |
19 |
random things don't unnecessarily hardcode /sbin or /bin paths. Most |
20 |
importantly, if a particular tool runs in a complete environment (which |
21 |
is true for most of the cases), there is no need to hardcode paths to |
22 |
tools. |
23 |
|
24 |
As I see it, 2) seems achievable within a reasonable time now. It |
25 |
shouldn't require any specific changes from users (except for fixing |
26 |
their own broken scripts) yet some tree-wide action of fixing hardcoded |
27 |
paths. |
28 |
|
29 |
We could create /sbin and /usr/sbin symlinks as well but that shouldn't |
30 |
be really necessary, especially if we prepare packages well beforehand. |
31 |
Introducing such symlinks would be hard to perform and getting rid of |
32 |
them later would be even harder; mostly due to PMS-enforced limitations. |
33 |
|
34 |
For a long-term view, 1) is the only way to go. Splitting packages |
35 |
randomly between rootfs and /usr was never really correct, and we |
36 |
especially shouldn't force users to junk their systems with shattered |
37 |
packages and cheap glue to keep it all working. |
38 |
|
39 |
I'd suggest going the other way than I did with kmod. Temporary IUSE |
40 |
like 'install-to-usr', disabled by default for now. Packages having |
41 |
that IUSE should have correct USE-dependencies, and users who need not |
42 |
to use that could just enable 'install-to-usr' globally (we'd probably |
43 |
want to mask it first). |
44 |
|
45 |
Of course, that way will require removing hardcoded paths as well, or |
46 |
supporting switching them on IUSE. For the latter, it may be simpler to |
47 |
use '[install-to-usr=]' kind of dependencies. |
48 |
|
49 |
-- |
50 |
Best regards, |
51 |
Michał Górny |