public inbox for gentoo-portage-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Brian Harring <ferringb@gentoo.org>
To: gentoo-portage-dev@lists.gentoo.org
Subject: Re: [gentoo-portage-dev] [PATCH] pre/post phase hooks for users
Date: Thu, 20 Oct 2005 20:07:12 -0500	[thread overview]
Message-ID: <20051021010712.GD6127@nightcrawler> (raw)
In-Reply-To: <200510210843.49679.jstubbs@gentoo.org>

[-- Attachment #1: Type: text/plain, Size: 2042 bytes --]

On Fri, Oct 21, 2005 at 08:43:49AM +0900, Jason Stubbs wrote:
> On Friday 21 October 2005 08:07, Brian Harring wrote:
> > Bash hooks would exist in 3.0; they're user specific hooks only, hence
> > the bit about java being an evil exception till 3.0 comes to town.  I
> > intend to lock down the pre/post hooks prior to ebuild sourcing under
> > ebd, so ebuilds/eclasses trying to use those hooks won't be able to.
> >
> > In the meantime, it's a nice abuse of a user feature that makes java
> > 1.4->1.5 stuff work, and works fine when 3.0 autodisables it.
> 
> I don't get why it's "needed" by java ebuilds? Is it a fasttrack to getting 
> unsandboxed root access?
Env var preservation against portage stomp of the vars.  java vars in 
/etc/profile.env automatically stomp the re-loaded env per phase, to 
fix this you need either

A) ebd with it's env saving/restoration
B1) ebuilds to reset those vars for every phase
B2) modify 700 ebuilds so they call this new func.
C1) eclass that defines it's own funcs, src_unpack() { reset_vars; jc_src_unpack; }
C2) Modify the couple hundred ebuilds that define *any* of the phase funcs.
C3) Work out the compatibility nightmare when dealing with other eclasses
D) Add a user feature (bonus for users), and have java eclasses abuse 
   it (including warnings), allowing the env fix to be deployed 
   without mangling ebuilds, and automatically disabled when the 
   executing portage is ebd based.

Granted... I laid it on thick, but D is the cleanest solution that 
solves it now providing a useful user feature, and covering up a major 
issue for java 1.4 -> java 1.5 support ebuild wise, without modifying 
700 ebuilds.

Clarifying... I have no intention of expanding the phases, this is 
intended to be strictly user hooks, with the exception that java 
eclasses can abuse it right now (no other choice) till 3.0.
With the java scenario, disabling the env reset (abuse of user hooks) 
works perfectly; under 3.0, they don't _need_ the env reset.
~harring

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2005-10-21  1:07 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-11  8:05 [gentoo-portage-dev] [PATCH] pre/post phase hooks for users Brian Harring
2005-10-14 16:31 ` Thomas Matthijs
2005-10-14 22:02   ` Brian Harring
2005-10-14 22:05     ` Brian Harring
2005-10-20 14:37       ` Jason Stubbs
2005-10-20 23:07         ` Brian Harring
2005-10-20 23:43           ` Jason Stubbs
2005-10-21  1:07             ` Brian Harring [this message]
2005-10-21 15:19               ` Jason Stubbs
2005-10-26  9:38 ` Thomas Matthijs
2005-10-29 14:34   ` Brian Harring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20051021010712.GD6127@nightcrawler \
    --to=ferringb@gentoo.org \
    --cc=gentoo-portage-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox