1 |
This is the summary of some problems and suggested new features in EAPI="4", which would solve |
2 |
these problems. |
3 |
|
4 |
================================================================================================ |
5 |
|
6 |
Problem #1: USE flags cannot contain "." characters. |
7 |
|
8 |
The following solutions have been suggested: |
9 |
- Add support for "." characters in USE flags in EAPI="4". |
10 |
|
11 |
================================================================================================ |
12 |
|
13 |
Problem #2: Files in profiles cannot use features from newer EAPIs. |
14 |
|
15 |
The following solutions have been suggested: |
16 |
- Add support for files with "-${EAPI}" extension in EAPI="4". These files would use EAPI |
17 |
specified in their filenames instead of EAPI of profile. |
18 |
Example files: |
19 |
package.mask-${EAPI} |
20 |
package.use-${EAPI} |
21 |
package.provided-${EAPI} |
22 |
use.force-${EAPI} |
23 |
use.mask-${EAPI} |
24 |
package.use.force-${EAPI} |
25 |
package.use.mask-${EAPI} |
26 |
packages-${EAPI} |
27 |
virtuals-${EAPI} |
28 |
- Create new profiles using EAPI="4", remove all older profiles from profiles.desc so that |
29 |
repoman doesn't check older profiles, and deprecate older profiles. |
30 |
|
31 |
Council should choose one of these solutions. |
32 |
|
33 |
================================================================================================ |
34 |
|
35 |
Problem #3: repoman doesn't allow stable packages to have optional dependencies on unstable |
36 |
packages (usually until these packages are stabilized). |
37 |
|
38 |
Example of the problem: |
39 |
If "python_abis_2.7", "python_abis_3.1" and "python_abis_3.2" USE flags are masked using |
40 |
use.mask on given architectures until Python 2.7, 3.1 and 3.2 are stabilized on these |
41 |
architectures, then majority of reverse dependencies of Python won't be tested with new |
42 |
versions of Python. |
43 |
|
44 |
The following solutions have been suggested: |
45 |
- Add support for use.unsatisfiable and package.use.unsatisfiable files in profiles in |
46 |
EAPI="4". These files would cause that repoman would allow optional dependencies on |
47 |
packages potentially unsatisfiable in some configurations (e.g. on stable-only systems). |
48 |
- Create separate profiles for stable and unstable keywords. USE flags would be masked in |
49 |
stable profiles and unmasked in unstable profiles. |
50 |
|
51 |
Council should choose one of these solutions. |
52 |
|
53 |
================================================================================================ |
54 |
|
55 |
There are already existing patches for Portage, which implement these solutions, which are |
56 |
suggested new features in EAPI="4". |
57 |
|
58 |
-- |
59 |
Arfrever Frehtes Taifersar Arahesis |