1 |
On Mon, 2020-10-26 at 09:18 +0100, Ulrich Mueller wrote: |
2 |
> > > > > > On Mon, 26 Oct 2020, Michał Górny wrote: |
3 |
> > I would like to request the Council to vote on pre-approval of EAPI 8 |
4 |
> > items [1]. |
5 |
> |
6 |
> For easy reference, please find the complete list below. The PMS team |
7 |
> will start working on the specification after pre-approval of features. |
8 |
|
9 |
For even easier reference, a short summary of each item. |
10 |
|
11 |
No real killer features this year. |
12 |
|
13 |
> 1. New features |
14 |
> |
15 |
> a) Selective fetch restriction |
16 |
> Bug #371413 [2] |
17 |
|
18 |
Allow applying RESTRICT=fetch/mirror to a subset of package's SRC_URI. |
19 |
Useful e.g. for proprietary packages that fetch free patches. |
20 |
The proposed syntax is the usual RESTRICT=... + in SRC_URI: |
21 |
|
22 |
- mirror+http:// (mirror+ftp://...) to ignore mirror restriction |
23 |
- fetch+http:// (...) to ignore fetch restriction |
24 |
|
25 |
> b) Install-time CBUILD dependencies (IDEPEND) |
26 |
> Bug #660306 [3] |
27 |
|
28 |
Allow specifying dependencies that are required for pkg_*inst |
29 |
and preserved until pkg_*rm, installed into CBUILD root. This is |
30 |
a somewhat old request that used to be worked around via RDEPEND, except |
31 |
that this hack does not work for cross. |
32 |
|
33 |
We have found no use case for 'CHOST IDEPEND', so only one dep type |
34 |
here. |
35 |
|
36 |
> 2. Enhancements of existing features |
37 |
> |
38 |
> a) Variant of || ( ) with defined runtime behaviour |
39 |
> Bug #489458 [4] |
40 |
> - From original EAPI 6 (and 7) feature list |
41 |
|
42 |
This will probably be postponed again, as there is nobody willing |
43 |
to implement it. |
44 |
|
45 |
> b) Pass --datarootdir to configure |
46 |
> Bug #651958 [5] |
47 |
> |
48 |
> c) Pass --disable-static to configure |
49 |
> Bug #744871 [6] |
50 |
|
51 |
I don't think these two need an extra comment. |
52 |
|
53 |
> |
54 |
> d) Accumulate PROPERTIES and RESTRICT over eclasses and ebuilds |
55 |
> Bug #701132 [7] |
56 |
|
57 |
This is to improve consistency a little and reduce the confusion. Some |
58 |
developers have accidentally overwritten RESTRICT, thinking it was |
59 |
accumulated like IUSE or *DEPEND. |
60 |
|
61 |
> e) RESTRICT value for network-restricted tests |
62 |
> Bug #553696 [8] |
63 |
|
64 |
The new value indicates that the package's tests have no other issues |
65 |
except for Internet access. For the majority of our users, this will be |
66 |
equivalent to RESTRICT=test; except that some developers will be able |
67 |
to disable this and run the tests, effectively also disabling network- |
68 |
sandbox for src_test(). The rationale is that bad tests are better than |
69 |
no tests ;-). |
70 |
|
71 |
> f) dosym -r to create symlinks relative to link location |
72 |
> Bug #708360 [9] |
73 |
|
74 |
An easier way to create relative symlinks, without having to count all |
75 |
the '../'s yourself. |
76 |
|
77 |
> g) Second optional argument for usev |
78 |
> Bug #744868 [10] |
79 |
|
80 |
This fills the gap between usev and usex. 'usev a b' is equivalent |
81 |
to 'usex a b ""', i.e. output 'b' if true and empty string otherwise. |
82 |
|
83 |
Note that 'usex a b' outputs 'no' if false which is sometimes desirable, |
84 |
sometimes confusing but changing it today would be more confusing. |
85 |
|
86 |
> 3. Other changes |
87 |
> |
88 |
> a) Less strict naming rules for files in updates directory |
89 |
> Bug #692774 [11] |
90 |
|
91 |
PMS requires the current quarterly scheme but for no real reason (we do |
92 |
not require the files to be processed in a specific order). We would |
93 |
like to allow any names going forward, so that years from now, when we |
94 |
require EAPI 8 for profiles, we would eventually be able to change |
95 |
update file naming to a scheme optimal for the time. |
96 |
|
97 |
> b) Bash 5.0 |
98 |
> Bug #636652 [12] |
99 |
|
100 |
The usual deal, accounting for the current stable. |
101 |
|
102 |
> |
103 |
> c) More consistent insopts/exeopts |
104 |
> Bug #657580 [13] |
105 |
|
106 |
We seem to have a historical mess over which functions respect *opts, |
107 |
and which do not. The goal is to clear it up by making insopts apply |
108 |
only to doins/newins, and exeopts only to doexe/newexe. |
109 |
|
110 |
In other words, doconfd, doenvd, doheader, doinitd will no longer be |
111 |
affected by insopts/exeopts and instead reliably use the standard mode |
112 |
for the directory in question. If someone really needed to do something |
113 |
different, doins/doexe will still be available. |
114 |
|
115 |
> 4. Removals and bans |
116 |
> |
117 |
> a) unpack: Remove support for 7-Zip, RAR, and LHA |
118 |
> Bug #690968 [14] |
119 |
|
120 |
These are barely used, and PMS-specified tools for LHA and RAR are non- |
121 |
free. It's better to maintain them in unpacker.eclass, so that we can |
122 |
switch to free and maintained tools (e.g. 7-Zip) easily. |
123 |
|
124 |
> |
125 |
> |
126 |
> > [1] https://wiki.gentoo.org/wiki/Future_EAPI/EAPI_8_tentative_features |
127 |
> |
128 |
> [2] https://bugs.gentoo.org/371413 |
129 |
> [3] https://bugs.gentoo.org/660306 |
130 |
> [4] https://bugs.gentoo.org/489458 |
131 |
> [5] https://bugs.gentoo.org/651958 |
132 |
> [6] https://bugs.gentoo.org/744871 |
133 |
> [7] https://bugs.gentoo.org/701132 |
134 |
> [8] https://bugs.gentoo.org/553696 |
135 |
> [9] https://bugs.gentoo.org/708360 |
136 |
> [10] https://bugs.gentoo.org/744868 |
137 |
> [11] https://bugs.gentoo.org/692774 |
138 |
> [12] https://bugs.gentoo.org/636652 |
139 |
> [13] https://bugs.gentoo.org/657580 |
140 |
> [14] https://bugs.gentoo.org/690968 |
141 |
|
142 |
-- |
143 |
Best regards, |
144 |
Michał Górny |