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