[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/, quickstart/, ebuild-writing/common-mistakes/, ...
commit: c08a1dc1072740182e5c4d059967db697897bed6 Author: Sebastian Engel gmx de> AuthorDate: Mon Aug 12 09:12:05 2024 + Commit: Ulrich Müller gentoo org> CommitDate: Mon Aug 12 14:06:51 2024 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=c08a1dc1 Fix multiple typos and grammatical errors Signed-off-by: Sebastian Engel gmx.de> Signed-off-by: Ulrich Müller gentoo.org> ebuild-writing/common-mistakes/text.xml | 2 +- ebuild-writing/eapi/text.xml| 2 +- quickstart/text.xml | 2 +- tasks-reference/pam/text.xml| 18 +- tools-reference/echo/text.xml | 4 ++-- tools-reference/find/text.xml | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/ebuild-writing/common-mistakes/text.xml b/ebuild-writing/common-mistakes/text.xml index e39e2e6..0b6adb8 100644 --- a/ebuild-writing/common-mistakes/text.xml +++ b/ebuild-writing/common-mistakes/text.xml @@ -263,7 +263,7 @@ bug about that ebuild. You should try not to include version numbers in the SRC_URI and S. Always try to use ${PV} or ${P}. It makes maintaining the ebuild much easier. If a version -number is not consistent with the tarball/source, then use MY_P. An example +number is not consistent with the tarball/source, then use MY_P. For example dev-python/pyopenal fetches a tarball called PyOpenAL, so we redefine it like: diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 4943dba..5c2f9b7 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -1009,7 +1009,7 @@ pkg_postrm() { -In the example provided above, the ebuild needs to be update the icon cache +In the example provided above, the ebuild needs to update the icon cache upon being installed or uninstalled. By placing the respective tool in IDEPEND, the ebuild requests it to be available at the time of pkg_postinst. When cross-compiling, the tool will be built for diff --git a/quickstart/text.xml b/quickstart/text.xml index 32e3ede..9e22dfd 100644 --- a/quickstart/text.xml +++ b/quickstart/text.xml @@ -74,7 +74,7 @@ At the top of the ebuild is a header block. This is present in all ebuilds. -Ebuilds are indented using tabs, with each tab representing four places. +Ebuilds are indented using tabs, with each tab representing four spaces. See . diff --git a/tasks-reference/pam/text.xml b/tasks-reference/pam/text.xml index 3094b20..2cc794c 100644 --- a/tasks-reference/pam/text.xml +++ b/tasks-reference/pam/text.xml @@ -80,15 +80,15 @@ The statement is composed of 3 or 4 tokens: methods. Some documentation states that we need to specify the full path of the module, but this creates problems because not all the systems install the modules in the same place: Linux-PAM on Gentoo is generally set up to load -them from /lib/security, but for example on AMD64 this become +them from /lib/security, but for example on AMD64 this becomes /lib64/security. The result is that providing the full path will lead to non-working pamd -files, and the right way to handle this is just states the module name the +files, and the right way to handle this is to just state the module name the PAM implementation will take care of finding the module. -The last token, which can consist of multiple items, describe the parameters -passed to the module. These are module-dependent. +The last token, which can consist of multiple items, describes the +parameters passed to the module. These are module-dependent. @@ -124,7 +124,7 @@ source for some services, such as mail and ftp servers. But for desktop systems, all the different services, such as mail servers, ftp -servers, ssh and so on, just need to authenticate in the same way the users logs +servers, ssh and so on, just need to authenticate in the same way the users log in to the system. @@ -175,13 +175,13 @@ for pamd files (dopamd and newpamd, whose usage is the same similar do* and new* functions) and the /etc/security files (dopamsecurity and newpamsecurity, which need the first argument to be the subdirectory of /etc/security in which the files are to be installed). -Those groups of functions already takes care of verifying whether the pam +Those groups of functions already take care of verifying whether the pam USE flag is made optional for the package if this is the case, and the flag is disabled, the pamd files are just skipped. -Many pamd files just uses one or more auth types from system-auth login class, +Many pamd files just use one or more auth types from system-auth login class, which is the base one which provides login facilities for most services on common desktop systems. Instead of adding a pamd file in ${FILESDIR} for this, one can use the pamd_mimic_system function. This function takes a series @@
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: 91ac6474f078dc261807b535db75356cde91ac96 Author: Ulrich Müller gentoo org> AuthorDate: Fri Jul 5 20:15:04 2024 + Commit: Ulrich Müller gentoo org> CommitDate: Fri Jul 5 20:15:04 2024 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=91ac6474 ebuild-writing/eapi: Add todo items for EAPIs 5 and 6 Signed-off-by: Ulrich Müller gentoo.org> ebuild-writing/eapi/text.xml | 14 ++ 1 file changed, 14 insertions(+) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 26795cf..4943dba 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -112,6 +112,13 @@ Manager Specification for details about them. EAPI 5 + + +EAPI 5 is deprecated and should no longer appear here. The information needs to +be split up and moved to other sections. + + + EAPI 5 metadata @@ -297,6 +304,13 @@ If USE flag is set, echo [true output][true suffix] (defaults to "yes"), EAPI 6 + + +EAPI 6 is deprecated and should no longer appear here. The information needs to +be split up and moved to other sections. + + + EAPI 6 Bash version
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: 960cd5a52ec51120330ee4b099e89c58f61ee3a8 Author: Ulrich Müller gentoo org> AuthorDate: Wed Oct 19 09:13:19 2022 + Commit: Ulrich Müller gentoo org> CommitDate: Wed Oct 19 09:13:19 2022 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=960cd5a5 ebuild-writing/eapi: Replace interactive by live in example The former is semi-deprecated and we shouldn't advertise its use. Signed-off-by: Ulrich Müller gentoo.org> ebuild-writing/eapi/text.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 45b032a..b6463c0 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -1072,7 +1072,7 @@ EAPI=7 inherit git-r3 -PROPERTIES+=" interactive" +PROPERTIES+=" live" @@ -1086,7 +1086,7 @@ EAPI=8 inherit git-r3 -PROPERTIES="interactive" +PROPERTIES="live"
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: e36a0545130215a7390dabaa5540d54c3a153c3f Author: Sam James gentoo org> AuthorDate: Fri Feb 25 19:02:45 2022 + Commit: Sam James gentoo org> CommitDate: Fri Feb 25 19:02:45 2022 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=e36a0545 ebuild-writing/eapi: update link to Python guide Migrated to projects.gentoo.org. Signed-off-by: Sam James gentoo.org> ebuild-writing/eapi/text.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index fbf88a5..2a716ae 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -80,7 +80,7 @@ or its dependencies. The Base System project has https://wiki.gentoo.org/wiki/Project:Base#Rules_and_limitations";>rules governing their use of newer EAPIs, as does the -https://dev.gentoo.org/~mgorny/python-guide/package-maintenance.html#porting-packages-to-a-new-eapi";>Python project. +https://projects.gentoo.org/python/guide/package-maintenance.html#porting-packages-to-a-new-eapi";>Python project.
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: 57ba0f67f138341373555447371bd125e34e5b1c Author: Sam James gentoo org> AuthorDate: Mon Jan 10 01:20:35 2022 + Commit: Sam James gentoo org> CommitDate: Tue Feb 22 07:11:24 2022 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=57ba0f67 ebuild-writing/eapi: document upgrade path policy The "upgrade path" policy is not particularly well-defined; over the years, various people have come to understand it as "two years", "one year", with mixed interpretations within that (is it enough to be able to upgrade just Portage?) This is a start towards formalising policy here, even if we end up changing it later, at least it's codified. Closes: https://bugs.gentoo.org/821553 Signed-off-by: Sam James gentoo.org> ebuild-writing/eapi/text.xml | 21 + 1 file changed, 21 insertions(+) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index e85a3ec..257232c 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -62,8 +62,29 @@ EAPI-conditional code) When writing new ebuilds developers can choose whatever EAPI they think is the best. Using the features of the latest EAPI is encouraged. + + + +Upgrade path + + + +Gentoo policy is to support upgrades for installations at least a year old +with no/little intervention and up to two years old with minor intervention. To +achieve this, developers must avoid using the latest EAPI in ebuilds within +the @system set (see ) +or its dependencies. + + + +The Base System project has +https://wiki.gentoo.org/wiki/Project:Base#Rules_and_limitations";>rules +governing their use of newer EAPIs, as does the +https://dev.gentoo.org/~mgorny/python-guide/package-maintenance.html#porting-packages-to-a-new-eapi";>Python project. + +
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: 9db2bfb9151258ce62a1854774a6d3bf60734af2 Author: Sam James gentoo org> AuthorDate: Mon Jan 10 01:25:20 2022 + Commit: Sam James gentoo org> CommitDate: Tue Feb 22 07:11:27 2022 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=9db2bfb9 ebuild-writing/eapi: mention blocker retention period Bug: https://bugs.gentoo.org/821553 Signed-off-by: Sam James gentoo.org> Closes: https://github.com/gentoo/devmanual/pull/261 Signed-off-by: Sam James gentoo.org> ebuild-writing/eapi/text.xml | 9 + 1 file changed, 9 insertions(+) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 257232c..fbf88a5 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -83,6 +83,15 @@ governing their use of newer EAPIs, as does the https://dev.gentoo.org/~mgorny/python-guide/package-maintenance.html#porting-packages-to-a-new-eapi";>Python project. + +It is also convention that blockers within ebuilds are retained for at least +2 years after the last ebuild matching the block is removed from the tree to +avoid file collisions for users upgrading older systems. pkgcheck has +a warning for this called OutdatedBlocker (or even +NonexistentBlocker for when the match is from pre-git times if using +a non-grafted repository). + +
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/, appendices/contributors/
commit: 9236a4c31054fb03cf86bfcdfc1e3ddff6cc5396 Author: Ulrich Müller gentoo org> AuthorDate: Fri Jul 2 19:09:18 2021 + Commit: Ulrich Müller gentoo org> CommitDate: Mon Jul 12 18:28:24 2021 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=9236a4c3 ebuild-writing/eapi: Add EAPI 8 guide Main part taken from "The ultimate guide to EAPI 8" by Michał Górny: https://mgorny.pl/articles/the-ultimate-guide-to-eapi-8.html Converted to DevBook XML and heavily edited to make it fit into the framework of the devmanual. Original-Author: Michał Górny gentoo.org> Original-License: CC-BY-3.0 Signed-off-by: Ulrich Müller gentoo.org> appendices/contributors/text.xml | 6 +- ebuild-writing/eapi/text.xml | 766 +++ 2 files changed, 769 insertions(+), 3 deletions(-) diff --git a/appendices/contributors/text.xml b/appendices/contributors/text.xml index b1e9bd9..55a4cc2 100644 --- a/appendices/contributors/text.xml +++ b/appendices/contributors/text.xml @@ -109,9 +109,9 @@ Misc , - , - , - , + , + + , diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index b738640..e85a3ec 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -616,6 +616,772 @@ installation targets. + + + + + +EAPI 8 + + + +This section is based on +https://mgorny.pl/articles/the-ultimate-guide-to-eapi-8.html";> +The ultimate guide to EAPI 8 by Michał Górny. + + + + + +EAPI 8 tree layout + + + + Less strict naming rules for updates directory + + +Up to EAPI 7, the files in the profiles/updates directory had to +follow strict naming by quarters like 2Q-2021, indicating the +quarter and the year when they were added. Such a choice of name had the +side effect that lexical sorting of filenames was unsuitable. + + + +In EAPI 8, the naming requirement is removed. Eventually, this will allow +switching to a more convenient scheme sorted by year. Different lengths +of time periods will also be possible. + + + +Note that this change actually requires changing the repository EAPI +(found in profiles/eapi), so it will not affect Gentoo for at least +the next two years. + + + + + + + +EAPI 8 ebuild format + + + + Bash version is now 5.0 + + +The Bash version used for ebuilds is changed from 4.2 to 5.0. This means +not only that ebuilds are now permitted to use features provided by the new +Bash version but also the BASH_COMPAT value used for the ebuild +environment is updated, switching the shell behaviour. + + + +The only really relevant difference in behaviour is: + + + + + +Quotes are now removed from the RHS argument of a +"${var/.../"..."}" substitution: + + + +var=foo +echo "${var/foo/"bar"}" + + + +The above snippet yields "bar" in Bash 4.2 but just bar +in 4.3+. + + + + + +Potentially interesting new features include: + + + + + +Negative subscripts can now be used to set and unset array elements +(Bash 4.3+): + + + +$ foo=( 1 2 3 ) +$ foo[-1]=4 +$ unset 'foo[-2]' +$ declare -p foo +declare -a foo=([0]="1" [2]="4") + + + + + +Nameref variables are introduced that work as references to other +variables (4.3+): + + + +$ foo=( 1 2 3 ) +$ declare -n bar=foo +$ echo "${bar[@]}" +1 2 3 +$ bar[0]=4 +$ echo "${foo[@]}" +4 2 3 +$ declare -n baz=foo[1] +$ echo "${baz}" +2 +$ baz=100 +$ echo "${bar[@]}" +4 100 3 + + + + + +The [[ -v ... ]] test operator can be used with array indices +to test for array elements being set (4.3+). The two following lines +are now equivalent: + + + +[[ -n ${foo[3]+1} ]] +[[ -v foo[3] ]] + + + + +mapfile (AKA readarray) now accepts a delimiter via +-d, with a -t option to strip it from read data +(Bash 4.4+). The two following solutions to grab output from +find(1) are now equivalent: + + + +# old solution +local x files=() +while read -d '' -r x; do + files+=( "${x}" ) +done < <(find -print0) + +# new solution +local files=() +mapfile -d '' -t files < <(find -print0) + + + + + +A new set of transformations is available via ${foo@...} +parameter expansion (4.4+), e.g. to print a value with necessary +quoting: + + + +$ var="foo 'bar' baz" +$ echo "${var@Q}" +'foo '\''bar'\'' baz' + + + +For more details, see: info bash or the +https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html";> +Bash reference manual. + + + + +local - can be used to limit single-letter (mangled via +set) shell option changes to the scope of the func
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: 95f2a74b60ec0057e99e8f3ff8e8271af63f1ff7 Author: Jaak Ristioja ristioja ee> AuthorDate: Sat May 9 09:43:35 2020 + Commit: Ulrich Müller gentoo org> CommitDate: Sat May 9 10:40:34 2020 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=95f2a74b ebuild-writing/eapi: Fixed some typos Signed-off-by: Jaak Ristioja ristioja.ee> Signed-off-by: Ulrich Müller gentoo.org> ebuild-writing/eapi/text.xml | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index f51a458..9541c02 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -446,7 +446,7 @@ installation targets. CTARGET -Used in certain cross-compliations, often empty value. +Used in certain cross-compilations, often empty value. @@ -473,14 +473,14 @@ installation targets. These variables no longer contain a trailing slash with EAPI=7. - BDEPEND addded + BDEPEND added Previously, all build-time tools and libraries went into the DEPEND. Now, built-time dependencies are split into DEPEND and BDEPEND. The difference is simply that BDEPEND are dependencies to be executed on the CBUILD. DEPEND remains for other dependencies, such as libraries, for the CHOST. This improves the -cross-compliation support. +cross-compilation support. BROOT added @@ -562,7 +562,7 @@ installation targets. -b will check CBUILD build-time dependencies (BDEPEND) - Version manipulation and comparision commands + Version manipulation and comparison commands EAPI=7 introduced three commands for common version number operations. @@ -612,7 +612,7 @@ installation targets. to specify CBUILD and CTARGET respectively have been added and are retro-active to all EAPIs. In addition, if the build supports --with-sysroot, the correct value will be passed such that normal -and cross-compliations succeed. +and cross-compilations succeed.
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/, ebuild-writing/variables/
commit: 82e02b273768471f2739a95744e90dd848c13d06 Author: Ulrich Müller gentoo org> AuthorDate: Mon Mar 2 23:46:48 2020 + Commit: Ulrich Müller gentoo org> CommitDate: Sat Mar 28 14:48:23 2020 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=82e02b27 ebuild-writing/eapi: Reformat the lists. Many lists in this chapter simulate definition lists by: term definition ... Change all of these to real definition lists. Reformat the file according to the style guide. Signed-off-by: Ulrich Müller gentoo.org> ebuild-writing/eapi/text.xml | 806 +- ebuild-writing/variables/text.xml | 2 +- 2 files changed, 437 insertions(+), 371 deletions(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 9a2de35..aa4fdec 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -2,8 +2,8 @@ EAPI Usage and Description - + The https://wiki.gentoo.org/wiki/Project:PMS";>Package Manager Specification (PMS) is a standardization effort to ensure that the @@ -23,11 +23,13 @@ file adheres to. This section provides usage and descriptions of the different EAPIs. + Usage of EAPIs + An overview about the important features of each EAPI is provided in the appendix of the Package Manager Specification. The two-page leaflet @@ -77,479 +79,543 @@ Manager Specification for details about them. -EAPI=5 +EAPI 5 EAPI 5 Metadata - - - REQUIRED_USE supports new at-most-one-of operator - - The new at-most-one-of operator consists of the string '??', 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 follows the regular slot and is delimited by a / character. The sub-slot must be a valid slot name. The sub-slot is used to represent cases in which an upgrade to a new version of a package with a different sub-slot may require dependent packages to be rebuilt. When the sub-slot part is omitted from the SLOT definition, the package is considered to have an implicit sub-slot which is equal to the regular slot. - - - - Slot operators and sub-slots in dependencies - - A slot dependency may contain an optional sub-slot part that follows the regular slot and is delimited by a / character. This can be useful for packages installing pre-built binaries that require a library with a specific soname version which corresponds to the sub-slot. For example: - + + + REQUIRED_USE supports new at-most-one-of operator + +The new at-most-one-of operator consists of the string '??', +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 +follows the regular slot and is delimited by a / character. +The sub-slot must be a valid slot name. The sub-slot is used to represent +cases in which an upgrade to a new version of a package with a different +sub-slot may require dependent packages to be rebuilt. When the sub-slot +part is omitted from the SLOT definition, the package is considered to have +an implicit sub-slot which is equal to the regular slot. + + Slot operators and sub-slots in dependencies + + +A slot dependency may contain an optional sub-slot part that follows the +regular slot and is delimited by a / character. This can be useful +for packages installing pre-built binaries that require a library with a +specific soname version which corresponds to the sub-slot. For example: + RDEPEND="dev-libs/foo:0/3" - - Package dependency specifications can use slot operators to - clarify what should happen if the slot and/or sub-slot of a runtime - dependency changes: - - - - :* Indicates that any slot value is acceptable. In addition, for runtime dependencies, indicates that the package specifying the dependency will not break if the package matching the dependency is replaced by a different matching package with a different slot and/or sub-slot. - - - := Indicates that any slot value is acceptable. In addition, for runtime dependencies, indicates that the package specifying the dependency will break unless there is available a package matching the dependency and whose slot and sub-slot are equal to the slot and sub-slot of the best installed version that had matched this dependency at the time when the pa
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/, ebuild-writing/functions/src_prepare/, ...
commit: 353f6addd6f45cefb2d316ebbfb0fd6f031ed9d6 Author: Ulrich Müller gentoo org> AuthorDate: Sun Feb 16 15:57:16 2020 + Commit: Ulrich Müller gentoo org> CommitDate: Thu Feb 20 19:06:49 2020 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=353f6add Sync example phase functions from PMS. This follows the recent PMS update: https://gitweb.gentoo.org/proj/pms.git/commit/?id=0d4ffd51d3dc86782dae2db9fe632f45af7eec87 Signed-off-by: Ulrich Müller gentoo.org> ebuild-writing/eapi/text.xml | 2 +- ebuild-writing/functions/src_install/text.xml | 2 +- ebuild-writing/functions/src_prepare/text.xml | 12 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 57c899e..9a2de35 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -272,7 +272,7 @@ If USE flag is set, echo [true output][true suffix] (defaults to "yes"), src_prepare() { - if declare -p PATCHES | grep -q "^declare -a "; then + if [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]]; then [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}" else [[ -n ${PATCHES} ]] && eapply ${PATCHES} diff --git a/ebuild-writing/functions/src_install/text.xml b/ebuild-writing/functions/src_install/text.xml index 1dd1bac..6ad3412 100644 --- a/ebuild-writing/functions/src_install/text.xml +++ b/ebuild-writing/functions/src_install/text.xml @@ -47,7 +47,7 @@ src_install() { FAQ CREDITS CHANGELOG ; do [[ -s "${d}" ]] && dodoc "${d}" done - elif declare -p DOCS | grep -q "^declare -a " ; then + elif [[ $(declare -p DOCS) == "declare -a"* ]] ; then dodoc "${DOCS[@]}" else dodoc ${DOCS} diff --git a/ebuild-writing/functions/src_prepare/text.xml b/ebuild-writing/functions/src_prepare/text.xml index 5cbfcf1..d62f2fd 100644 --- a/ebuild-writing/functions/src_prepare/text.xml +++ b/ebuild-writing/functions/src_prepare/text.xml @@ -49,12 +49,12 @@ implementation: src_prepare() { -if declare -p PATCHES | grep -q "^declare -a "; then -[[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}" -else -[[ -n ${PATCHES} ]] && eapply ${PATCHES} -fi -eapply_user + if [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]]; then + [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}" + else + [[ -n ${PATCHES} ]] && eapply ${PATCHES} + fi + eapply_user }
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: 758897db36d3d176ef9acef42c7aec990ac039f9 Author: Ulrich Müller gentoo org> AuthorDate: Mon Jan 20 21:13:06 2020 + Commit: Ulrich Müller gentoo org> CommitDate: Thu Jan 23 07:44:51 2020 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=758897db ebuild-writing/eapi: Update introduction, section on EAPIs 0 to 3. Modernise the introduction, and add a short section saying that EAPIs 0 to 3 are obsolete. Signed-off-by: Ulrich Müller gentoo.org> ebuild-writing/eapi/text.xml | 47 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 89b88ff..2a47617 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -5,11 +5,12 @@ -The Package Manager Specification (PMS) is a standardization -effort to ensure that the ebuild file format, the ebuild repository format -(of which the Gentoo repository is Gentoo's main incarnation) as well as behavior -of the package managers interacting with these ebuilds is properly written -down and agreed upon. +The https://wiki.gentoo.org/wiki/Project:PMS";>Package Manager +Specification (PMS) is a standardization effort to ensure that the +ebuild file format, the ebuild repository format (of which the Gentoo +repository is Gentoo's main incarnation) as well as behaviour of the package +managers interacting with these ebuilds is properly written down and agreed +upon. @@ -33,37 +34,57 @@ appendix of the Package Manager Specification. The two-page leaflet can be printed out, consulted for reference and is available as app-doc/pms in the main tree. + -If EAPI is undefined in an ebuild, then EAPI=0 is selected. You should -set the EAPI variable, by specifying it at the top of the ebuild: +You must set the EAPI variable by specifying it at the top of the ebuild: - -Most developers prefer to set the EAPI version without quotes. However, the PMS allows single and double quotes as well. - - # Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 + +Most developers prefer to set the EAPI version without quotes. However, the PMS +allows single and double quotes as well. + + EAPI must only be defined in ebuild files, not eclasses. (eclasses may have EAPI-conditional code) -When writing new ebuilds developers can choose whathever EAPI they think +When writing new ebuilds developers can choose whatever EAPI they think is the best. Using the features of the latest EAPI is encouraged. + +EAPIs 0 to 3 + + + +EAPIs 0 to 3 are obsolete and must no longer be used. Refer to the Package +Manager Specification for details about them. + + + + + EAPI=4 + + + +Split up and move each feature to the section that is relevant for it. + + + EAPI 4 Helpers
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: 03ab16d359f1525fa135eb7465dd54695fb16a36 Author: Ulrich Müller gentoo org> AuthorDate: Thu Jan 9 07:57:14 2020 + Commit: Ulrich Müller gentoo org> CommitDate: Thu Jan 9 07:57:14 2020 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=03ab16d3 ebuild-writing/eapi: Fix link to Prefix Technical Documentation. Signed-off-by: Ulrich Müller gentoo.org> ebuild-writing/eapi/text.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index a2fbddd..f1bdfed 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -327,7 +327,8 @@ src_compile() { Support for the EPREFIX, EROOT, and ED variables. If an ebuild uses one of these, it must be EAPI3 aware. - See https://www.gentoo.org/proj/en/gentoo-alt/prefix/techdocs.xml#doc_chap2";>Gentoo Prefix Techdocs for more information. + See https://wiki.gentoo.org/wiki/Project:Prefix/Technical_Documentation";> + Gentoo Prefix Technical Documentation for more information.
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: b887343bd84cfbfd7c0fa42e1e35158f3817e464 Author: Brian Evans gentoo org> AuthorDate: Mon Sep 17 14:35:57 2018 + Commit: Brian Evans gentoo org> CommitDate: Wed Oct 24 12:56:36 2018 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=b887343b ebuild-writing/eapi: Add summary of EAPI=7 features Reference material used includes "The ultimate guide to EAPI 7"[1] by Michał Górny and the "Package Manager Specification"[2] [1] https://dev.gentoo.org/~mgorny/articles/the-ultimate-guide-to-eapi-7.html [2] https://projects.gentoo.org/pms/7/pms.html Signed-off-by: Brian Evans gentoo.org> ebuild-writing/eapi/text.xml | 184 +++ 1 file changed, 184 insertions(+) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 406a562..7fd018f 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -976,6 +976,190 @@ src_install() { + +EAPI=7 + + +Terminology + +Documents may use the following terms to better describe dependency and installation targets. + + + CHOST + The system that will be running the installed package. + + + CBUILD + The system used to build packages. When not cross-compiling, CBUILD == CHOST. + + + CTARGET + Used in certain cross-compliations, often empty value. + + + + + +Variables + + + + PORTDIR and ECLASSDIR are removed + PORTDIR and ECLASSDIR are no longer defined and cannot be used + in ebuilds to access these directories. + + + DESTTREE and INSDESTTREE are removed + The unintended exported variables PORTDIR and ECLASSDIR + cannot be used in ebuilds to manipulate installation paths. + Use into or insinto, respectively, instead. + + + D, ED, ROOT, and EROOT modified + These variables no longer contain a trailing slash with EAPI=7. + + + BDEPEND addded + + Previously, all build-time tools and libraries went into the DEPEND. + Now, built-time dependencies are split into DEPEND and BDEPEND. + The difference is simply that BDEPEND are dependencies to be executed on the CBUILD. + DEPEND remains for other dependencies, such as libraries, for the CHOST. + This improves the cross-compliation support. + + + + BROOT added + BROOT is the absolute path to the root directory, including any prefix, containing build + dependencies satisfied by BDEPEND, typically executable build tools. + + + SYSROOT and ESYSROOT added + SYSROOT is the location of where dependencies in DEPEND are installed. + ESYSROOT is SYSROOT with EPREFIX appended. + + + + ENV_UNSET added + A whitespace delimited list of variables to be removed from the build environment. + + + + + +Metadata + + + + Empty groupings are banned + Groupings which are empty, such as DEPEND="|| ( ${empty_var} )" will now generate an error. + Furthermore, conditions within groupings are more strictly enforced. + Eg. REQUIRED_USE="|| ( foo? ( bar ) baz? ( zoinks )" would previously work with USE="-a -b" now requires + either USE="foo bar" or USE="baz zoinks". + + + + + + +Profiles + + + + package.provided banned + Profiles may no longer contain a package.provided file with EAPI=7. + + + + + +Helpers + + + + dohtml banned + + The dohtml helper has been banned with EAPI=7. + + + + dolib and libopts banned + + The dolib helper and the associated libopts have been banned with EAPI=7. + + + + has_version and best_version changes + + has_version and best_version now support an optional switch + to determine which type of dependencies to check. + + + -r (the default) will check runtime dependencies (RDEPEND) + -d will check target build-time dependencies (DEPEND) + -b will check host build-time dependencies (BDEPEND) + + + + Version manipulation and comparision commands + + EAPI=7 introduced three comma
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: b5f6752aab9664d4672c476065467039b73b2f7b Author: Michał Górny gentoo org> AuthorDate: Sun Jun 7 12:44:00 2015 + Commit: Göktürk Yüksek gentoo org> CommitDate: Mon Sep 25 04:25:12 2017 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=b5f6752a ebuild-writing/eapi: Replace nonfatal example with something correct Replace the nonfatal example from a poor programming practice (nonfatal dodoc) to a code collecting logs for test failures. Based on an old version of sys-apps/paludis. Closes: https://bugs.gentoo.org/551190 ebuild-writing/eapi/text.xml | 26 +++--- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index a02b5a6..68f27b0 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -369,19 +369,31 @@ src_compile() { Example: -EAPI=1 +EAPI=2 ... -src_install() { - emake DESTDIR="${D}" install || die "make install failed" - dodoc ChangeLog README +src_test() { + if ! emake check ; then + local a + eerror "Tests failed. Looking for files for you to add to your bug report..." + while IFS='' read -r -d $'\0' a ; do + eerror "${a}" + done < <(find "${S}" -type f '(' -name '*.epicfail' -o -name '*.log' ')' -print0) + die "Make check failed" + fi } EAPI=4 ... -src_install() { - emake DESTDIR="${D}" install - nonfatal dodoc ChangeLog README +src_test() { + if ! nonfatal emake check ; then + local a + eerror "Tests failed. Looking for files for you to add to your bug report..." + while IFS='' read -r -d $'\0' a ; do + eerror "${a}" + done < <(find "${S}" -type f '(' -name '*.epicfail' -o -name '*.log' ')' -print0) + die "Make check failed" + fi }
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: f4c6229352dfc9705697aa684ce6a251d8dda5f5 Author: Jonas Stein jonasstein de> AuthorDate: Tue Jan 24 14:26:55 2017 + Commit: Göktürk Yüksek gentoo org> CommitDate: Wed Jan 25 00:53:42 2017 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=f4c62293 ebuild-writing/eapi: Update example to EAPI=6, 2017 ebuild-writing/eapi/text.xml | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index a918fd0..6a5de05 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -42,13 +42,11 @@ Most developers prefer to set the EAPI version without quotes. However, the PMS -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ -EAPI=5 -inherit eutils - +EAPI=6
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: f8ed217cfb3aa502048bd73cec53578b679a0039 Author: Göktürk Yüksek gentoo org> AuthorDate: Thu Dec 8 04:06:17 2016 + Commit: Göktürk Yüksek gentoo org> CommitDate: Thu Dec 8 04:06:17 2016 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=f8ed217c ebuild-writing/eapi: mention that dohtml has been deprecated in EAPI 6 ebuild-writing/eapi/text.xml | 6 ++ 1 file changed, 6 insertions(+) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 6218eab..59e0bf3 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -940,6 +940,12 @@ src_install() { + dohtml deprecated + + The dohtml helper has been deprecated with EAPI=6. + + + nonfatal die When die or assert are called under the nonfatal command and with the -n option, they will not abort the build process but return with an error.
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: 6018032574616720916bcb7a7e1fae4ef699fedc Author: Mike Gilbert gentoo org> AuthorDate: Thu Sep 8 21:22:55 2016 + Commit: Mike Gilbert gentoo org> CommitDate: Thu Sep 8 21:22:55 2016 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=60180325 ebuild-writing/eapi: replace weird unicode angle brackets ebuild-writing/eapi/text.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index aaa7033..c339e91 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -815,7 +815,7 @@ RDEPEND="dev-libs/foo:2= -USAGE: usex 〈USE flag〉 [true output] [false output] [true suffix] [false suffix] +USAGE: usex
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: 8cdab91359e7bb9112720d1df1dde92409ab2348 Author: Louis Sautier gmail com> AuthorDate: Thu Mar 31 12:36:07 2016 + Commit: Göktürk Yüksek binghamton edu> CommitDate: Sat Apr 30 02:50:11 2016 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=8cdab913 ebuild-writing/eapi/text: fix typo: s/inform/informs/ ebuild-writing/eapi/text.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 8045b28..aaa7033 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -14,7 +14,7 @@ down and agreed upon. EAPI is a version defined in ebuilds and other package manager related files -which inform the package manager about the file syntax and content. It is, +which informs the package manager about the file syntax and content. It is, in effect, the version of the package manager specification (PMS) that the file adheres to.
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: 7f647d3e3a3b3f029a9c44ef20fd8f9a3077181b Author: Ulrich Müller gentoo org> AuthorDate: Thu Mar 24 15:09:33 2016 + Commit: Ulrich Müller gentoo org> CommitDate: Thu Mar 24 15:09:33 2016 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=7f647d3e ebuild-writing/eapi: Typo. Bug: 578184 ebuild-writing/eapi/text.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index b18f052..239f6f3 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -973,7 +973,7 @@ src_install() { unpack changes - unpack supports elative paths without leading ./ (unpack foo/bar.tar.gz is valid as relative path). + unpack supports relative paths without leading ./ (unpack foo/bar.tar.gz is valid as relative path). unpack supports .txz (xz compressed tarball). unpack matches filename extensions case-insensitively.
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: 4b5ee4105f98de06fd2f75dc032885ba67d111d7 Author: Ulrich Müller gentoo org> AuthorDate: Mon Feb 15 18:00:38 2016 + Commit: Ulrich Müller gentoo org> CommitDate: Mon Feb 15 18:00:38 2016 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=4b5ee410 ebuild-writing/eapi: Fix documentation of locale settings. ebuild-writing/eapi/text.xml | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 9d0f2ea..b18f052 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -875,7 +875,11 @@ If USE flag is set, echo [true output][true suffix] (defaults to "yes"), Locale settings - With EAPI=6 both LC_CTYPE and LC_COLLATE are set to C. + + Behaviour of case modification and collation order (LC_CTYPE + and LC_COLLATE) are guaranteed to be the same as in the + C locale, as far as characters in the ASCII range are concerned. + failglob enabled
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: dc45ef4f246cf360e9e67ec0fdfa87749bf1f67d Author: Markus Meier gentoo org> AuthorDate: Thu Nov 19 20:37:34 2015 + Commit: Ulrich Müller gentoo org> CommitDate: Mon Feb 15 12:09:02 2016 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=dc45ef4f describe EAPI=6 in EAPI Usage and Description page This is based on PMS and it's cheat sheet ebuild-writing/eapi/text.xml | 135 +++ 1 file changed, 135 insertions(+) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 4cf6133..376089a 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -858,6 +858,141 @@ If USE flag is set, echo [true output][true suffix] (defaults to "yes"), + +EAPI=6 + + + +Bash version + +Ebuilds can use features of Bash version 4.2 (was 3.2 before). + + + + +Ebuild environment + + + + Locale settings + It is ensured that the behaviour of case modification and collation order for ASCII characters (LC_CTYPE and LC_COLLATE) are the same as in the POSIX locale. + + + failglob enabled + + The failglob option of Bash is set in global scope, so that unintentional pattern expansion will be caught as an error. + + + + + + + +Phases + + + + New src_prepare Phase Function + + This phase is no longer a no-op, it supports applying patches via the PATCHES variable and applying user patches via eaply_user. The default src_prepare looks like this: + +src_prepare() { + if declare -p PATCHES | grep -q "^declare -a "; then + [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}" + else + [[ -n ${PATCHES} ]] && eapply ${PATCHES} + fi + eapply_user +} + + + + + New src_install Phase Function + + This phase uses the new einstalldocs function for installation of documentation. The default src_install looks like this: + +src_install() { + if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then + emake DESTDIR="${D}" install + fi + einstalldocs +} + + + + + + + + +Helpers + + + + einstall banned + + The einstall helper has been banned with EAPI=6. + + + + nonfatal die + + When die or assert are called under the nonfatal command and with the -n option, they will not abort the build process but return with an error. + + + + eapply support + + The eapply command is a simplified substitute for epatch (from eutils.eclass), implemented in the package manager. The patches from its file or directory arguments are applied using patch -p1. + + + + eapply_user support + + The eapply_user command permits the package manager to apply user-provided patches. It must be called from every src_prepare function. + + + + econf adds --docdir and --htmldir + + Options --docdir and --htmldir are passed to configure, in addition to the existing options. + + + + in_iuse support + + The in_iuse function returns true if the USE flag given as its argument is available in the ebuild for USE queries. + + + + unpack changes + + unpack supports absolute and relative paths. + unpack supports .txz (xz compressed tarball). + unpack matches filename extensions case-insensitively. + + + + einstalldocs support + + The einstalldocs function will in-stall the files specified by the DOCS variable (or a default set of files if DOCS is unset) and by the HTML_DOCS variable. + + + + get_libdir support + + The get_libdir command outputs the lib* directory basename suitable for the current ABI. + + + + + + + + + +
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: aff608f26981189bb0f701d70b5ba47bd1189619 Author: Markus Meier gentoo org> AuthorDate: Fri Nov 20 16:40:24 2015 + Commit: Ulrich Müller gentoo org> CommitDate: Mon Feb 15 12:09:02 2016 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=aff608f2 Update EAPI=6 description Based on feedback from mgorny and steev ebuild-writing/eapi/text.xml | 17 + 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 376089a..9d0f2ea 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -875,12 +875,12 @@ If USE flag is set, echo [true output][true suffix] (defaults to "yes"), Locale settings - It is ensured that the behaviour of case modification and collation order for ASCII characters (LC_CTYPE and LC_COLLATE) are the same as in the POSIX locale. + With EAPI=6 both LC_CTYPE and LC_COLLATE are set to C. failglob enabled - The failglob option of Bash is set in global scope, so that unintentional pattern expansion will be caught as an error. + For EAPI=6, the failglob option of bash is set in the global scope of ebuilds. If set, failed pattern matches during filename expansion result in an error when the ebuild is being sourced. @@ -892,9 +892,9 @@ If USE flag is set, echo [true output][true suffix] (defaults to "yes"), - New src_prepare Phase Function + Update default implementation of src_prepare - This phase is no longer a no-op, it supports applying patches via the PATCHES variable and applying user patches via eaply_user. The default src_prepare looks like this: + This phase is no longer a no-op, it supports applying patches via the PATCHES variable and applying user patches via eapply_user. The default src_prepare looks like this: src_prepare() { if declare -p PATCHES | grep -q "^declare -a "; then @@ -944,13 +944,14 @@ src_install() { eapply support - The eapply command is a simplified substitute for epatch (from eutils.eclass), implemented in the package manager. The patches from its file or directory arguments are applied using patch -p1. + The eapply command is a simplified substitute for epatch (from eutils.eclass), implemented in the package manager. The patches from its file or directory arguments are applied using patch -p1, but it accepts patch(1) options from GNU patch to override default behavior. eapply_user support The eapply_user command permits the package manager to apply user-provided patches. It must be called from every src_prepare function. + eapply_user doesn't need to be called explicitly when default src_prepare is called. @@ -962,13 +963,13 @@ src_install() { in_iuse support - The in_iuse function returns true if the USE flag given as its argument is available in the ebuild for USE queries. + The in_iuse function returns true if the given parameter is available in the ebuilds USE. unpack changes - unpack supports absolute and relative paths. + unpack supports elative paths without leading ./ (unpack foo/bar.tar.gz is valid as relative path). unpack supports .txz (xz compressed tarball). unpack matches filename extensions case-insensitively. @@ -976,7 +977,7 @@ src_install() { einstalldocs support - The einstalldocs function will in-stall the files specified by the DOCS variable (or a default set of files if DOCS is unset) and by the HTML_DOCS variable. + The einstalldocs function will install the files specified by the DOCS variable (or a default set of files if DOCS is unset) and by the HTML_DOCS variable.
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: b7aff930e229a8dd82229f4495a8caa57625ce51 Author: Ulrich Müller gentoo org> AuthorDate: Thu Nov 19 19:06:19 2015 + Commit: Ulrich Müller gentoo org> CommitDate: Thu Nov 19 19:06:19 2015 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=b7aff930 ebuild-writing/eapi: Update documentation of doheader in EAPI 5. Do not mention INSOPTIONS; install options should be set with the insopts function, but never by directly assigning the INSOPTIONS variable. Document the -r option. Bug: 566254 ebuild-writing/eapi/text.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 3acf047..4cf6133 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -806,7 +806,8 @@ RDEPEND="dev-libs/foo:2= New doheader helper function - Installs the given header files into /usr/include/, by default with file mode 0644. This can be overridden by setting INSOPTIONS with the insopts function. + Installs the given header files into /usr/include/. If option + -r is specified, descends recursively into any directories given.
[gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
commit: d38d6b5e7537e6f35ef9b494b7a705d9df6b62c7 Author: Mike Gilbert gentoo org> AuthorDate: Sun Jun 8 17:37:42 2014 + Commit: Mike Gilbert gentoo org> CommitDate: Sun Jun 8 17:37:42 2014 + URL: http://git.overlays.gentoo.org/gitweb/?p=proj/devmanual.git;a=commit;h=d38d6b5e ebuild-writing/eapi: Replace REPLACED_BY with REPLACED_BY_VERSION --- ebuild-writing/eapi/text.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml index 1ee4026..3faab22 100644 --- a/ebuild-writing/eapi/text.xml +++ b/ebuild-writing/eapi/text.xml @@ -646,7 +646,7 @@ REQUIRED_USE="|| ( foo bar baz )" when using it in these phases. - The REPLACED_BY variable contains the single version + The REPLACED_BY_VERSION variable contains the single version (PVR) of this package that is replacing us, if we are being uninstalled as part of an install, or an empty string otherwise. It is valid in pkg_prerm and pkg_postrm.