diff options
author | Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> | 2012-09-21 21:03:05 +0200 |
---|---|---|
committer | Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> | 2012-09-21 21:03:05 +0200 |
commit | 6ee701eb65fbfc00cbf6ebc16de2d6487ba2cfd7 (patch) | |
tree | bd88f1bbac16d9ffe78341f896a9dafd94306a87 | |
parent | a574fd9e6f81a0a072cbaf34c6bd45ad7942cc94 (diff) | |
download | portage-6ee701eb65fbfc00cbf6ebc16de2d6487ba2cfd7.tar.gz portage-6ee701eb65fbfc00cbf6ebc16de2d6487ba2cfd7.tar.bz2 portage-6ee701eb65fbfc00cbf6ebc16de2d6487ba2cfd7.zip |
Support EAPI="5-progress".
-rwxr-xr-x | bin/dohtml.py | 2 | ||||
-rwxr-xr-x | bin/ebuild.sh | 6 | ||||
-rw-r--r-- | doc/package/ebuild.docbook | 1 | ||||
-rw-r--r-- | doc/package/ebuild/eapi/5-progress.docbook | 133 | ||||
-rw-r--r-- | doc/portage.docbook | 1 | ||||
-rw-r--r-- | pym/portage/__init__.py | 2 | ||||
-rw-r--r-- | pym/portage/eapi.py | 10 | ||||
-rw-r--r-- | pym/portage/tests/update/test_update_dbentry.py | 2 |
8 files changed, 146 insertions, 11 deletions
diff --git a/bin/dohtml.py b/bin/dohtml.py index 3e80ef5f6..3af270509 100755 --- a/bin/dohtml.py +++ b/bin/dohtml.py @@ -106,7 +106,7 @@ class OptionsClass: self.DOCDESTTREE = os.environ["_E_DOCDESTTREE_"] self.allowed_exts = ['css', 'gif', 'htm', 'html', 'jpeg', 'jpg', 'js', 'png'] - if os.environ.get("EAPI", "0") in ("4-python",): + if os.environ.get("EAPI", "0") in ("4-python", "5-progress"): self.allowed_exts += ['ico', 'svg', 'xhtml', 'xml'] self.allowed_files = [] self.disallowed_dirs = ['CVS'] diff --git a/bin/ebuild.sh b/bin/ebuild.sh index a6ff45301..79da2b518 100755 --- a/bin/ebuild.sh +++ b/bin/ebuild.sh @@ -26,7 +26,7 @@ else __strip_duplicate_slashes \ use_with use_enable ; do eval "${x}() { - if has \"\${EAPI:-0}\" 4-python; then + if has \"\${EAPI:-0}\" 4-python 5-progress; then die \"\${FUNCNAME}() calls are not allowed in global scope\" fi }" @@ -35,7 +35,7 @@ else # `use multislot` is false for the "depend" phase. for x in use useq usev usex ; do eval "${x}() { - if has \"\${EAPI:-0}\" 4-python; then + if has \"\${EAPI:-0}\" 4-python 5-progress; then die \"\${FUNCNAME}() calls are not allowed in global scope\" else return 1 @@ -506,7 +506,7 @@ if ! has "$EBUILD_PHASE" clean cleanrm depend && \ [[ -n $EAPI ]] || EAPI=0 fi -if has "${EAPI:-0}" 4-python; then +if has "${EAPI:-0}" 4-python 5-progress; then shopt -s globstar fi diff --git a/doc/package/ebuild.docbook b/doc/package/ebuild.docbook index e268a3d11..98084c8fa 100644 --- a/doc/package/ebuild.docbook +++ b/doc/package/ebuild.docbook @@ -12,5 +12,6 @@ &package_ebuild_eapi_4_python; &package_ebuild_eapi_4_slot_abi; &package_ebuild_eapi_5; +&package_ebuild_eapi_5_progress; </section> </chapter> diff --git a/doc/package/ebuild/eapi/5-progress.docbook b/doc/package/ebuild/eapi/5-progress.docbook new file mode 100644 index 000000000..142ff8e2e --- /dev/null +++ b/doc/package/ebuild/eapi/5-progress.docbook @@ -0,0 +1,133 @@ +<section id='package-ebuild-eapi-5-progress'> + <title>EAPI 5-progress</title> + <para> + Also see the <ulink url="http://people.apache.org/~Arfrever/EAPI_5-progress_Specification">official EAPI 5-progress Specification</ulink>. + </para> + <section id='package-ebuild-eapi-5-progress-helpers'> + <title>Helpers</title> + <section id='package-ebuild-eapi-5-progress-helpers-dohtml-extended-default-list-of-extensions'> + <title>Extended default list of extensions in dohtml</title> + <para> + dohtml by default additionally installs files with .ico, .svg, .xhtml and .xml extensions. + </para> + </section> + <section id='package-ebuild-eapi-5-progress-helpers-banned-in-global-scope'> + <title>Helpers Banned in Global Scope</title> + <para> + <itemizedlist> + <listitem><para>diropts</para></listitem> + <listitem><para>docompress</para></listitem> + <listitem><para>exeopts</para></listitem> + <listitem><para>insopts</para></listitem> + <listitem><para>keepdir</para></listitem> + <listitem><para>libopts</para></listitem> + <listitem><para>use</para></listitem> + <listitem><para>use_enable</para></listitem> + <listitem><para>use_with</para></listitem> + <listitem><para>useq</para></listitem> + <listitem><para>usev</para></listitem> + </itemizedlist> + </para> + </section> + </section> + <section id='package-ebuild-eapi-5-progress-metadata'> + <title>Metadata</title> + <section id='package-ebuild-eapi-5-progress-metadata-package-names-allow-period-characters'> + <title>Support for Period Characters in Package Names</title> + <para> + The "." character is allowed in package names. + </para> + </section> + <section id='package-ebuild-eapi-5-progress-metadata-use-flags-allow-period-characters'> + <title>Support for Period Characters in USE Flags</title> + <para> + The "." character is allowed in USE flags. + </para> + </section> + <section id='package-ebuild-eapi-5-progress-metadata-repository-dependencies'> + <title>Repository Dependencies</title> + <para> + Repository dependencies are supported in atoms in DEPEND, PDEPEND and RDEPEND and atoms passed to best_version and has_version functions. + Repository dependency is specified by two colons followed by repository name. + </para> + <table><title>Repository Dependency Examples</title> + <tgroup cols='1' align='left'> + <colspec colname='atom'/> + <thead> + <row> + <entry>Atom</entry> + </row> + </thead> + <tbody> + <row> + <entry>dev-lang/python::progress</entry> + </row> + <row> + <entry>>=dev-lang/python-3.2::progress</entry> + </row> + <row> + <entry>dev-lang/python:3.2::progress</entry> + </row> + <row> + <entry>dev-lang/python::progress[xml]</entry> + </row> + <row> + <entry>dev-lang/python:3.2::progress[xml]</entry> + </row> + </tbody> + </tgroup> + </table> + </section> + </section> + <section id='package-ebuild-eapi-5-progress-globstar'> + <title>globstar shell option enabled by default</title> + <para> + globstar shell option is enabled by default, which enables recursive expansion of ** pattern in pathname expansion context. + </para> + </section> + <section id='package-ebuild-eapi-5-progress-variables'> + <title>Variables</title> + <section id='package-ebuild-eapi-5-progress-variables-repository'> + <title>REPOSITORY Variable</title> + <para> + The new REPOSITORY variable is set in ebuild environment. This variable contains name of repository, which contains currently used ebuild. + </para> + </section> + </section> + <section id='package-ebuild-eapi-5-progress-repo-level-config'> + <title>Extended Repository-Level Configuration</title> + <para> + Repository-level configuration in ${repository_path}/profiles is supported for the following files: + <itemizedlist> + <listitem><para>make.defaults</para></listitem> + <listitem><para>package.use</para></listitem> + <listitem><para>package.use.force</para></listitem> + <listitem><para>package.use.mask</para></listitem> + <listitem><para>package.use.stable.force</para></listitem> + <listitem><para>package.use.stable.mask</para></listitem> + <listitem><para>use.force</para></listitem> + <listitem><para>use.mask</para></listitem> + <listitem><para>use.stable.force</para></listitem> + <listitem><para>use.stable.mask</para></listitem> + </itemizedlist> + </para> + </section> + <section id='package-ebuild-eapi-5-progress-directories'> + <title>Directories Allowed for Profile-Level and Repository-Level Configuration</title> + <para> + The following files can be directories: + <itemizedlist> + <listitem><para>package.mask</para></listitem> + <listitem><para>package.use</para></listitem> + <listitem><para>package.use.force</para></listitem> + <listitem><para>package.use.mask</para></listitem> + <listitem><para>package.use.stable.force</para></listitem> + <listitem><para>package.use.stable.mask</para></listitem> + <listitem><para>use.force</para></listitem> + <listitem><para>use.mask</para></listitem> + <listitem><para>use.stable.force</para></listitem> + <listitem><para>use.stable.mask</para></listitem> + </itemizedlist> + </para> + </section> +</section> diff --git a/doc/portage.docbook b/doc/portage.docbook index f5803141e..04db26303 100644 --- a/doc/portage.docbook +++ b/doc/portage.docbook @@ -23,6 +23,7 @@ <!ENTITY package_ebuild_eapi_4_python SYSTEM "package/ebuild/eapi/4-python.docbook"> <!ENTITY package_ebuild_eapi_4_slot_abi SYSTEM "package/ebuild/eapi/4-slot-abi.docbook"> <!ENTITY package_ebuild_eapi_5 SYSTEM "package/ebuild/eapi/5.docbook"> + <!ENTITY package_ebuild_eapi_5_progress SYSTEM "package/ebuild/eapi/5-progress.docbook"> <!ENTITY qa SYSTEM "qa.docbook"> <!ENTITY config SYSTEM "config.docbook"> <!ENTITY config_bashrc SYSTEM "config/bashrc.docbook"> diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index afaff516b..83669398f 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -414,7 +414,7 @@ def abssymlink(symlink, target=None): _doebuild_manifest_exempt_depend = 0 -_testing_eapis = frozenset(["4-python", "4-slot-abi", "5_pre2"]) +_testing_eapis = frozenset(["4-python", "4-slot-abi", "5_pre2", "5-progress"]) _deprecated_eapis = frozenset(["4_pre1", "3_pre2", "3_pre1", "5_pre1"]) def _eapi_is_deprecated(eapi): diff --git a/pym/portage/eapi.py b/pym/portage/eapi.py index 42c108b2e..e02e017ee 100644 --- a/pym/portage/eapi.py +++ b/pym/portage/eapi.py @@ -48,7 +48,7 @@ def eapi_exports_EBUILD_PHASE_FUNC(eapi): return eapi not in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi") def eapi_exports_REPOSITORY(eapi): - return eapi in ("4-python",) + return eapi in ("4-python", "5-progress") def eapi_has_pkg_pretend(eapi): return eapi not in ("0", "1", "2", "3") @@ -69,19 +69,19 @@ def eapi_has_use_dep_defaults(eapi): return eapi not in ("0", "1", "2", "3") def eapi_has_repo_deps(eapi): - return eapi in ("4-python",) + return eapi in ("4-python", "5-progress") def eapi_allows_dots_in_PN(eapi): - return eapi in ("4-python",) + return eapi in ("4-python", "5-progress") def eapi_allows_dots_in_use_flags(eapi): - return eapi in ("4-python",) + return eapi in ("4-python", "5-progress") def eapi_supports_stable_use_forcing_and_masking(eapi): return eapi not in ("0", "1", "2", "3", "4", "4-python", "4-slot-abi") def eapi_allows_directories_on_profile_level_and_repository_level(eapi): - return eapi in ("4-python",) + return eapi in ("4-python", "5-progress") _eapi_attrs = collections.namedtuple('_eapi_attrs', 'dots_in_PN dots_in_use_flags exports_EBUILD_PHASE_FUNC ' diff --git a/pym/portage/tests/update/test_update_dbentry.py b/pym/portage/tests/update/test_update_dbentry.py index ae634f031..0d4c5a02d 100644 --- a/pym/portage/tests/update/test_update_dbentry.py +++ b/pym/portage/tests/update/test_update_dbentry.py @@ -191,7 +191,7 @@ class UpdateDbentryTestCase(TestCase): self.assertTrue(old_pattern.search(rdepend) is None) self.assertTrue("dev-libs/M-moved" in rdepend) - # EAPI 4-python N -> N.moved + # EAPI 4-python/*-progress N -> N.moved rdepend = vardb.aux_get("dev-libs/B-1", ["RDEPEND"])[0] old_pattern = re.compile(r"\bdev-libs/N(\s|$)") self.assertTrue(old_pattern.search(rdepend) is None) |