diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-09-11 21:26:49 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-09-11 21:30:52 -0700 |
commit | 5645c4390128c0a174290d9727195b97a894088e (patch) | |
tree | 5563d0cf3180e128fa641fb58568369d650a5d2e | |
parent | Only validate .desktop files that are installed into XDG-compliant locations. (diff) | |
download | portage-5645c4390128c0a174290d9727195b97a894088e.tar.gz portage-5645c4390128c0a174290d9727195b97a894088e.tar.bz2 portage-5645c4390128c0a174290d9727195b97a894088e.zip |
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.
-rw-r--r-- | bin/phase-functions.sh | 14 | ||||
-rw-r--r-- | bin/phase-helpers.sh | 4 | ||||
-rw-r--r-- | doc/package/ebuild/eapi/5.docbook | 68 | ||||
-rw-r--r-- | man/emerge.1 | 7 | ||||
-rw-r--r-- | 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 @@ -<section id='package-ebuild-eapi-5_pre1'> -<title>EAPI 5_pre1</title> -<section id='package-ebuild-eapi-5_pre1-metadata'> +<section id='package-ebuild-eapi-5_pre2'> +<title>EAPI 5_pre2</title> +<section id='package-ebuild-eapi-5_pre2-metadata'> <title>Metadata</title> -<section id='package-ebuild-eapi-5_pre1-metadata-required-use-at-most-one-of'> +<section id='package-ebuild-eapi-5_pre2-metadata-required-use-at-most-one-of'> <title>REQUIRED_USE supports new at-most-one-of operator</title> <para> 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. </para> </section> -<section id='package-ebuild-eapi-5_pre1-metadata-slot-sub-slot'> +<section id='package-ebuild-eapi-5_pre2-metadata-slot-sub-slot'> <title>SLOT supports optional "sub-slot" part</title> <para> 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. </para> <para> Refer to the -<link linkend="package-ebuild-eapi-5_pre1-metadata-dependency-atom-slot-operators"> +<link linkend="package-ebuild-eapi-5_pre2-metadata-dependency-atom-slot-operators"> slot operators</link> documentation for more information about sub-slot usage. </para> </section> -<section id='package-ebuild-eapi-5_pre1-metadata-dependency-atom-slot-operators'> +<section id='package-ebuild-eapi-5_pre2-metadata-dependency-atom-slot-operators'> <title>Dependency atom slot operators</title> <para> A slot dependency may contain an optional sub-slot part that @@ -70,9 +70,9 @@ the regular slot). </para> </section> </section> -<section id='package-ebuild-eapi-5_pre1-profile'> +<section id='package-ebuild-eapi-5_pre2-profile'> <title>Profiles</title> -<section id='package-ebuild-eapi-5_pre1-profile-iuse-injection'> +<section id='package-ebuild-eapi-5_pre2-profile-iuse-injection'> <title>Profile IUSE Injection</title> <para> IUSE_EFFECTIVE is a variable calculated from IUSE and @@ -156,7 +156,7 @@ equivalent of ${v}. </table> </para> </section> -<section id='package-ebuild-eapi-5_pre1-profile-stable-use-masking'> +<section id='package-ebuild-eapi-5_pre2-profile-stable-use-masking'> <title>Profile stable USE forcing and masking</title> <para> In profile directories with an EAPI supporting stable masking, @@ -168,29 +168,29 @@ only influence packages that are merged due to a stable keyword. </para> </section> </section> -<section id='package-ebuild-eapi-5_pre1-helpers'> +<section id='package-ebuild-eapi-5_pre2-helpers'> <title>Helpers</title> -<section id='package-ebuild-eapi-5_pre1-helpers-econf-disable-silent-rules'> +<section id='package-ebuild-eapi-5_pre2-helpers-econf-disable-silent-rules'> <title>econf adds --disable-silent-rules</title> <para> This option will automatically be passed if --disable-silent-rules occurs in the output of configure --help. </para> </section> -<section id='package-ebuild-eapi-5_pre1-helpers-newfoo-stdin'> +<section id='package-ebuild-eapi-5_pre2-helpers-newfoo-stdin'> <title>new* commands can read from standard input</title> <para> Standard input is read when the first parameter is - (a hyphen). </para> </section> -<section id='package-ebuild-eapi-5_pre1-helpers-foo-version-host-root'> +<section id='package-ebuild-eapi-5_pre2-helpers-foo-version-host-root'> <title>New option --host-root for {has,best}_version</title> <para> This option --host-root will cause the query to apply to the host root instead of ROOT. </para> </section> -<section id='package-ebuild-eapi-5_pre1-helpers-doheader'> +<section id='package-ebuild-eapi-5_pre2-helpers-doheader'> <title>New doheader helper function</title> <para> 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. </para> </section> -<section id='package-ebuild-eapi-5_pre1-helpers-usex'> +<section id='package-ebuild-eapi-5_pre2-helpers-usex'> <title>New usex helper function</title> <programlisting> 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"). </programlisting> </section> -<section id='package-ebuild-eapi-5_pre1-helpers-apply-user-patches'> -<title>New apply_user_patches helper function</title> -<para> -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. -</para> </section> -</section> -<section id='package-ebuild-eapi-5_pre1-phases'> +<section id='package-ebuild-eapi-5_pre2-phases'> <title>Phases</title> -<section id='package-ebuild-eapi-5_pre1-phases-src-prepare-user-patches'> -<title>src_prepare must call apply_user_patches</title> -<para> -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 -<link linkend="package-ebuild-eapi-5_pre1-helpers-apply-user-patches"> -apply_user_patches section</link> for additional usage -instructions. -</para> -</section> -<section id='package-ebuild-eapi-5_pre1-phases-src-test-parallel'> +<section id='package-ebuild-eapi-5_pre2-phases-src-test-parallel'> <title>src_test supports parallel tests</title> <para> Unlike older EAPIs, the default src_test implementation will not @@ -246,9 +218,9 @@ pass the -j1 option to emake. </para> </section> </section> -<section id='package-ebuild-eapi-5_pre1-ebuild-environment-variables'> +<section id='package-ebuild-eapi-5_pre2-ebuild-environment-variables'> <title>Ebuild Environment Variables</title> -<section id='package-ebuild-eapi-5_pre1-ebuild-environment-variables-ebuild-phase-func'> +<section id='package-ebuild-eapi-5_pre2-ebuild-environment-variables-ebuild-phase-func'> <title>New EBUILD_PHASE_FUNC variable</title> <para> 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): |