Gentoo Archives: gentoo-dev

From: Brian Harring <ferringb@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: [PATCH] eutils: Warn on built_with_use usage
Date: Mon, 17 Sep 2012 22:11:27
Message-Id: 20120917221037.GB15027@localhost
In Reply to: Re: [gentoo-dev] Re: [PATCH] eutils: Warn on built_with_use usage by Ralph Sennhauser
1 On Mon, Sep 17, 2012 at 08:45:22AM +0200, Ralph Sennhauser wrote:
2 > On Sun, 16 Sep 2012 19:41:14 -0700
3 > Brian Harring <ferringb@×××××.com> wrote:
4 >
5 > > On Sun, Sep 16, 2012 at 10:10:47PM -0400, Mike Frysinger wrote:
6 > > > On Sunday 16 September 2012 03:51:04 Brian Harring wrote:
7 > > > > + if ! has $EAPI 0 1 2 3; then
8 > > > > + eqawarn "built_with_use should not be used in
9 > > > > $EAPI; use USE deps."
10 > > > > + elif has $EAPI 2 3; then
11 > > > > + if [[ $hidden == yes ]] || $missing_was_set; then
12 > > > > + eqawarn "built_with_use in EAPI=$EAPI
13 > > > > without --missing or --
14 > > > hidden
15 > > > > usage, should use USE deps instead." + else
16 > > > > + eqawarn "built_with_use should not be
17 > > > > used; upgrade to EAPI=4
18 > > > instead"
19 > > > > + fi
20 > > > > + fi
21 > > >
22 > > > i'd do:
23 > > > case ${EAPI:-0} in
24 > > > # No support in these EAPIs, so don't warn.
25 > > > 0|1) ;;
26 > > > # Maybe warn as some functionality exist.
27 > > > 2|3) [[...]] && eqawarn "..." ;;
28 > > > # Assume EAPI=4 or newer where all functionality exists.
29 > > > *) eqawarn "..." ;;
30 > > > esac
31 > >
32 > > I'd be fine w/ it; worth noting, that was a 4am patch, so I'm not
33 > > claiming perfect implementatoin there. :)
34 > >
35 > > My main focus here is switching built_with_use to actively nagging
36 > > people to stop using it; this includes nagging EAPI0/1 users of it.
37 > >
38 > > Sans the implementation details, anyone got complaints with the
39 > > intent?
40 >
41 > How about raising the EAPI baseline from 0 to 2 - ie. every package may
42 > use EAPI 2; not the same as deprecating 0 1 - and do:
43 >
44 > case ${EAPI:-0} in
45 > 0|1|2|3|4) eqawarn "From <date> onwards this will die" ;;
46 > *) die ... ;;
47 > esac
48 >
49 > as EAPI 2 supports the --missing case via constructs as:
50 >
51 > || (
52 > >=foo/bar-1
53 > <foo/bar-1[baz]
54 > )
55
56 I'd rather be more aggressive on this one, actually; either way, for
57 herds/devs, a full scan of the tree was done to identify what invokes
58 bulit_with_use whether directly, or indirectly via invoking a function
59 that does.
60
61 Resultant logs/tree is at
62 http://dev.gentoo.org/~ferringb/built_with_use-cleanup/ .
63
64 For the 'env' files that are nestled away in there, that's a pkgcore
65 dump of the environment of the ebuild post sourcing for ease of
66 tracing how built_with_use was actually invoked.
67
68 Sidenote, if in looking at the env dumps you see something that looks
69 like it shouldn't be saved, let me know- I'm generally pretty anal
70 about trying to ensure nothing pkgcore related is accessible by
71 ebuilds/eclasses, nor saved to the env.
72
73
74 > Almost all affected packages can be bumped straight to 4 anyway and
75 > so use the improved syntax.
76
77 ~11% already are EAPI4, just triggered via eclass pathways.
78
79 Either way, herds, please take a look- the views should make it easy
80 for y'all to trace down the offenses and deal with them.
81
82 ~harring

Replies

Subject Author
[gentoo-dev] Re: [PATCH] eutils: Warn on built_with_use usage Ryan Hill <dirtyepic@g.o>