From 5645c4390128c0a174290d9727195b97a894088e Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 11 Sep 2012 21:26:49 -0700 Subject: [PATCH] Add EAPI 5_pre2 with features approved by council In the 9/11 council meeting, they approved everything in EAPI 5_pre1 except user patches. So, add EAPI 5_pre2 which is identical to EAPI 5_pre1 but with user patches (apply_user_patches) support removed. --- bin/phase-functions.sh | 14 +++---- bin/phase-helpers.sh | 4 -- doc/package/ebuild/eapi/5.docbook | 68 +++++++++---------------------- man/emerge.1 | 7 ++-- pym/portage/__init__.py | 2 +- 5 files changed, 32 insertions(+), 63 deletions(-) diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh index 68a33a871..ad9ba6bb0 100644 --- a/bin/phase-functions.sh +++ b/bin/phase-functions.sh @@ -372,7 +372,11 @@ dyn_prepare() { else die "The source directory '${S}' doesn't exist" fi - rm -f "${PORTAGE_BUILDDIR}/.apply_user_patches" || die + case "${EAPI}" in + 5_pre1) + rm -f "${PORTAGE_BUILDDIR}/.apply_user_patches" || die + ;; + esac trap abort_prepare SIGINT SIGQUIT @@ -384,9 +388,7 @@ dyn_prepare() { vecho ">>> Source prepared." ebuild_phase post_src_prepare case "${EAPI}" in - 0|1|2|3|4|4-python|4-slot-abi) - ;; - *) + 5_pre1) [[ ! -f ${PORTAGE_BUILDDIR}/.apply_user_patches ]] && \ die "src_prepare must call apply_user_patches at least once" ;; @@ -815,9 +817,7 @@ _ebuild_phase_funcs() { [[ $phase_func = src_install ]] && \ eval "default() { _eapi4_$phase_func \"\$@\" ; }" case "$eapi" in - 4|4-python|4-slot-abi) - ;; - *) + 5_pre1) ! declare -F src_prepare >/dev/null && \ src_prepare() { _eapi5_src_prepare "$@" ; } default_src_prepare() { _eapi5_src_prepare "$@" ; } diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh index bb5e057a7..0250aca96 100644 --- a/bin/phase-helpers.sh +++ b/bin/phase-helpers.sh @@ -638,10 +638,6 @@ _eapi5_src_prepare() { apply_user_patches } -apply_user_patches() { - die "apply_user_patches is not supported with EAPI ${EAPI}" -} - _eapi5_apply_user_patches() { [[ ${EBUILD_PHASE} == prepare ]] || \ die "apply_user_patches may only be called during src_prepare" diff --git a/doc/package/ebuild/eapi/5.docbook b/doc/package/ebuild/eapi/5.docbook index 0894eba2a..c910092c6 100644 --- a/doc/package/ebuild/eapi/5.docbook +++ b/doc/package/ebuild/eapi/5.docbook @@ -1,8 +1,8 @@ -
-EAPI 5_pre1 -
+
+EAPI 5_pre2 +
Metadata -
+
REQUIRED_USE supports new at-most-one-of operator The new at-most-one-of operator consists of the string '??', @@ -10,7 +10,7 @@ and is satisfied if zero or one (but no more) of its child elements is matched.
-
+
SLOT supports optional "sub-slot" part The SLOT variable may contain an optional sub-slot part that @@ -24,11 +24,11 @@ implicit sub-slot which is equal to the regular slot. Refer to the - + slot operators documentation for more information about sub-slot usage.
-
+
Dependency atom slot operators A slot dependency may contain an optional sub-slot part that @@ -70,9 +70,9 @@ the regular slot).
-
+
Profiles -
+
Profile IUSE Injection IUSE_EFFECTIVE is a variable calculated from IUSE and @@ -156,7 +156,7 @@ equivalent of ${v}.
-
+
Profile stable USE forcing and masking In profile directories with an EAPI supporting stable masking, @@ -168,29 +168,29 @@ only influence packages that are merged due to a stable keyword.
-
+
Helpers -
+
econf adds --disable-silent-rules This option will automatically be passed if --disable-silent-rules occurs in the output of configure --help.
-
+
new* commands can read from standard input Standard input is read when the first parameter is - (a hyphen).
-
+
New option --host-root for {has,best}_version This option --host-root will cause the query to apply to the host root instead of ROOT.
-
+
New doheader helper function Installs the given header files into /usr/include/, by default @@ -198,7 +198,7 @@ with file mode 0644. This can be overridden by setting INSOPTIONS with the insopts function.
-
+
New usex helper function USAGE: usex <USE flag> [true output] [false output] [true suffix] [false suffix] @@ -207,38 +207,10 @@ DESCRIPTION: otherwise echo [false output][false suffix] (defaults to "no").
-
-New apply_user_patches helper function - -This function is called to indicate to the package manager -that now would be a suitable time to apply any user patches -to the work directory. This function must return zero if it -is possible that any changes were made to the work directory, -and may return non-zero if no changes were made. This function -must be called at least once in src_prepare; if the function -is called more than once, it is expected that any effects that -it has shall only be executed once, and that its return value -shall only be zero once. -
-
-
+
Phases -
-src_prepare must call apply_user_patches - -If the src_prepare function is implemented then it must call -the apply_user_patches function at least once. If src_prepare -does not call apply_user_patches before it returns, then it will -be treated as a fatal error. The default src_prepare -implementation will call apply_user_patches automatically. -Refer to the - -apply_user_patches section for additional usage -instructions. - -
-
+
src_test supports parallel tests Unlike older EAPIs, the default src_test implementation will not @@ -246,9 +218,9 @@ pass the -j1 option to emake.
-
+
Ebuild Environment Variables -
+
New EBUILD_PHASE_FUNC variable During execution of an ebuild phase function (such as pkg_setup diff --git a/man/emerge.1 b/man/emerge.1 index 36e346996..679349054 100644 --- a/man/emerge.1 +++ b/man/emerge.1 @@ -1,4 +1,4 @@ -.TH "EMERGE" "1" "Jun 2012" "Portage VERSION" "Portage" +.TH "EMERGE" "1" "Sep 2012" "Portage VERSION" "Portage" .SH "NAME" emerge \- Command\-line interface to the Portage system .SH "SYNOPSIS" @@ -490,7 +490,7 @@ Ignore the slot/sub\-slot := operator parts of dependencies that have been recorded when packages where built. This option is intended only for debugging purposes, and it only affects built packages that specify slot/sub\-slot := operator dependencies using the -experimental "4\-slot\-abi" or "5_pre1" EAPIs. +experimental "4\-slot\-abi", "5_pre1", or "5_pre2" EAPIs. .TP .BR "-j [JOBS], \-\-jobs[=JOBS]" Specifies the number of packages to build simultaneously. If this option is @@ -651,7 +651,8 @@ operator dependencies can be satisfied by a newer slot, so that older packages slots will become eligible for removal by the \-\-depclean action as soon as possible. This option only affects packages that specify slot/sub\-slot := dependencies using the -experimental "4\-slot\-abi" or "5_pre1" EAPIs. Since this option requires +experimental "4\-slot\-abi", "5_pre1", or "5_pre1" EAPIs +Since this option requires checking of reverse dependencies, it enables \-\-complete\-graph mode whenever a new slot is installed. This option is enabled by default. diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index b2ce70785..43c5af30e 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -408,7 +408,7 @@ def abssymlink(symlink, target=None): _doebuild_manifest_exempt_depend = 0 -_testing_eapis = frozenset(["4-python", "4-slot-abi", "5_pre1"]) +_testing_eapis = frozenset(["4-python", "4-slot-abi", "5_pre1", "5_pre2"]) _deprecated_eapis = frozenset(["4_pre1", "3_pre2", "3_pre1"]) def _eapi_is_deprecated(eapi): -- 2.26.2