1 |
Thanks a lot for your work. |
2 |
|
3 |
Am Montag, den 16.03.2009, 20:47 +0000 schrieb Ciaran McCreesh: |
4 |
> I've got a very rough draft of what EAPI 3 might end up looking like, |
5 |
> based upon discussion: |
6 |
> |
7 |
> http://github.com/ciaranm/pms/tree/eapi-3 |
8 |
> |
9 |
> Note that I will probably rebase and modifying the branch quite a bit, |
10 |
> so if you don't know how to deal with that when using git, don't track |
11 |
> it. |
12 |
> |
13 |
> It should be one commit per feature, which makes it fairly easy to |
14 |
> remove anything that ends up not making it, and very easy to see what's |
15 |
> proposed, which currently looks like this: |
16 |
> |
17 |
> * Introduce eapi 3 |
18 |
> * Rework tables for EAPI 3. |
19 |
> * EAPI 3 has pkg_pretend. |
20 |
> * EAPI 3 supports slot operator dependencies |
21 |
> * EAPI 3 has use dependency defaults |
22 |
> * PROPERTIES, DEFINED_PHASES mandatory in EAPI 3 |
23 |
> * EAPI 3 has a default src_install |
24 |
> * EAPI 3 has controllable compression and docompress |
25 |
> * EAPI 3 has dodoc -r |
26 |
> * EAPI 3 requires doins support for symlinks |
27 |
> * EAPI 3 bans || ( use? ( ... ) ) |
28 |
> * dohard and dosed banned in EAPI 3 |
29 |
> * doinclude, newinclude for EAPI 3 |
30 |
> * EAPI 3 supports .xz, .tar.xz |
31 |
> * EAPI 3 has more econf arguments |
32 |
> * EAPI 3 supports pkg_info on installed packages |
33 |
> * USE is stricter in EAPI 3 |
34 |
> * Note that (+) won't work on USE_EXPAND etc things |
35 |
> * AA, KV gone in EAPI 3 |
36 |
> |
37 |
> Still to work out: |
38 |
> |
39 |
> * The exact details for the new USE restrictions. In particular, do we |
40 |
> want IUSE_IMPLICIT? We'll also need an accurate list of all |
41 |
> possible values for things like LINGUAS. |
42 |
> |
43 |
> * The [use(+)] thing. For various really pesky reasons, there's no way |
44 |
> things like [video_cards_radeon(+)] can be expected to work when |
45 |
> applied against EAPIs before 3, but it can be made to work if we know |
46 |
> it'll only ever be applied against things with EAPI 3 or later. Is it |
47 |
> easier to just say it's never allowed, though? |
48 |
> |
49 |
> * What's a doexample? |
50 |
|
51 |
|
52 |
> |
53 |
> * What's default_src_install going to do? I've seen a load of |
54 |
> variations. It looks like our choices are between things that ignore |
55 |
> docs, making it largely worthless, or things that use a DOCS |
56 |
> variable, which Donnie hates (despite making extensive use of such |
57 |
> things himself in eclasses). |
58 |
Well, we have distutils and gnome2 eclass using DOCS (to name a few, |
59 |
short glep shows around 18 eclasses), so I'd say: if we go for a |
60 |
default_src_install it needs surely DOCS. |
61 |
If default_src_install should install some DOCS automatically, I'd like |
62 |
to have a way to disable that behaviour without having to roll my own |
63 |
src_install. |
64 |
You forgot to mentioned that we probably also want that |
65 |
default_src_configure/src_compile die when they try to `cd` to an |
66 |
invalid ${S}. |
67 |
|
68 |
|
69 |
|
70 |
> |
71 |
> * "Provide ebuilds a way to differentiate between updates and |
72 |
> removals". I suggested REPLACING_VERSIONS and REPLACED_BY_VERSION, |
73 |
> but I've not had any feedback on that. |
74 |
|
75 |
|
76 |
> |
77 |
> * "Utility commands, even the ones that aren't functions, should die.". |
78 |
> Is Portage likely to be able to do this in the timeframe we're after? |
79 |
I'd say this is a pretty isolated task even people without in-depth |
80 |
portage knowledge can work on, so I guess it can be implemented. |
81 |
|
82 |
> |
83 |
> * "Calling unpack on an unrecognised extension should be fatal, unless |
84 |
> --if-compressed is specified.". There've been questions on this, but |
85 |
> no obvious outrage. Is this in or out? |
86 |
I'd vote for "in" here since I prefer defined behaviour over undefined |
87 |
and people who want unpack to unpack not-packed files should state it |
88 |
explicitly. |
89 |
|
90 |
> |
91 |
> * I've left out killing off dohtml. Was a decision reached on that? |
92 |
No. |
93 |
|
94 |
|
95 |
> |
96 |
> * RDEPEND=DEPEND is still in. Again, was a decision reached? |
97 |
No, but since repoman is already warning when no RDEPEND or DEPEND is |
98 |
specified I guess most people want it to be explicit. |
99 |
|
100 |
|
101 |
> |
102 |
> * xz is in, but do we really want to do that when there appears to be |
103 |
> nothing stable that can deal with xz? lzma going in was a mistake |
104 |
> caused by people being too eager here in exactly the same way they |
105 |
> were for making Portage handle xz... |
106 |
> |
107 |
> * Am I to take it src_test is to remain in its current worthless state? |
108 |
Yes, I'd like to see it enable by default as well, but we have to |
109 |
discuss that further. So, not suited for a fast eapi release. |
110 |
|
111 |
|
112 |
Btw, I put up a document explaining the changes in some detail here: |
113 |
http://dev.gentoo.org/~dev-zero/docs/EAPI3.{rst,html} |
114 |
(including references to bugs if any, etc.) |
115 |
It is completely based on the spreadsheet we used earlier for |
116 |
discussion. I'll finish it within the next days. |
117 |
|
118 |
Cheers, |
119 |
Tiziano |