1 |
On Fri, Oct 21, 2005 at 08:43:49AM +0900, Jason Stubbs wrote: |
2 |
> On Friday 21 October 2005 08:07, Brian Harring wrote: |
3 |
> > Bash hooks would exist in 3.0; they're user specific hooks only, hence |
4 |
> > the bit about java being an evil exception till 3.0 comes to town. I |
5 |
> > intend to lock down the pre/post hooks prior to ebuild sourcing under |
6 |
> > ebd, so ebuilds/eclasses trying to use those hooks won't be able to. |
7 |
> > |
8 |
> > In the meantime, it's a nice abuse of a user feature that makes java |
9 |
> > 1.4->1.5 stuff work, and works fine when 3.0 autodisables it. |
10 |
> |
11 |
> I don't get why it's "needed" by java ebuilds? Is it a fasttrack to getting |
12 |
> unsandboxed root access? |
13 |
Env var preservation against portage stomp of the vars. java vars in |
14 |
/etc/profile.env automatically stomp the re-loaded env per phase, to |
15 |
fix this you need either |
16 |
|
17 |
A) ebd with it's env saving/restoration |
18 |
B1) ebuilds to reset those vars for every phase |
19 |
B2) modify 700 ebuilds so they call this new func. |
20 |
C1) eclass that defines it's own funcs, src_unpack() { reset_vars; jc_src_unpack; } |
21 |
C2) Modify the couple hundred ebuilds that define *any* of the phase funcs. |
22 |
C3) Work out the compatibility nightmare when dealing with other eclasses |
23 |
D) Add a user feature (bonus for users), and have java eclasses abuse |
24 |
it (including warnings), allowing the env fix to be deployed |
25 |
without mangling ebuilds, and automatically disabled when the |
26 |
executing portage is ebd based. |
27 |
|
28 |
Granted... I laid it on thick, but D is the cleanest solution that |
29 |
solves it now providing a useful user feature, and covering up a major |
30 |
issue for java 1.4 -> java 1.5 support ebuild wise, without modifying |
31 |
700 ebuilds. |
32 |
|
33 |
Clarifying... I have no intention of expanding the phases, this is |
34 |
intended to be strictly user hooks, with the exception that java |
35 |
eclasses can abuse it right now (no other choice) till 3.0. |
36 |
With the java scenario, disabling the env reset (abuse of user hooks) |
37 |
works perfectly; under 3.0, they don't _need_ the env reset. |
38 |
~harring |