1 |
On 25-03-2009 13:19:31 +0100, Markus Duft wrote: |
2 |
> > > for all these things i can say: they won't hurt anybody, as long as |
3 |
> > > there is no READONLY_EROOT set in make.conf, which should not be the |
4 |
> > > case ;) that's the trigger that activates all changes. |
5 |
> > |
6 |
> > I think READONLY_EROOT is a bad name/starting point. To make this |
7 |
> > "feature" generic you should go from READONLY_ROOT I guess. But I don't |
8 |
> > see what ROOT has to do with Prefix chaining anyway. From what you |
9 |
> > wrote before it seems like you run stuff from READONLY_EROOT, which is |
10 |
> > usually impossible/hard with ROOT != / |
11 |
> |
12 |
> hmm, maybe you're right. actually the whole thing has not too much to do |
13 |
> with ROOT. i think the most correct one would be READONLY_EPREFIX, but |
14 |
> i'm unsure if that would be a good name. suggestions? |
15 |
|
16 |
Why is that a bad name? It immediately makes clear to me what it is |
17 |
about. RO_EPREFIX=/prefix1:/prefix2:/prefixC ? |
18 |
|
19 |
> > > etc/env.d/00basic: |
20 |
> > > * added EPREFIX variable, since if the currently used portage |
21 |
> > > instance comes from a chained prefix, portage needs to be |
22 |
> > > explicitly informed of the EPREFIX. this should not disturb |
23 |
> > > anybody, since it can be overridden after starting the prefix |
24 |
> > > again... |
25 |
> > |
26 |
> > This is bad, and I would call it a blocker. |
27 |
> |
28 |
> hm. the problem is the following: i can use a portage installed into |
29 |
> another EPREFIX, which forces me to set EPREFIX for the "child" eprefix, |
30 |
> if i want to use portage (i want to :)). instead of setting it in env.d |
31 |
> i could set it in startprefix (that is a script installed by |
32 |
|
33 |
Do you want to keep that startprefix synchronised with |
34 |
bootstrap-prefix.sh' one? Perhaps you can call the bootstrap script's |
35 |
function to generate the script with some changes here and there to |
36 |
accomodate what you need? |
37 |
|
38 |
> prefix-chain-utils, one of the new packages i'll add for |
39 |
> prefix-chaining), and only if i'm unable to detect a local portage. |
40 |
> would that help? that would eliminate EPREFIX in 99% of all cases, since |
41 |
> the prefix-chain-setup script used to bootstrap a chained prefix |
42 |
> installs portage, unless --minimal is given (which i will do for winnt |
43 |
> chained prefixes - and maybe in the future for other cross-chained |
44 |
> eprefixes (for example cross-multilib-abi on a linux system...?)). could |
45 |
> you live with that? |
46 |
|
47 |
The thing is, in principle I don't want EPREFIX to be set by the system |
48 |
in the environment. If you set it, you should know what you're doing, |
49 |
since Portage "listens" to it. |
50 |
|
51 |
Now my question is, where exactly do you need EPREFIX set? Do you need |
52 |
a foreign Portage to manage your local packages? Do you need it to have |
53 |
your local Portage call your foreign Portage? |
54 |
|
55 |
> with the current situation i would end up with a path like this: |
56 |
> |
57 |
> /my/chained/eprefix/bin:...:/usr/bin:/bin:/my/parent/prefix/bin:...:/usr/bin:/bin |
58 |
> |
59 |
> but i want: (to find executable from prefixes before the system of |
60 |
> course) |
61 |
> |
62 |
> /my/chained/eprefix/bin:...:/my/parent/prefix/bin:...:/usr/bin:/bin |
63 |
|
64 |
Ok. |
65 |
|
66 |
> so only the last prefix in a chain (when there is no chain, the only |
67 |
> EPREFIX in play behaves like the last of the chain - it actually is - |
68 |
> the chain is just exactly one EPREFIX long :)) sets system wide dirs |
69 |
> into PATH. |
70 |
|
71 |
I wonder if it isn't better set by env.d entries which portage then |
72 |
transforms into a profile.env, which avoids the scary recursive sourcing |
73 |
(and shell startup slowdown) and also is less error prone. |
74 |
|
75 |
> > > * the last hunk is for correctly setting the chained variables |
76 |
> > > which i listed above (PATH, MANPATH, etc.). |
77 |
> > |
78 |
> > > If nobody has objections, i'll commit. i'll wait a few hours before |
79 |
> > > committing. |
80 |
> > |
81 |
> > I don't feel good about this, and I think it will break. |
82 |
> |
83 |
> what exactly will break? i tested it at least in i hope most relevant |
84 |
> parts, to ensure that it doesn't break. however - of course - i can't |
85 |
> promise. |
86 |
|
87 |
|
88 |
-- |
89 |
Fabian Groffen |
90 |
Gentoo on a different level |