On Mon, Sep 17, 2012 at 08:45:22AM +0200, Ralph Sennhauser wrote:
> On Sun, 16 Sep 2012 19:41:14 -0700
> Brian Harring <ferri...@gmail.com> wrote:
> 
> > On Sun, Sep 16, 2012 at 10:10:47PM -0400, Mike Frysinger wrote:
> > > On Sunday 16 September 2012 03:51:04 Brian Harring wrote:
> > > > +       if ! has $EAPI 0 1 2 3; then
> > > > +               eqawarn "built_with_use should not be used in
> > > > $EAPI; use USE deps."
> > > > +       elif has $EAPI 2 3; then
> > > > +               if [[ $hidden == yes ]] || $missing_was_set; then
> > > > +                       eqawarn "built_with_use in EAPI=$EAPI
> > > > without --missing or --
> > > hidden
> > > > usage, should use USE deps instead." +          else
> > > > +                       eqawarn "built_with_use should not be
> > > > used; upgrade to EAPI=4 
> > > instead"
> > > > +               fi
> > > > +       fi
> > > 
> > > i'd do:
> > >   case ${EAPI:-0} in
> > >   # No support in these EAPIs, so don't warn.
> > >   0|1) ;;
> > >   # Maybe warn as some functionality exist.
> > >   2|3) [[...]] && eqawarn "..." ;;
> > >   # Assume EAPI=4 or newer where all functionality exists.
> > >   *) eqawarn "..." ;;
> > >   esac
> > 
> > I'd be fine w/ it; worth noting, that was a 4am patch, so I'm not 
> > claiming perfect implementatoin there. :)
> > 
> > My main focus here is switching built_with_use to actively nagging 
> > people to stop using it; this includes nagging EAPI0/1 users of it.
> > 
> > Sans the implementation details, anyone got complaints with the 
> > intent?
> 
> How about raising the EAPI baseline from 0 to 2 - ie. every package may
> use EAPI 2; not the same as deprecating 0 1 - and do:
> 
>     case ${EAPI:-0} in
>         0|1|2|3|4) eqawarn "From <date> onwards this will die" ;;
>         *) die ... ;;
>     esac
> 
> as EAPI 2 supports the --missing case via constructs as:
> 
>     || (
>         >=foo/bar-1
>         <foo/bar-1[baz]
>     )

I'd rather be more aggressive on this one, actually; either way, for 
herds/devs, a full scan of the tree was done to identify what invokes 
bulit_with_use whether directly, or indirectly via invoking a function 
that does.

Resultant logs/tree is at 
http://dev.gentoo.org/~ferringb/built_with_use-cleanup/ .

For the 'env' files that are nestled away in there, that's a pkgcore 
dump of the environment of the ebuild post sourcing for ease of 
tracing how built_with_use was actually invoked.

Sidenote, if in looking at the env dumps you see something that looks 
like it shouldn't be saved, let me know- I'm generally pretty anal 
about trying to ensure nothing pkgcore related is accessible by 
ebuilds/eclasses, nor saved to the env.


> Almost all affected packages can be bumped straight to 4 anyway and
> so use the improved syntax.

~11% already are EAPI4, just triggered via eclass pathways.

Either way, herds, please take a look- the views should make it easy 
for y'all to trace down the offenses and deal with them.

~harring

Reply via email to