| 1 | =========== |
|---|
| 2 | Ebuild EAPI |
|---|
| 3 | =========== |
|---|
| 4 | |
|---|
| 5 | |
|---|
| 6 | This should hold the proposed (with a chance of making it in), accepted, and |
|---|
| 7 | implemented changes for ebuild format version 1. A version 0 doc would also |
|---|
| 8 | be a good idea ( no one has volunteered thus far ). |
|---|
| 9 | |
|---|
| 10 | Version 0 (or undefined eapi, <=portage-2.0.52*)] |
|---|
| 11 | ************************************************* |
|---|
| 12 | |
|---|
| 13 | Version 1 |
|---|
| 14 | ************************************************* |
|---|
| 15 | - EAPI = 1 required |
|---|
| 16 | - src_configure exists, configuration of packages must occur in src_configure |
|---|
| 17 | and not src_compile. |
|---|
| 18 | - not necessarily using EXPORT_FUNCTIONS, but enable all EAPI functionality to |
|---|
| 19 | be overriden via eclass/repo, yet still able to be referenced without |
|---|
| 20 | - default src_install |
|---|
| 21 | - RDEPEND="${RDEPEND-${DEPEND}}" is no longer set by portage, same for eclass. |
|---|
| 22 | - Elibs |
|---|
| 23 | - (proposed) BDEPEND metadata addition ? |
|---|
| 24 | - default IUSE support, IUSE="+gcj" == USE="gcj" unless the user disables it. |
|---|
| 25 | - GLEP 37 |
|---|
| 26 | - test depend, test src_uri (or represent test in the use namespace somehow) |
|---|
| 27 | - drop AA (unused) |
|---|
| 28 | - some form of optional metadata specifying that a binpkg works on multiple arches, iow it doesn't rely on compiled components. |
|---|
| 29 | - represent in metadata if the pkg needs pkg_preinst to have access to ${D} or not; forced unpacking sucks. |
|---|
| 30 | - some way to 'bind' a rdep/pdep so that it's explicit "I'm locked against the version I was compiled against" |
|---|
| 31 | - use groups in some form. |
|---|
| 32 | - drop reliance on PORTDIR and ECLASSDIR(s); they break any potential remote, and are dodgey as all hell for multiple |
|---|
| 33 | repos combined together. |
|---|
| 34 | - disallow direct access to /var/db/pkg |
|---|
| 35 | - deprecate ebuild access/awareness of PORTAGE_* vars; perl ebuilds security fix for PORTAGE_TMPDIR (rpath stripping in a way) |
|---|
| 36 | might make this harder. |
|---|
| 37 | - use/slot deps, optionally repository deps. |
|---|
| 38 | - hard one to slide in, but change versioning rules; no longer allow 1.006, require it to be 1.6 |
|---|
| 39 | - pkg_setup must be sandboxable. |
|---|
| 40 | - default IUSE, bug # 61732 |
|---|
| 41 | - allowed USE conditional configurations; new metadata key, extend depset syntax to include xor, represent allowed configurations. |
|---|
| 42 | - use groups (kill use_expand off) |
|---|
| 43 | - true incremental stacking support for metadata keys between eclasses/ebuilds; RESTRICT=-strip for example in the ebuild. |
|---|
| 44 | - potentially add '<>dev-util/diffball-1.0' support; would require supporting tildes also; to head off the "but blockers exist", |
|---|
| 45 | blockers are statements of "I will not work with any matches to this in the graph, get rid of them", not "I'll work with this |
|---|
| 46 | range" which <> is. |
|---|
| 47 | - drop -* from keywords; it's package.masking, use that instead (-arch is acceptable although daft) |
|---|
| 48 | - blockers aren't allowed in PDEPEND (the result of that is serious insanity for resolving) |
|---|