summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2017-04-29 20:57:24 +0200
committerUlrich Müller <ulm@gentoo.org>2017-04-29 20:57:24 +0200
commit0ba321ccb5717920884081f1b2b3352570355d7d (patch)
treefd0eff082ed4057bcb2edbae55a802422e55d66f
parentRemove redundant span elements in HTML output. (diff)
downloadpms-0ba321ccb5717920884081f1b2b3352570355d7d.tar.gz
pms-0ba321ccb5717920884081f1b2b3352570355d7d.tar.bz2
pms-0ba321ccb5717920884081f1b2b3352570355d7d.zip
EAPI 6 has been reapproved by the Council.
Bug: 616206
-rw-r--r--6/eapi-cheatsheet-nocombine.pdfbin80450 -> 80463 bytes
-rw-r--r--6/eapi-cheatsheet.pdfbin78719 -> 78720 bytes
-rw-r--r--6/pms.css12
-rw-r--r--6/pms.html5468
-rw-r--r--6/pms.pdfbin470308 -> 449582 bytes
5 files changed, 2666 insertions, 2814 deletions
diff --git a/6/eapi-cheatsheet-nocombine.pdf b/6/eapi-cheatsheet-nocombine.pdf
index 10f5cb4..465121b 100644
--- a/6/eapi-cheatsheet-nocombine.pdf
+++ b/6/eapi-cheatsheet-nocombine.pdf
Binary files differ
diff --git a/6/eapi-cheatsheet.pdf b/6/eapi-cheatsheet.pdf
index 1db00ed..52dad77 100644
--- a/6/eapi-cheatsheet.pdf
+++ b/6/eapi-cheatsheet.pdf
Binary files differ
diff --git a/6/pms.css b/6/pms.css
index bce5d2b..9362163 100644
--- a/6/pms.css
+++ b/6/pms.css
@@ -34,6 +34,7 @@
.ecbx-1000{ font-weight: bold;}
.ecrm-0900{font-size:90%;}
.ecrm-0800{font-size:80%;}
+.eccc1000-{font-variant: small-caps;}
.ectt-0800{font-size:80%; font-family: monospace;}
.ectt-0800{ font-family: monospace;}
.ectt-0800{ font-family: monospace;}
@@ -178,7 +179,8 @@ dt.enumerate{float:left; clear:left; margin-right:0.2em; margin-left:2em;}
dt.compactenum{float:left; clear:left; margin-right:0.2em; margin-left:2em;}
div.verbatiminput {font-family: monospace; white-space: nowrap; }
div.algorithm table.caption { border-bottom: 1px solid black; margin-bottom:1pt; }
-.ALCitem {width:2em; text-align:right;}
+.ALCitem {width:2em; text-align:right;display:inline-block;font-size:0.8em;}
+.ALIndent{display:inline-block;}
tr#TBL-2-1- td{border-top:0.11197em solid}
tr#TBL-2-1- td{border-bottom:0.06998em solid}
tr#TBL-2-3- td{border-bottom:0.11197em solid}
@@ -280,10 +282,10 @@ tr#TBL-34-1- td{border-bottom:0.06998em solid}
tr#TBL-34-3- td{border-bottom:0.11197em solid}
tr#TBL-35-1- td{border-top:0.11197em solid}
tr#TBL-35-1- td{border-bottom:0.06998em solid}
-tr#TBL-35-5- td{border-bottom:0.11197em solid}
+tr#TBL-35-3- td{border-bottom:0.11197em solid}
tr#TBL-36-1- td{border-top:0.11197em solid}
tr#TBL-36-1- td{border-bottom:0.06998em solid}
-tr#TBL-36-3- td{border-bottom:0.11197em solid}
+tr#TBL-36-5- td{border-bottom:0.11197em solid}
tr#TBL-37-1- td{border-top:0.11197em solid}
tr#TBL-37-1- td{border-bottom:0.06998em solid}
tr#TBL-37-3- td{border-bottom:0.11197em solid}
@@ -292,10 +294,10 @@ tr#TBL-38-1- td{border-bottom:0.06998em solid}
tr#TBL-38-3- td{border-bottom:0.11197em solid}
tr#TBL-39-1- td{border-top:0.11197em solid}
tr#TBL-39-1- td{border-bottom:0.06998em solid}
-tr#TBL-39-4- td{border-bottom:0.11197em solid}
+tr#TBL-39-3- td{border-bottom:0.11197em solid}
tr#TBL-40-1- td{border-top:0.11197em solid}
tr#TBL-40-1- td{border-bottom:0.06998em solid}
-tr#TBL-40-3- td{border-bottom:0.11197em solid}
+tr#TBL-40-4- td{border-bottom:0.11197em solid}
tr#TBL-41-1- td{border-top:0.11197em solid}
tr#TBL-41-1- td{border-bottom:0.06998em solid}
tr#TBL-41-3- td{border-bottom:0.11197em solid}
diff --git a/6/pms.html b/6/pms.html
index 326c090..243a4cb 100644
--- a/6/pms.html
+++ b/6/pms.html
@@ -6,11 +6,10 @@
>
<head><title>Package Manager Specification</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
-<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
+<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)" />
+<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)" />
<!-- xhtml,fn-in,html -->
<meta name="src" content="pms.tex" />
-<meta name="date" content="2015-11-13 21:26:00" />
<link rel="stylesheet" type="text/css" href="pms.css" />
</head><body
>
@@ -38,511 +37,592 @@ href="mailto:ulm@gentoo.org" ><span
class="ecrm-1200">ulm@gentoo.org</span></a> </div>
<br />
<div class="date" ><span
-class="ecrm-1200">13th&#x00A0;November&#x00A0;2015</span></div>
+class="ecrm-1200">16th&#x00A0;April&#x00A0;2017</span></div>
</div>
<h2 class="likechapterHead"><a
- id="x1-1000"></a>Contents</h2> <div class="tableofcontents">
+ id="x1-1000"></a>Contents</h2>
+<div class="tableofcontents">
<span class="chapterToc" >1 <a
-href="#x1-80001" id="QQ2-1-8">Introduction</a></span>
+href="#x1-90001" id="QQ2-1-9">Introduction</a></span>
<br />&#x00A0;<span class="sectionToc" >1.1 <a
-href="#x1-90001.1" id="QQ2-1-9">Aims and Motivation</a></span>
+href="#x1-100001.1" id="QQ2-1-10">Aims and Motivation</a></span>
<br />&#x00A0;<span class="sectionToc" >1.2 <a
-href="#x1-100001.2" id="QQ2-1-10">Rationale</a></span>
+href="#x1-110001.2" id="QQ2-1-11">Rationale</a></span>
<br />&#x00A0;<span class="sectionToc" >1.3 <a
-href="#x1-110001.3" id="QQ2-1-11">Conventions</a></span>
+href="#x1-120001.3" id="QQ2-1-12">Conventions</a></span>
<br /><span class="chapterToc" >2 <a
-href="#x1-120002" id="QQ2-1-12">EAPIs</a></span>
+href="#x1-130002" id="QQ2-1-13">EAPIs</a></span>
<br />&#x00A0;<span class="sectionToc" >2.1 <a
-href="#x1-130002.1" id="QQ2-1-13">Definition</a></span>
+href="#x1-140002.1" id="QQ2-1-14">Definition</a></span>
<br />&#x00A0;<span class="sectionToc" >2.2 <a
-href="#x1-140002.2" id="QQ2-1-14">Defined EAPIs</a></span>
+href="#x1-150002.2" id="QQ2-1-15">Defined EAPIs</a></span>
<br />&#x00A0;<span class="sectionToc" >2.3 <a
-href="#x1-150002.3" id="QQ2-1-15">Reserved EAPIs</a></span>
+href="#x1-160002.3" id="QQ2-1-16">Reserved EAPIs</a></span>
<br /><span class="chapterToc" >3 <a
-href="#x1-160003" id="QQ2-1-16">Names and Versions</a></span>
+href="#x1-170003" id="QQ2-1-17">Names and Versions</a></span>
<br />&#x00A0;<span class="sectionToc" >3.1 <a
-href="#x1-170003.1" id="QQ2-1-17">Restrictions upon Names</a></span>
+href="#x1-180003.1" id="QQ2-1-18">Restrictions upon Names</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >3.1.1 <a
-href="#x1-180003.1.1" id="QQ2-1-18">Category Names</a></span>
+href="#x1-190003.1.1" id="QQ2-1-19">Category names</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >3.1.2 <a
-href="#x1-200003.1.2" id="QQ2-1-20">Package Names</a></span>
+href="#x1-210003.1.2" id="QQ2-1-21">Package names</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >3.1.3 <a
-href="#x1-220003.1.3" id="QQ2-1-22">Slot Names</a></span>
+href="#x1-230003.1.3" id="QQ2-1-23">Slot names</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >3.1.4 <a
-href="#x1-230003.1.4" id="QQ2-1-23">USE Flag Names</a></span>
+href="#x1-240003.1.4" id="QQ2-1-24">USE flag names</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >3.1.5 <a
-href="#x1-250003.1.5" id="QQ2-1-25">Repository Names</a></span>
+href="#x1-260003.1.5" id="QQ2-1-26">Repository names</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >3.1.6 <a
-href="#x1-260003.1.6" id="QQ2-1-26">Keyword Names</a></span>
+href="#x1-270003.1.6" id="QQ2-1-27">License names</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >3.1.7 <a
-href="#x1-270003.1.7" id="QQ2-1-27">EAPI Names</a></span>
+href="#x1-280003.1.7" id="QQ2-1-28">Keyword names</a></span>
+<br />&#x00A0;&#x00A0;<span class="subsectionToc" >3.1.8 <a
+href="#x1-290003.1.8" id="QQ2-1-29">EAPI names</a></span>
<br />&#x00A0;<span class="sectionToc" >3.2 <a
-href="#x1-280003.2" id="QQ2-1-28">Version Specifications</a></span>
+href="#x1-300003.2" id="QQ2-1-30">Version Specifications</a></span>
<br />&#x00A0;<span class="sectionToc" >3.3 <a
-href="#x1-290003.3" id="QQ2-1-29">Version Comparison</a></span>
+href="#x1-310003.3" id="QQ2-1-31">Version Comparison</a></span>
<br />&#x00A0;<span class="sectionToc" >3.4 <a
-href="#x1-300003.4" id="QQ2-1-37">Uniqueness of versions</a></span>
+href="#x1-320003.4" id="QQ2-1-39">Uniqueness of Versions</a></span>
<br /><span class="chapterToc" >4 <a
-href="#x1-310004" id="QQ2-1-38">Tree Layout</a></span>
+href="#x1-330004" id="QQ2-1-40">Tree Layout</a></span>
<br />&#x00A0;<span class="sectionToc" >4.1 <a
-href="#x1-320004.1" id="QQ2-1-39">Top Level</a></span>
+href="#x1-340004.1" id="QQ2-1-41">Top Level</a></span>
<br />&#x00A0;<span class="sectionToc" >4.2 <a
-href="#x1-330004.2" id="QQ2-1-40">Category Directories</a></span>
+href="#x1-350004.2" id="QQ2-1-42">Category Directories</a></span>
<br />&#x00A0;<span class="sectionToc" >4.3 <a
-href="#x1-340004.3" id="QQ2-1-41">Package Directories</a></span>
+href="#x1-360004.3" id="QQ2-1-43">Package Directories</a></span>
<br />&#x00A0;<span class="sectionToc" >4.4 <a
-href="#x1-350004.4" id="QQ2-1-42">The Profiles Directory</a></span>
+href="#x1-370004.4" id="QQ2-1-44">The Profiles Directory</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.4.1 <a
-href="#x1-360004.4.1" id="QQ2-1-43">The profiles.desc file</a></span>
+href="#x1-380004.4.1" id="QQ2-1-45">The profiles.desc file</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.4.2 <a
-href="#x1-370004.4.2" id="QQ2-1-44">The thirdpartymirrors file</a></span>
+href="#x1-390004.4.2" id="QQ2-1-46">The thirdpartymirrors file</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.4.3 <a
-href="#x1-380004.4.3" id="QQ2-1-45">use.desc and related files</a></span>
+href="#x1-400004.4.3" id="QQ2-1-47">use.desc and related files</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.4.4 <a
-href="#x1-390004.4.4" id="QQ2-1-46">The updates directory</a></span>
+href="#x1-410004.4.4" id="QQ2-1-48">The updates directory</a></span>
<br />&#x00A0;<span class="sectionToc" >4.5 <a
-href="#x1-400004.5" id="QQ2-1-47">The Licenses Directory</a></span>
-<br />&#x00A0;<span class="sectionToc" >4.6 <a
-href="#x1-410004.6" id="QQ2-1-48">The Eclass Directory</a></span>
-<br />&#x00A0;<span class="sectionToc" >4.7 <a
-href="#x1-420004.7" id="QQ2-1-49">The Metadata Directory</a></span>
+href="#x1-420004.5" id="QQ2-1-49">The Licenses Directory</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.6 <a
+href="#x1-430004.6" id="QQ2-1-50">The Eclass Directory</a></span>
+<br />&#x00A0;<span class="sectionToc" >4.7 <a
+href="#x1-440004.7" id="QQ2-1-51">The Metadata Directory</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >4.7.1 <a
-href="#x1-430004.7.1" id="QQ2-1-50">The metadata cache</a></span>
+href="#x1-450004.7.1" id="QQ2-1-52">The metadata cache</a></span>
<br /><span class="chapterToc" >5 <a
-href="#x1-440005" id="QQ2-1-51">Profiles</a></span>
+href="#x1-460005" id="QQ2-1-53">Profiles</a></span>
<br />&#x00A0;<span class="sectionToc" >5.1 <a
-href="#x1-450005.1" id="QQ2-1-52">General principles</a></span>
+href="#x1-470005.1" id="QQ2-1-54">General Principles</a></span>
<br />&#x00A0;<span class="sectionToc" >5.2 <a
-href="#x1-460005.2" id="QQ2-1-53">Files that make up a profile</a></span>
+href="#x1-480005.2" id="QQ2-1-55">Files That Make up a Profile</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.1 <a
-href="#x1-470005.2.1" id="QQ2-1-54">The parent file</a></span>
+href="#x1-490005.2.1" id="QQ2-1-56">The parent file</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.2 <a
-href="#x1-480005.2.2" id="QQ2-1-55">The eapi file</a></span>
+href="#x1-500005.2.2" id="QQ2-1-57">The eapi file</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.3 <a
-href="#x1-490005.2.3" id="QQ2-1-56">deprecated</a></span>
+href="#x1-510005.2.3" id="QQ2-1-58">deprecated</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.4 <a
-href="#x1-500005.2.4" id="QQ2-1-57">make.defaults</a></span>
+href="#x1-520005.2.4" id="QQ2-1-59">make.defaults</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.5 <a
-href="#x1-510005.2.5" id="QQ2-1-58">Simple line-based files</a></span>
+href="#x1-530005.2.5" id="QQ2-1-60">Simple line-based files</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.6 <a
-href="#x1-520005.2.6" id="QQ2-1-59">packages</a></span>
+href="#x1-540005.2.6" id="QQ2-1-61">packages</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.7 <a
-href="#x1-530005.2.7" id="QQ2-1-60">packages.build</a></span>
+href="#x1-550005.2.7" id="QQ2-1-62">packages.build</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.8 <a
-href="#x1-540005.2.8" id="QQ2-1-61">package.mask</a></span>
+href="#x1-560005.2.8" id="QQ2-1-63">package.mask</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.9 <a
-href="#x1-560005.2.9" id="QQ2-1-63">package.provided</a></span>
+href="#x1-580005.2.9" id="QQ2-1-65">package.provided</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.10 <a
-href="#x1-570005.2.10" id="QQ2-1-64">package.use</a></span>
+href="#x1-590005.2.10" id="QQ2-1-66">package.use</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.2.11 <a
-href="#x1-580005.2.11" id="QQ2-1-65">USE masking and forcing</a></span>
+href="#x1-600005.2.11" id="QQ2-1-67">USE masking and forcing</a></span>
<br />&#x00A0;<span class="sectionToc" >5.3 <a
-href="#x1-590005.3" id="QQ2-1-68">Profile variables</a></span>
+href="#x1-610005.3" id="QQ2-1-70">Profile Variables</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.3.1 <a
-href="#x1-600005.3.1" id="QQ2-1-69">Incremental Variables</a></span>
+href="#x1-620005.3.1" id="QQ2-1-71">Incremental variables</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >5.3.2 <a
-href="#x1-610005.3.2" id="QQ2-1-71">Specific variables and their meanings</a></span>
+href="#x1-630005.3.2" id="QQ2-1-73">Specific variables and their meanings</a></span>
<br /><span class="chapterToc" >6 <a
-href="#x1-620006" id="QQ2-1-72">Ebuild File Format</a></span>
+href="#x1-640006" id="QQ2-1-74">Ebuild File Format</a></span>
<br /><span class="chapterToc" >7 <a
-href="#x1-630007" id="QQ2-1-74">Ebuild-defined Variables</a></span>
+href="#x1-650007" id="QQ2-1-76">Ebuild-defined Variables</a></span>
<br />&#x00A0;<span class="sectionToc" >7.1 <a
-href="#x1-650007.1" id="QQ2-1-76">Metadata invariance</a></span>
+href="#x1-670007.1" id="QQ2-1-78">Metadata Invariance</a></span>
<br />&#x00A0;<span class="sectionToc" >7.2 <a
-href="#x1-660007.2" id="QQ2-1-77">Mandatory Ebuild-defined Variables</a></span>
+href="#x1-680007.2" id="QQ2-1-79">Mandatory Ebuild-defined Variables</a></span>
<br />&#x00A0;<span class="sectionToc" >7.3 <a
-href="#x1-670007.3" id="QQ2-1-78">Optional Ebuild-defined Variables</a></span>
+href="#x1-690007.3" id="QQ2-1-80">Optional Ebuild-defined Variables</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.1 <a
-href="#x1-680007.3.1" id="QQ2-1-81">EAPI</a></span>
+href="#x1-700007.3.1" id="QQ2-1-83">EAPI</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.2 <a
-href="#x1-690007.3.2" id="QQ2-1-82">Keywords</a></span>
+href="#x1-710007.3.2" id="QQ2-1-84">Keywords</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >7.3.3 <a
-href="#x1-700007.3.3" id="QQ2-1-83"><span
-class="ectt-1000">RDEPEND </span>value</a></span>
+href="#x1-720007.3.3" id="QQ2-1-85">RDEPEND value</a></span>
<br />&#x00A0;<span class="sectionToc" >7.4 <a
-href="#x1-710007.4" id="QQ2-1-85">Magic Ebuild-defined Variables</a></span>
+href="#x1-730007.4" id="QQ2-1-87">Magic Ebuild-defined Variables</a></span>
<br /><span class="chapterToc" >8 <a
-href="#x1-740008" id="QQ2-1-89">Dependencies</a></span>
+href="#x1-760008" id="QQ2-1-91">Dependencies</a></span>
<br />&#x00A0;<span class="sectionToc" >8.1 <a
-href="#x1-750008.1" id="QQ2-1-90">Dependency Classes</a></span>
+href="#x1-770008.1" id="QQ2-1-92">Dependency Classes</a></span>
<br />&#x00A0;<span class="sectionToc" >8.2 <a
-href="#x1-760008.2" id="QQ2-1-92">Dependency Specification Format</a></span>
+href="#x1-780008.2" id="QQ2-1-94">Dependency Specification Format</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.1 <a
-href="#x1-770008.2.1" id="QQ2-1-95">All-of Dependency Specifications</a></span>
+href="#x1-790008.2.1" id="QQ2-1-97">All-of dependency specifications</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.2 <a
-href="#x1-780008.2.2" id="QQ2-1-96">Use-conditional Dependency Specifications</a></span>
+href="#x1-800008.2.2" id="QQ2-1-98">USE-conditional dependency specifications</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.3 <a
-href="#x1-790008.2.3" id="QQ2-1-97">Any-of Dependency Specifications</a></span>
+href="#x1-810008.2.3" id="QQ2-1-99">Any-of dependency specifications</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.4 <a
-href="#x1-800008.2.4" id="QQ2-1-98">Exactly-one-of Dependency Specifications</a></span>
+href="#x1-820008.2.4" id="QQ2-1-100">Exactly-one-of dependency specifications</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.5 <a
-href="#x1-810008.2.5" id="QQ2-1-99">At-most-one-of Dependency Specifications</a></span>
+href="#x1-830008.2.5" id="QQ2-1-101">At-most-one-of dependency specifications</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.6 <a
-href="#x1-820008.2.6" id="QQ2-1-100">Package Dependency Specifications</a></span>
+href="#x1-840008.2.6" id="QQ2-1-102">Package dependency specifications</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >8.2.6.1 <a
+href="#x1-860008.2.6.1" id="QQ2-1-106">Operators</a></span>
+
+
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >8.2.6.2 <a
+href="#x1-870008.2.6.2" id="QQ2-1-107">Block operator</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >8.2.6.3 <a
+href="#x1-880008.2.6.3" id="QQ2-1-109">Slot dependencies</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >8.2.6.4 <a
+href="#x1-890008.2.6.4" id="QQ2-1-110">2-style and 4-style USE dependencies</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.7 <a
-href="#x1-890008.2.7" id="QQ2-1-110">Use State Constraints</a></span>
+href="#x1-910008.2.7" id="QQ2-1-112">USE state constraints</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.8 <a
-href="#x1-900008.2.8" id="QQ2-1-111">Restrict</a></span>
+href="#x1-920008.2.8" id="QQ2-1-113">Restrict</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.9 <a
-href="#x1-910008.2.9" id="QQ2-1-112">Properties</a></span>
-
-
+href="#x1-930008.2.9" id="QQ2-1-114">Properties</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >8.2.10 <a
-href="#x1-920008.2.10" id="QQ2-1-113">SRC_URI</a></span>
+href="#x1-940008.2.10" id="QQ2-1-115">SRC_URI</a></span>
<br /><span class="chapterToc" >9 <a
-href="#x1-930009" id="QQ2-1-114">Ebuild-defined Functions</a></span>
+href="#x1-950009" id="QQ2-1-116">Ebuild-defined Functions</a></span>
<br />&#x00A0;<span class="sectionToc" >9.1 <a
-href="#x1-940009.1" id="QQ2-1-115">List of Functions</a></span>
+href="#x1-960009.1" id="QQ2-1-117">List of Functions</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.1 <a
-href="#x1-950009.1.1" id="QQ2-1-116">Initial Working Directories</a></span>
+href="#x1-970009.1.1" id="QQ2-1-118">Initial working directories</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.2 <a
-href="#x1-960009.1.2" id="QQ2-1-118">pkg_pretend</a></span>
+href="#x1-980009.1.2" id="QQ2-1-120">pkg_pretend</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.3 <a
-href="#x1-970009.1.3" id="QQ2-1-120">pkg_setup</a></span>
+href="#x1-990009.1.3" id="QQ2-1-122">pkg_setup</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.4 <a
-href="#x1-980009.1.4" id="QQ2-1-121">src_unpack</a></span>
+href="#x1-1000009.1.4" id="QQ2-1-123">src_unpack</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.5 <a
-href="#x1-990009.1.5" id="QQ2-1-123">src_prepare</a></span>
+href="#x1-1010009.1.5" id="QQ2-1-125">src_prepare</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.6 <a
-href="#x1-1000009.1.6" id="QQ2-1-126">src_configure</a></span>
+href="#x1-1020009.1.6" id="QQ2-1-128">src_configure</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.7 <a
-href="#x1-1010009.1.7" id="QQ2-1-129">src_compile</a></span>
+href="#x1-1030009.1.7" id="QQ2-1-131">src_compile</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.8 <a
-href="#x1-1020009.1.8" id="QQ2-1-134">src_test</a></span>
+href="#x1-1040009.1.8" id="QQ2-1-136">src_test</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.9 <a
-href="#x1-1030009.1.9" id="QQ2-1-136">src_install</a></span>
+href="#x1-1050009.1.9" id="QQ2-1-138">src_install</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.10 <a
-href="#x1-1040009.1.10" id="QQ2-1-140">pkg_preinst</a></span>
+href="#x1-1060009.1.10" id="QQ2-1-142">pkg_preinst</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.11 <a
-href="#x1-1050009.1.11" id="QQ2-1-141">pkg_postinst</a></span>
+href="#x1-1070009.1.11" id="QQ2-1-143">pkg_postinst</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.12 <a
-href="#x1-1060009.1.12" id="QQ2-1-142">pkg_prerm</a></span>
+href="#x1-1080009.1.12" id="QQ2-1-144">pkg_prerm</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.13 <a
-href="#x1-1070009.1.13" id="QQ2-1-143">pkg_postrm</a></span>
+href="#x1-1090009.1.13" id="QQ2-1-145">pkg_postrm</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.14 <a
-href="#x1-1080009.1.14" id="QQ2-1-144">pkg_config</a></span>
+href="#x1-1100009.1.14" id="QQ2-1-146">pkg_config</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.15 <a
-href="#x1-1090009.1.15" id="QQ2-1-145">pkg_info</a></span>
+href="#x1-1110009.1.15" id="QQ2-1-147">pkg_info</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.16 <a
-href="#x1-1100009.1.16" id="QQ2-1-147">pkg_nofetch</a></span>
+href="#x1-1120009.1.16" id="QQ2-1-149">pkg_nofetch</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >9.1.17 <a
-href="#x1-1110009.1.17" id="QQ2-1-148"><span
-class="ectt-1000">default_ </span>Phase Functions</a></span>
+href="#x1-1130009.1.17" id="QQ2-1-150">Default phase functions</a></span>
<br />&#x00A0;<span class="sectionToc" >9.2 <a
-href="#x1-1120009.2" id="QQ2-1-150">Call Order</a></span>
+href="#x1-1140009.2" id="QQ2-1-152">Call Order</a></span>
<br /><span class="chapterToc" >10 <a
-href="#x1-11300010" id="QQ2-1-151">Eclasses</a></span>
+href="#x1-11500010" id="QQ2-1-153">Eclasses</a></span>
<br />&#x00A0;<span class="sectionToc" >10.1 <a
-href="#x1-11400010.1" id="QQ2-1-152">The inherit command</a></span>
+href="#x1-11600010.1" id="QQ2-1-154">The inherit Command</a></span>
<br />&#x00A0;<span class="sectionToc" >10.2 <a
-href="#x1-11500010.2" id="QQ2-1-153">Eclass-defined Metadata Keys</a></span>
+href="#x1-11700010.2" id="QQ2-1-155">Eclass-defined Metadata Keys</a></span>
<br />&#x00A0;<span class="sectionToc" >10.3 <a
-href="#x1-11600010.3" id="QQ2-1-154">EXPORT_FUNCTIONS</a></span>
+href="#x1-11800010.3" id="QQ2-1-156">EXPORT_FUNCTIONS</a></span>
<br /><span class="chapterToc" >11 <a
-href="#x1-11700011" id="QQ2-1-156">The Ebuild Environment</a></span>
+href="#x1-11900011" id="QQ2-1-158">The Ebuild Environment</a></span>
<br />&#x00A0;<span class="sectionToc" >11.1 <a
-href="#x1-11800011.1" id="QQ2-1-157">Defined Variables</a></span>
+href="#x1-12000011.1" id="QQ2-1-159">Defined Variables</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.1.1 <a
-href="#x1-11900011.1.1" id="QQ2-1-163">USE and IUSE Handling</a></span>
+href="#x1-12100011.1.1" id="QQ2-1-165">USE and IUSE handling</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.1.2 <a
-href="#x1-12000011.1.2" id="QQ2-1-164"><span
-class="ectt-1000">REPLACING_VERSIONS </span>and <span
-class="ectt-1000">REPLACED_BY_VERSION</span></a></span>
+href="#x1-12200011.1.2" id="QQ2-1-166">REPLACING_VERSIONS and REPLACED_BY_VERSION</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.1.3 <a
-href="#x1-12100011.1.3" id="QQ2-1-165">Offset-prefix variables <span
-class="ectt-1000">EPREFIX</span>, <span
-class="ectt-1000">EROOT </span>and <span
-class="ectt-1000">ED</span></a></span>
+href="#x1-12300011.1.3" id="QQ2-1-167">Offset-prefix variables</a></span>
<br />&#x00A0;<span class="sectionToc" >11.2 <a
-href="#x1-12200011.2" id="QQ2-1-167">The state of variables between functions</a></span>
+href="#x1-12400011.2" id="QQ2-1-169">The State of Variables Between Functions</a></span>
<br />&#x00A0;<span class="sectionToc" >11.3 <a
-href="#x1-12400011.3" id="QQ2-1-170">Available commands</a></span>
+href="#x1-12600011.3" id="QQ2-1-172">Available Commands</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.3.1 <a
-href="#x1-12500011.3.1" id="QQ2-1-171">System commands</a></span>
+href="#x1-12700011.3.1" id="QQ2-1-173">System commands</a></span>
+
+
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.1.1 <a
+href="#x1-12800011.3.1.1" id="QQ2-1-174">Guaranteed system commands</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.1.2 <a
+href="#x1-12900011.3.1.2" id="QQ2-1-175">Shell options</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.3.2 <a
-href="#x1-12800011.3.2" id="QQ2-1-175">Commands provided by package dependencies</a></span>
+href="#x1-13000011.3.2" id="QQ2-1-177">Commands provided by package dependencies</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >11.3.3 <a
-href="#x1-12900011.3.3" id="QQ2-1-176">Ebuild-specific Commands</a></span>
+href="#x1-13100011.3.3" id="QQ2-1-178">Ebuild-specific commands</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.1 <a
+href="#x1-13200011.3.3.1" id="QQ2-1-179">Failure behaviour and related commands</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.2 <a
+href="#x1-13300011.3.3.2" id="QQ2-1-181">Banned commands</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.3 <a
+href="#x1-13400011.3.3.3" id="QQ2-1-183">Sandbox commands</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.4 <a
+href="#x1-13500011.3.3.4" id="QQ2-1-184">Package manager query commands</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.5 <a
+href="#x1-13600011.3.3.5" id="QQ2-1-186">Output commands</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.6 <a
+href="#x1-13700011.3.3.6" id="QQ2-1-187">Error commands</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.7 <a
+href="#x1-13800011.3.3.7" id="QQ2-1-189">Patch commands</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.8 <a
+href="#x1-13900011.3.3.8" id="QQ2-1-192">Build commands</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.9 <a
+href="#x1-14000011.3.3.9" id="QQ2-1-196">Installation commands</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.10 <a
+href="#x1-14100011.3.3.10" id="QQ2-1-203">Commands affecting install destinations</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.11 <a
+href="#x1-14200011.3.3.11" id="QQ2-1-204">Commands affecting install compression</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.12 <a
+href="#x1-14300011.3.3.12" id="QQ2-1-206">USE list functions</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.13 <a
+href="#x1-14400011.3.3.13" id="QQ2-1-210">Text list functions</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.14 <a
+href="#x1-14500011.3.3.14" id="QQ2-1-211">Misc commands</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.15 <a
+href="#x1-14600011.3.3.15" id="QQ2-1-217">Debug commands</a></span>
+<br />&#x00A0;&#x00A0;&#x00A0;<span class="subsubsectionToc" >11.3.3.16 <a
+href="#x1-14700011.3.3.16" id="QQ2-1-218">Reserved commands and variables</a></span>
<br />&#x00A0;<span class="sectionToc" >11.4 <a
-href="#x1-14600011.4" id="QQ2-1-217">The state of the system between functions</a></span>
+href="#x1-14800011.4" id="QQ2-1-219">The State of the System Between Functions</a></span>
<br /><span class="chapterToc" >12 <a
-href="#x1-14700012" id="QQ2-1-218">Merging and Unmerging</a></span>
+href="#x1-14900012" id="QQ2-1-220">Merging and Unmerging</a></span>
<br />&#x00A0;<span class="sectionToc" >12.1 <a
-href="#x1-14900012.1" id="QQ2-1-220">Overview</a></span>
+href="#x1-15100012.1" id="QQ2-1-222">Overview</a></span>
<br />&#x00A0;<span class="sectionToc" >12.2 <a
-href="#x1-15000012.2" id="QQ2-1-221">Directories</a></span>
-
-
+href="#x1-15200012.2" id="QQ2-1-223">Directories</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.1 <a
-href="#x1-15100012.2.1" id="QQ2-1-222">Permissions</a></span>
+href="#x1-15300012.2.1" id="QQ2-1-224">Permissions</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.2.2 <a
-href="#x1-15200012.2.2" id="QQ2-1-223">Empty Directories</a></span>
+href="#x1-15400012.2.2" id="QQ2-1-225">Empty directories</a></span>
<br />&#x00A0;<span class="sectionToc" >12.3 <a
-href="#x1-15300012.3" id="QQ2-1-224">Regular Files</a></span>
+href="#x1-15500012.3" id="QQ2-1-226">Regular Files</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.1 <a
-href="#x1-15400012.3.1" id="QQ2-1-225">Permissions</a></span>
+href="#x1-15600012.3.1" id="QQ2-1-227">Permissions</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.2 <a
-href="#x1-15500012.3.2" id="QQ2-1-226">File modification times</a></span>
+href="#x1-15700012.3.2" id="QQ2-1-228">File modification times</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.3.3 <a
-href="#x1-15600012.3.3" id="QQ2-1-228">Configuration File Protection</a></span>
+href="#x1-15800012.3.3" id="QQ2-1-230">Configuration file protection</a></span>
<br />&#x00A0;<span class="sectionToc" >12.4 <a
-href="#x1-15700012.4" id="QQ2-1-229">Symlinks</a></span>
+href="#x1-15900012.4" id="QQ2-1-231">Symlinks</a></span>
<br />&#x00A0;&#x00A0;<span class="subsectionToc" >12.4.1 <a
-href="#x1-15800012.4.1" id="QQ2-1-230">Rewriting</a></span>
+href="#x1-16000012.4.1" id="QQ2-1-232">Rewriting</a></span>
<br />&#x00A0;<span class="sectionToc" >12.5 <a
-href="#x1-15900012.5" id="QQ2-1-231">Hard links</a></span>
+href="#x1-16100012.5" id="QQ2-1-233">Hard Links</a></span>
<br />&#x00A0;<span class="sectionToc" >12.6 <a
-href="#x1-16000012.6" id="QQ2-1-232">Other Files</a></span>
+href="#x1-16200012.6" id="QQ2-1-234">Other Files</a></span>
<br /><span class="chapterToc" >13 <a
-href="#x1-16100013" id="QQ2-1-233">Metadata Cache</a></span>
+href="#x1-16300013" id="QQ2-1-235">Metadata Cache</a></span>
<br />&#x00A0;<span class="sectionToc" >13.1 <a
-href="#x1-16200013.1" id="QQ2-1-234">Directory Contents</a></span>
+href="#x1-16400013.1" id="QQ2-1-236">Directory Contents</a></span>
<br />&#x00A0;<span class="sectionToc" >13.2 <a
-href="#x1-16300013.2" id="QQ2-1-235">Cache File Format</a></span>
+href="#x1-16500013.2" id="QQ2-1-237">Cache File Format</a></span>
<br /><span class="chapterToc" >14 <a
-href="#x1-16400014" id="QQ2-1-236">Glossary</a></span>
+href="#x1-16600014" id="QQ2-1-238">Glossary</a></span>
<br /><span class="chapterToc" > <a
-href="#Q1-1-238">Bibliography</a></span>
+href="#Q1-1-240">Bibliography</a></span>
+
+
<br /><span class="appendixToc" >A <a
-href="#x1-166000A" id="QQ2-1-239">metadata.xml</a></span>
+href="#x1-168000A" id="QQ2-1-241">metadata.xml</a></span>
<br /><span class="appendixToc" >B <a
-href="#x1-167000B" id="QQ2-1-240">Unspecified Items</a></span>
+href="#x1-169000B" id="QQ2-1-242">Unspecified Items</a></span>
<br /><span class="appendixToc" >C <a
-href="#x1-168000C" id="QQ2-1-241">Historical Curiosities</a></span>
-<br />&#x00A0;<span class="sectionToc" >C.1 <a
-href="#x1-169000C.1" id="QQ2-1-242">If-else use blocks</a></span>
-<br />&#x00A0;<span class="sectionToc" >C.2 <a
-href="#x1-170000C.2" id="QQ2-1-244">cvs Versions</a></span>
-<br />&#x00A0;<span class="sectionToc" >C.3 <a
-href="#x1-171000C.3" id="QQ2-1-245">use.defaults</a></span>
-<br />&#x00A0;<span class="sectionToc" >C.4 <a
-href="#x1-172000C.4" id="QQ2-1-246">Old-style Virtuals</a></span>
+href="#x1-170000C" id="QQ2-1-243">Historical Curiosities</a></span>
+<br />&#x00A0;<span class="sectionToc" ><a
+href="#x1-171000C" id="QQ2-1-244">If-else USE Blocks</a></span>
+<br />&#x00A0;<span class="sectionToc" ><a
+href="#x1-172000C" id="QQ2-1-246">cvs Versions</a></span>
+<br />&#x00A0;<span class="sectionToc" ><a
+href="#x1-173000C" id="QQ2-1-247">use.defaults</a></span>
+<br />&#x00A0;<span class="sectionToc" ><a
+href="#x1-174000C" id="QQ2-1-248">Old-style Virtuals</a></span>
<br /><span class="appendixToc" >D <a
-href="#x1-173000D" id="QQ2-1-247">Feature Availability by EAPI</a></span>
+href="#x1-175000D" id="QQ2-1-249">Feature Availability by EAPI</a></span>
<br /><span class="appendixToc" >E <a
-href="#x1-175000E" id="QQ2-1-250">Differences Between EAPIs</a></span>
+href="#x1-177000E" id="QQ2-1-252">Differences Between EAPIs</a></span>
+<br />&#x00A0;<span class="sectionToc" ><a
+href="#x1-179000E" id="QQ2-1-254">EAPI 0</a></span>
+<br />&#x00A0;<span class="sectionToc" ><a
+href="#x1-180000E" id="QQ2-1-255">EAPI 1</a></span>
+<br />&#x00A0;<span class="sectionToc" ><a
+href="#x1-181000E" id="QQ2-1-256">EAPI 2</a></span>
+<br />&#x00A0;<span class="sectionToc" ><a
+href="#x1-182000E" id="QQ2-1-257">EAPI 3</a></span>
+<br />&#x00A0;<span class="sectionToc" ><a
+href="#x1-183000E" id="QQ2-1-258">EAPI 4</a></span>
+<br />&#x00A0;<span class="sectionToc" ><a
+href="#x1-184000E" id="QQ2-1-259">EAPI 5</a></span>
+<br />&#x00A0;<span class="sectionToc" ><a
+href="#x1-185000E" id="QQ2-1-260">EAPI 6</a></span>
<br /><span class="appendixToc" >F <a
-href="#x1-184000F" id="QQ2-1-259">Desk Reference</a></span>
+href="#x1-186000F" id="QQ2-1-261">Desk Reference</a></span>
</div>
<h2 class="likechapterHead"><a
- id="x1-2000"></a>List of Algorithms</h2><div class="tableofcontents">
+ id="x1-2000"></a>List of Algorithms</h2>
+<div class="tableofcontents">
3.1 <a
-href="#x1-29001r1">Version comparison top-level logic</a>
+href="#x1-31001r1">Version comparison top-level logic</a>
<br />3.2 <a
-href="#x1-29008r2">Version comparison logic for numeric components</a>
+href="#x1-31008r2">Version comparison logic for numeric components</a>
<br />3.3 <a
-href="#x1-29025r3">Version comparison logic for each numeric component after the first</a>
+href="#x1-31025r3">Version comparison logic for each numeric component after the first</a>
<br />3.4 <a
-href="#x1-29041r4">Version comparison logic for letter components</a>
+href="#x1-31041r4">Version comparison logic for letter components</a>
<br />3.5 <a
-href="#x1-29049r5">Version comparison logic for suffixes</a>
+href="#x1-31049r5">Version comparison logic for suffixes</a>
<br />3.6 <a
-href="#x1-29069r6">Version comparison logic for each suffix</a>
+href="#x1-31069r6">Version comparison logic for each suffix</a>
<br />3.7 <a
-href="#x1-29083r7">Version comparison logic for revision components</a>
+href="#x1-31083r7">Version comparison logic for revision components</a>
<br />5.1 <a
-href="#x1-58002r1">USE masking logic</a>
+href="#x1-60002r1"><span
+class="ectt-1000">USE </span>masking logic</a>
<br />11.1 <a
-href="#x1-136001r1">eapply logic</a>
+href="#x1-138001r1"><span
+class="ectt-1000">eapply </span>logic</a>
<br />11.2 <a
-href="#x1-137002r2">econf --libdir logic</a>
+href="#x1-139002r2"><span
+class="ectt-1000">econf --libdir </span>logic</a>
<br />11.3 <a
-href="#x1-138001r3">Determining the library directory</a>
+href="#x1-140001r3">Determining the library directory</a>
<br />11.4 <a
-href="#x1-143003r4">einstalldocs logic</a>
+href="#x1-145003r4"><span
+class="ectt-1000">einstalldocs </span>logic</a>
<br />11.5 <a
-href="#x1-143025r5">get_libdir logic</a>
+href="#x1-145025r5"><span
+class="ectt-1000">get_libdir </span>logic</a>
</div>
<h2 class="likechapterHead"><a
- id="x1-3000"></a>List of Listings</h2><div class="tableofcontents">
+ id="x1-3000"></a>List of Listings</h2>
+<div class="tableofcontents">
9.1 <a
-href="#x1-98001r1">src_unpack</a>
+href="#x1-100001r1"><span
+class="ectt-1000">src_unpack</span></a>
<br />9.2 <a
-href="#x1-99001r2">src_prepare, format&#x00A0;6</a>
+href="#x1-101001r2"><span
+class="ectt-1000">src_prepare</span>, format&#x00A0;6</a>
<br />9.3 <a
-href="#x1-100001r3">src_configure</a>
+href="#x1-102001r3"><span
+class="ectt-1000">src_configure</span></a>
<br />9.4 <a
-href="#x1-101001r4">src_compile, format&#x00A0;0</a>
+href="#x1-103001r4"><span
+class="ectt-1000">src_compile</span>, format&#x00A0;0</a>
<br />9.5 <a
-href="#x1-101002r5">src_compile, format&#x00A0;1</a>
+href="#x1-103002r5"><span
+class="ectt-1000">src_compile</span>, format&#x00A0;1</a>
<br />9.6 <a
-href="#x1-101003r6">src_compile, format&#x00A0;2</a>
+href="#x1-103003r6"><span
+class="ectt-1000">src_compile</span>, format&#x00A0;2</a>
<br />9.7 <a
-href="#x1-103001r7">src_install, format&#x00A0;4</a>
+href="#x1-105001r7"><span
+class="ectt-1000">src_install</span>, format&#x00A0;4</a>
<br />9.8 <a
-href="#x1-103002r8">src_install, format&#x00A0;6</a>
+href="#x1-105002r8"><span
+class="ectt-1000">src_install</span>, format&#x00A0;6</a>
<br />10.1 <a
-href="#x1-116001r1">EXPORT_FUNCTIONS example: foo.eclass</a>
+href="#x1-118001r1"><span
+class="ectt-1000">EXPORT_FUNCTIONS </span>example: <span
+class="ectt-1000">foo.eclass</span></a>
<br />11.1 <a
-href="#x1-123001r1">Environment state between functions</a>
+href="#x1-125001r1">Environment state between functions</a>
<br />11.2 <a
-href="#x1-137017r2">einstall command</a>
+href="#x1-139017r2"><span
+class="ectt-1000">einstall </span>command</a>
<br />C.1 <a
-href="#x1-169001r1">If-else use blocks</a>
+href="#x1-171001r1">If-else use blocks</a>
</div>
<h2 class="likechapterHead"><a
- id="x1-4000"></a>List of Tables</h2><div class="tableofcontents"><span class="lotToc" >5.1&#x00A0;<a
-href="#x1-58001r1">Profile directory support for masking/forcing use flags in stable versions
+ id="x1-4000"></a>List of Tables</h2>
+<div class="tableofcontents"><span class="lotToc" >5.1&#x00A0;<a
+href="#x1-60001r1">Profile directory support for masking/forcing use flags in stable versions
only</a></span><br /><span class="lotToc" >5.2&#x00A0;<a
-href="#x1-60001r2">Profile-defined <span
+href="#x1-62001r2">Profile-defined <span
class="ectt-1000">IUSE </span>injection for EAPIs</a></span><br /><span class="lotToc" >6.1&#x00A0;<a
-href="#x1-62001r1">Bash version</a></span><br /><span class="lotToc" >7.1&#x00A0;<a
-href="#x1-67001r1">EAPIs supporting
+href="#x1-64001r1">Bash version</a></span><br /><span class="lotToc" >7.1&#x00A0;<a
+href="#x1-69001r1">EAPIs supporting
<span
class="ectt-1000">IUSE </span>defaults</a></span><br /><span class="lotToc" >7.2&#x00A0;<a
-href="#x1-67002r2">EAPIs supporting various ebuild-defined variables</a></span><br /><span class="lotToc" >7.3&#x00A0;<a
-href="#x1-70001r3">EAPIs with
+href="#x1-69002r2">EAPIs supporting various ebuild-defined variables</a></span><br /><span class="lotToc" >7.3&#x00A0;<a
+href="#x1-72001r3">EAPIs with
<span
-class="ectt-1000">RDEPEND=DEPEND </span>Default</a></span><br /><span class="lotToc" >7.4&#x00A0;<a
-href="#x1-73001r4">EAPIs supporting <span
+class="ectt-1000">RDEPEND=DEPEND </span>default</a></span><br /><span class="lotToc" >7.4&#x00A0;<a
+href="#x1-75001r4">EAPIs supporting <span
class="ectt-1000">DEFINED_PHASES</span></a></span><br /><span class="lotToc" >8.1&#x00A0;<a
-href="#x1-75001r1">Dependency classes
+href="#x1-77001r1">Dependency classes
required to be satisfied for a particular phase function</a></span><br /><span class="lotToc" >8.2&#x00A0;<a
-href="#x1-76001r2">EAPIs supporting <span
+href="#x1-78001r2">EAPIs supporting <span
class="ectt-1000">SRC_URI</span>
arrows</a></span><br /><span class="lotToc" >8.3&#x00A0;<a
-href="#x1-76002r3">EAPIs supporting <span
+href="#x1-78002r3">EAPIs supporting <span
class="ectt-1000">REQUIRED_USE ?? </span>groups</a></span><br /><span class="lotToc" >8.4&#x00A0;<a
-href="#x1-83001r4">Support for <span
+href="#x1-85001r4">Support for <span
class="ectt-1000">SLOT </span>dependencies
and sub-slots in EAPIs</a></span><br /><span class="lotToc" >8.5&#x00A0;<a
-href="#x1-83002r5">EAPIs supporting <span
+href="#x1-85002r5">EAPIs supporting <span
class="ectt-1000">USE </span>dependencies</a></span><br /><span class="lotToc" >8.6&#x00A0;<a
-href="#x1-85001r6">Exclamation mark
+href="#x1-87001r6">Exclamation mark
strengths for EAPIs</a></span><br /><span class="lotToc" >9.1&#x00A0;<a
-href="#x1-95001r1">EAPIs with <span
+href="#x1-97001r1">EAPIs with <span
class="ectt-1000">S </span>to <span
class="ectt-1000">WORKDIR </span>fallbacks</a></span><br /><span class="lotToc" >9.2&#x00A0;<a
-href="#x1-96001r2">EAPIs supporting
+href="#x1-98001r2">EAPIs supporting
<span
class="ectt-1000">pkg_pretend</span></a></span><br /><span class="lotToc" >9.3&#x00A0;<a
-href="#x1-99002r3"><span
+href="#x1-101002r3"><span
class="ectt-1000">src_prepare </span>support and behaviour for EAPIs</a></span><br /><span class="lotToc" >9.4&#x00A0;<a
-href="#x1-100002r4">EAPIs
-supporting <span
+href="#x1-102002r4">EAPIs supporting
+<span
class="ectt-1000">src_configure</span></a></span><br /><span class="lotToc" >9.5&#x00A0;<a
-href="#x1-101004r5"><span
+href="#x1-103004r5"><span
class="ectt-1000">src_compile </span>behaviour for EAPIs</a></span><br /><span class="lotToc" >9.6&#x00A0;<a
-href="#x1-102001r6"><span
-class="ectt-1000">src_test</span>
-behaviour for EAPIs</a></span><br /><span class="lotToc" >9.7&#x00A0;<a
-href="#x1-103003r7"><span
+href="#x1-104001r6"><span
+class="ectt-1000">src_test </span>behaviour for
+EAPIs</a></span><br /><span class="lotToc" >9.7&#x00A0;<a
+href="#x1-105003r7"><span
class="ectt-1000">src_install </span>behaviour for EAPIs</a></span><br /><span class="lotToc" >9.8&#x00A0;<a
-href="#x1-109001r8">EAPIs supporting
-<span
-class="ectt-1000">pkg_info </span>on non-installed packages</a></span><br /><span class="lotToc" >9.9&#x00A0;<a
-href="#x1-111001r9">EAPIs supporting <span
+href="#x1-111001r8">EAPIs supporting <span
+class="ectt-1000">pkg_info </span>on
+non-installed packages</a></span><br /><span class="lotToc" >9.9&#x00A0;<a
+href="#x1-113001r9">EAPIs supporting <span
class="ectt-1000">default_ </span>phase functions</a></span><br /><span class="lotToc" >11.1&#x00A0;<a
-href="#x1-118002">Defined variables</a></span><br /><span class="lotToc" >11.2&#x00A0;<a
-href="#x1-118007r2">EAPIs supporting various added env variables</a></span><br /><span class="lotToc" >11.3&#x00A0;<a
-href="#x1-118008r3">EAPIs
-supporting various removed env variables</a></span><br /><span class="lotToc" >11.4&#x00A0;<a
-href="#x1-118009r4">EAPIs supporting offset-prefix env
-variables</a></span><br /><span class="lotToc" >11.5&#x00A0;<a
-href="#x1-118010r5">Locale settings for EAPIs</a></span><br /><span class="lotToc" >11.6&#x00A0;<a
-href="#x1-121001r6">EAPIs supporting offset-prefix</a></span><br /><span class="lotToc" >11.7&#x00A0;<a
-href="#x1-127001r7">System
-commands for EAPIs</a></span><br /><span class="lotToc" >11.8&#x00A0;<a
-href="#x1-130001r8">EAPI Command Failure Behaviour</a></span><br /><span class="lotToc" >11.9&#x00A0;<a
-href="#x1-131001r9">Banned
-commands</a></span><br /><span class="lotToc" >11.10&#x00A0;<a
-href="#x1-135001r10">EAPIs supporting <span
-class="ectt-1000">-n </span>for <span
+href="#x1-120002">Defined
+variables</a></span><br /><span class="lotToc" >11.2&#x00A0;<a
+href="#x1-120007r2">EAPIs supporting various added env variables</a></span><br /><span class="lotToc" >11.3&#x00A0;<a
+href="#x1-120008r3">EAPIs supporting
+various removed env variables</a></span><br /><span class="lotToc" >11.4&#x00A0;<a
+href="#x1-120009r4">EAPIs supporting offset-prefix env variables</a></span><br /><span class="lotToc" >11.5&#x00A0;<a
+href="#x1-120010r5">Locale
+settings for EAPIs</a></span><br /><span class="lotToc" >11.6&#x00A0;<a
+href="#x1-123001r6">EAPIs supporting offset-prefix</a></span><br /><span class="lotToc" >11.7&#x00A0;<a
+href="#x1-129001r7">System commands for
+EAPIs</a></span><br /><span class="lotToc" >11.8&#x00A0;<a
+href="#x1-132001r8">EAPI command failure behaviour</a></span><br /><span class="lotToc" >11.9&#x00A0;<a
+href="#x1-133001r9">Banned commands</a></span><br /><span class="lotToc" >11.10&#x00A0;<a
+href="#x1-135001r10">EAPIs
+supporting <span
+class="ectt-1000">--host-root </span>for <span
+class="ectt-1000">*_version </span>commands</a></span><br /><span class="lotToc" >11.11&#x00A0;<a
+href="#x1-137001r11">EAPIs supporting <span
+class="ectt-1000">-n </span>for
+<span
class="ectt-1000">die </span>and <span
-class="ectt-1000">assert </span>commands</a></span><br /><span class="lotToc" >11.11&#x00A0;<a
-href="#x1-136033r11">Patch
-commands for EAPIs</a></span><br /><span class="lotToc" >11.12&#x00A0;<a
-href="#x1-137001r12">Extra <span
-class="ectt-1000">econf </span>arguments for EAPIs</a></span><br /><span class="lotToc" >11.13&#x00A0;<a
-href="#x1-138018r13">EAPIs supporting
-<span
-class="ectt-1000">dodoc -r</span></a></span><br /><span class="lotToc" >11.14&#x00A0;<a
-href="#x1-138019r14">EAPIs supporting <span
+class="ectt-1000">assert </span>commands</a></span><br /><span class="lotToc" >11.12&#x00A0;<a
+href="#x1-138033r12">Patch commands for EAPIs</a></span><br /><span class="lotToc" >11.13&#x00A0;<a
+href="#x1-139001r13">Extra <span
+class="ectt-1000">econf</span>
+arguments for EAPIs</a></span><br /><span class="lotToc" >11.14&#x00A0;<a
+href="#x1-140018r14">EAPIs supporting <span
+class="ectt-1000">dodoc -r</span></a></span><br /><span class="lotToc" >11.15&#x00A0;<a
+href="#x1-140019r15">EAPIs supporting
+<span
class="ectt-1000">doheader </span>and <span
-class="ectt-1000">newheader</span></a></span><br /><span class="lotToc" >11.15&#x00A0;<a
-href="#x1-138020r15">EAPIs supporting
-symlinks for <span
-class="ectt-1000">doins</span></a></span><br /><span class="lotToc" >11.16&#x00A0;<a
-href="#x1-138021r16"><span
-class="ectt-1000">doman </span>language support options for EAPIs</a></span><br /><span class="lotToc" >11.17&#x00A0;<a
-href="#x1-138022r17">EAPIs
-supporting stdin for <span
-class="ectt-1000">new* </span>commands</a></span><br /><span class="lotToc" >11.18&#x00A0;<a
-href="#x1-138023r18">EAPIs supporting <span
-class="ectt-1000">--host-root </span>for <span
-class="ectt-1000">*_version</span>
+class="ectt-1000">newheader</span></a></span><br /><span class="lotToc" >11.16&#x00A0;<a
+href="#x1-140020r16">EAPIs supporting symlinks for <span
+class="ectt-1000">doins</span></a></span><br /><span class="lotToc" >11.17&#x00A0;<a
+href="#x1-140021r17"><span
+class="ectt-1000">doman</span>
+language support options for EAPIs</a></span><br /><span class="lotToc" >11.18&#x00A0;<a
+href="#x1-140022r18">EAPIs supporting stdin for <span
+class="ectt-1000">new*</span>
commands</a></span><br /><span class="lotToc" >11.19&#x00A0;<a
-href="#x1-140001r19">EAPIs supporting controllable compression</a></span><br /><span class="lotToc" >11.20&#x00A0;<a
-href="#x1-141001r20">EAPI Behaviour for
-Use Queries not in IUSE_EFFECTIVE</a></span><br /><span class="lotToc" >11.21&#x00A0;<a
-href="#x1-141002r21">EAPIs supporting empty third argument
-in <span
+href="#x1-142001r19">EAPIs supporting controllable compression</a></span><br /><span class="lotToc" >11.20&#x00A0;<a
+href="#x1-143001r20">EAPI behaviour for
+use queries not in <span
+class="ectt-1000">IUSE_EFFECTIVE</span></a></span><br /><span class="lotToc" >11.21&#x00A0;<a
+href="#x1-143002r21">EAPIs supporting empty third argument in
+<span
class="ectt-1000">use_with </span>and <span
class="ectt-1000">use_enable</span></a></span><br /><span class="lotToc" >11.22&#x00A0;<a
-href="#x1-141003r22">EAPIs supporting <span
+href="#x1-143003r22">EAPIs supporting <span
class="ectt-1000">usex </span>and <span
class="ectt-1000">in_iuse</span></a></span><br /><span class="lotToc" >11.23&#x00A0;<a
-href="#x1-143001r23"><span
+href="#x1-145001r23"><span
class="ectt-1000">unpack</span>
behaviour for EAPIs</a></span><br /><span class="lotToc" >11.24&#x00A0;<a
-href="#x1-143002r24"><span
+href="#x1-145002r24"><span
class="ectt-1000">unpack </span>extensions for EAPIs</a></span><br /><span class="lotToc" >11.25&#x00A0;<a
-href="#x1-143034r25">Misc commands for
+href="#x1-145034r25">Misc commands for
EAPIs</a></span><br /><span class="lotToc" >12.1&#x00A0;<a
-href="#x1-155001r1">Preservation of file modification times (mtimes)</a></span><br /><span class="lotToc" >D.1&#x00A0;<a
-href="#x1-174002">Features in EAPIs</a></span><br />
+href="#x1-157001r1">Preservation of file modification times (mtimes)</a></span><br /><span class="lotToc" >D.1&#x00A0;<a
+href="#x1-176002">Features in EAPIs</a></span><br />
</div>
+
+
+<h2 class="likechapterHead"><a
+ id="x1-5000"></a></h2>
<h3 class="likesectionHead"><a
- id="x1-5000"></a>Acknowledgements</h3>
-<!--l. 3--><p class="noindent" >Thanks to Mike Kelly (package manager provided utilities, section&#x00A0;<a
-href="#x1-12900011.3.3">11.3.3<!--tex4ht:ref: sec:pkg-mgr-commands --></a>), Danny van Dyk (ebuild
+ id="x1-6000"></a>Acknowledgements</h3>
+<!--l. 5--><p class="noindent" >Thanks to Mike Kelly (package manager provided utilities, section&#x00A0;<a
+href="#x1-13100011.3.3">11.3.3<!--tex4ht:ref: sec:pkg-mgr-commands --></a>), Danny van Dyk (ebuild
functions, section&#x00A0;<a
-href="#x1-930009">9<!--tex4ht:ref: sec:ebuild-functions --></a>), David Leverton (various sections), Petteri R&auml;ty (environment state,
+href="#x1-950009">9<!--tex4ht:ref: sec:ebuild-functions --></a>), David Leverton (various sections), Petteri R&auml;ty (environment state,
section&#x00A0;<a
-href="#x1-12200011.2">11.2<!--tex4ht:ref: sec:ebuild-env-state --></a>) and Micha&#322; G&oacute;rny (various sections) for contributions. Thanks also to
+href="#x1-12400011.2">11.2<!--tex4ht:ref: sec:ebuild-env-state --></a>) and Micha&#322; G&oacute;rny (various sections) for contributions. Thanks also to
Mike Frysinger and Brian Harring for proof-reading and suggestions for fixes and/or
clarification.
-</p><!--l. 9--><p class="noindent" >
+</p><!--l. 11--><p class="noindent" >
</p>
<h3 class="likesectionHead"><a
- id="x1-6000"></a>Copyright and Licence</h3>
-<!--l. 11--><p class="noindent" >The bulk of this document is <span
-class="cmsy-10">&copy; </span>2007, 2008, 2009 Stephen Bennett and Ciaran McCreesh.
-Contributions are owned by their respective authors, and may have been changed substantially
-before inclusion.
-</p><!--l. 15--><p class="noindent" >This document is released under the Creative Commons Attribution-Share Alike 3.0 Licence. The
+ id="x1-7000"></a>Copyright and Licence</h3>
+<!--l. 13--><p class="noindent" >The bulk of this document is <span
+class="cmsy-10">&copy; </span>2007&#8211;2017 Stephen Bennett, Christian Faulhammer, Ciaran
+McCreesh and Ulrich M&uuml;ller. Contributions are owned by their respective authors, and may have
+been changed substantially before inclusion.
+</p><!--l. 17--><p class="noindent" >This document is released under the Creative Commons Attribution-Share Alike 3.0 Licence. The
full text of this licence can be found at <a
href="http://creativecommons.org/licenses/by-sa/3.0/" class="url" ><span
class="ectt-1000">http://creativecommons.org/licenses/by-sa/3.0/</span></a>.
-</p><!--l. 18--><p class="noindent" >
+</p><!--l. 20--><p class="noindent" >
</p>
<h3 class="likesectionHead"><a
- id="x1-7000"></a>Reporting Issues</h3>
-<!--l. 20--><p class="noindent" >Issues (inaccuracies, wording problems, omissions etc.)&#x00A0;in this document should be reported via
+ id="x1-8000"></a>Reporting Issues</h3>
+<!--l. 22--><p class="noindent" >Issues (inaccuracies, wording problems, omissions etc.)&#x00A0;in this document should be reported via
Gentoo Bugzilla using product <span
class="ecti-1000">Gentoo Hosted Projects</span>, component <span
class="ecti-1000">PMS/EAPI </span>and the default
assignee. There should be one bug per issue, and one issue per bug.
-</p><!--l. 24--><p class="noindent" >Patches (in <span
+</p><!--l. 26--><p class="noindent" >Patches (in <span
class="ectt-1000">git format-patch </span>form if possible) may be submitted either via Bugzilla or to the
<span
class="ectt-1000">gentoo-pms@lists.gentoo.org </span>mailing list. Patches will be reviewed by the PMS team, who will
do one of the following:
-</p><!--l. 29--><p class="noindent" >
+</p><!--l. 31--><p class="noindent" >
</p><ul>
<li class="compactitem">Accept and apply the patch.
</li>
@@ -552,10 +632,12 @@ do one of the following:
<li class="compactitem">Reject the patch outright.
</li>
<li class="compactitem">Take special action merited by the individual circumstances.</li></ul>
-<!--l. 36--><p class="noindent" >When reporting issues, remember that this document is not the appropriate place for pushing
+
+
+<!--l. 38--><p class="noindent" >When reporting issues, remember that this document is not the appropriate place for pushing
through changes to the tree or the package manager, except where those changes are
bugs.
-</p><!--l. 39--><p class="noindent" >If any issue cannot be resolved by the PMS team, it may be escalated to the Gentoo
+</p><!--l. 41--><p class="noindent" >If any issue cannot be resolved by the PMS team, it may be escalated to the Gentoo
Council.
@@ -565,9 +647,9 @@ Council.
</p>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;1</span><br /><a
- id="x1-80001"></a>Introduction</h2>
+ id="x1-90001"></a>Introduction</h2>
<h3 class="sectionHead"><span class="titlemark">1.1 </span> <a
- id="x1-90001.1"></a>Aims and Motivation</h3>
+ id="x1-100001.1"></a>Aims and Motivation</h3>
<!--l. 5--><p class="noindent" >This document aims to fully describe the format of an ebuild repository and the ebuilds therein,
as well as certain aspects of package manager behaviour required to support such a
repository.
@@ -575,12 +657,12 @@ repository.
class="ecti-1000">not </span>designed to be an introduction to ebuild development. Prior knowledge of
ebuild creation and an understanding of how the package management system works is assumed;
certain less familiar terms are explained in the Glossary in chapter&#x00A0;<a
-href="#x1-16400014">14<!--tex4ht:ref: sec:glossary --></a>.
+href="#x1-16600014">14<!--tex4ht:ref: sec:glossary --></a>.
</p><!--l. 12--><p class="noindent" >This document does not specify any user or package manager configuration information.
</p><!--l. 14--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">1.2 </span> <a
- id="x1-100001.2"></a>Rationale</h3>
+ id="x1-110001.2"></a>Rationale</h3>
<!--l. 16--><p class="noindent" >At present the only definition of what an ebuild can assume about its environment,
and the only definition of what is valid in an ebuild, is the source code of the latest
Portage release and a general consensus about which features are too new to assume
@@ -595,7 +677,7 @@ incompatibilities with any particular repository.
</p><!--l. 28--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">1.3 </span> <a
- id="x1-110001.3"></a>Conventions</h3>
+ id="x1-120001.3"></a>Conventions</h3>
<!--l. 30--><p class="noindent" >Text in <span
class="ectt-1000">teletype </span>is used for filenames or variable names. <span
class="ecti-1000">Italic </span>text is used for terms with a
@@ -613,12 +695,12 @@ repositories.
</p>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;2</span><br /><a
- id="x1-120002"></a>EAPIs</h2>
+ id="x1-130002"></a>EAPIs</h2>
<h3 class="sectionHead"><span class="titlemark">2.1 </span> <a
- id="x1-130002.1"></a>Definition</h3>
+ id="x1-140002.1"></a>Definition</h3>
<!--l. 5--><p class="noindent" >An EAPI can be thought of as a &#8216;version&#8217; of this specification to which a package conforms. An
EAPI value is a string as per section&#x00A0;<a
-href="#x1-270003.1.7">3.1.7<!--tex4ht:ref: sec:eapi-names --></a>, and is part of an ebuild&#8217;s metadata.
+href="#x1-290003.1.8">3.1.8<!--tex4ht:ref: sec:eapi-names --></a>, and is part of an ebuild&#8217;s metadata.
</p><!--l. 8--><p class="noindent" >If a package manager encounters a package version with an unrecognised EAPI, it must not
attempt to perform any operations upon it. It could, for example, ignore the package version
entirely (although this can lead to user confusion), or it could mark the package version as masked.
@@ -627,11 +709,11 @@ EAPI.
</p><!--l. 13--><p class="noindent" >The package manager must not attempt to perform any kind of comparison test other than
equality upon EAPIs.
</p><!--l. 16--><p class="noindent" >EAPIs are also used for profile directories, as described in section&#x00A0;<a
-href="#x1-480005.2.2">5.2.2<!--tex4ht:ref: sec:profile-eapi --></a>.
+href="#x1-500005.2.2">5.2.2<!--tex4ht:ref: sec:profile-eapi --></a>.
</p><!--l. 18--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">2.2 </span> <a
- id="x1-140002.2"></a>Defined EAPIs</h3>
+ id="x1-150002.2"></a>Defined EAPIs</h3>
<!--l. 20--><p class="noindent" >The following EAPIs are defined by this specification:
</p><dl class="description"><dt class="description">
<span
@@ -664,11 +746,11 @@ class="description">EAPI &#8216;6&#8217; contains a number of extensions to EAPI
<!--l. 33--><p class="noindent" >Except where explicitly noted, everything in this specification applies to all of the above
EAPIs.<span class="footnote-mark"><a
href="#fn1x3" id="fn1x3-bk"><sup class="textsuperscript">1</sup></a></span><a
- id="x1-14001f1"></a>
+ id="x1-15001f1"></a>
</p><!--l. 39--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">2.3 </span> <a
- id="x1-150002.3"></a>Reserved EAPIs</h3>
+ id="x1-160002.3"></a>Reserved EAPIs</h3>
<!--l. 42--><p class="noindent" >
@@ -686,22 +768,22 @@ class="ectt-1000">paludis- </span>are reserved for experimental use
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;3</span><br /><a
- id="x1-160003"></a>Names and Versions</h2>
+ id="x1-170003"></a>Names and Versions</h2>
<h3 class="sectionHead"><span class="titlemark">3.1 </span> <a
- id="x1-170003.1"></a>Restrictions upon Names</h3>
+ id="x1-180003.1"></a>Restrictions upon Names</h3>
<!--l. 5--><p class="noindent" >No name may be empty. Package managers must not impose fixed upper boundaries upon the
length of any name. A package manager should indicate or reject any name that is invalid
according to these rules.
</p><!--l. 8--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">3.1.1 </span> <a
- id="x1-180003.1.1"></a>Category Names</h4>
+ id="x1-190003.1.1"></a>Category names</h4>
<!--l. 9--><p class="noindent" >A category name may contain any of the characters [<span
class="ectt-1000">A-Za-z0-9+_.-</span>]. It must not begin with a
hyphen, a dot or a plus sign.
</p>
<!--l. 12--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-190003.1.1"></a><span
+ id="x1-200003.1.1"></a><span
class="ecbx-1000">Note:</span></span>
A hyphen is <span
class="ecti-1000">not </span>required because of the <span
@@ -710,15 +792,15 @@ contain a hyphen.
</p><!--l. 15--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">3.1.2 </span> <a
- id="x1-200003.1.2"></a>Package Names</h4>
+ id="x1-210003.1.2"></a>Package names</h4>
<!--l. 16--><p class="noindent" >A package name may contain any of the characters [<span
class="ectt-1000">A-Za-z0-9+_-</span>]. It must not begin with a
hyphen or a plus sign, and must not end in a hyphen followed by anything matching the version
syntax described in section&#x00A0;<a
-href="#x1-280003.2">3.2<!--tex4ht:ref: sec:version-spec --></a>.
+href="#x1-300003.2">3.2<!--tex4ht:ref: sec:version-spec --></a>.
</p>
<!--l. 20--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-210003.1.2"></a><span
+ id="x1-220003.1.2"></a><span
class="ecbx-1000">Note:</span></span>
A package name does not include the category. The term <span
class="ecti-1000">qualified package name </span>is used where a
@@ -727,7 +809,7 @@ class="ectt-1000">category/package </span>pair is meant.
</p><!--l. 23--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">3.1.3 </span> <a
- id="x1-220003.1.3"></a>Slot Names</h4>
+ id="x1-230003.1.3"></a>Slot names</h4>
<!--l. 25--><p class="noindent" >A slot name may contain any of the characters [<span
class="ectt-1000">A-Za-z0-9+_.-</span>]. It must not begin with a hyphen,
a dot or a plus sign.
@@ -736,60 +818,65 @@ a dot or a plus sign.
</p><!--l. 28--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">3.1.4 </span> <a
- id="x1-230003.1.4"></a>USE Flag Names</h4>
+ id="x1-240003.1.4"></a>USE flag names</h4>
<!--l. 29--><p class="noindent" >A USE flag name may contain any of the characters [<span
class="ectt-1000">A-Za-z0-9+_@-</span>]. It must begin with an
alphanumeric character. Underscores should be considered reserved for <span
class="ectt-1000">USE_EXPAND</span>, as described in
section&#x00A0;<a
-href="#x1-11900011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a>.
+href="#x1-12100011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a>.
</p>
<!--l. 33--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-240003.1.4"></a><span
+ id="x1-250003.1.4"></a><span
class="ecbx-1000">Note:</span></span>
The at-sign is required for <span
class="ectt-1000">LINGUAS</span>.
</p><!--l. 35--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">3.1.5 </span> <a
- id="x1-250003.1.5"></a>Repository Names</h4>
+ id="x1-260003.1.5"></a>Repository names</h4>
<!--l. 37--><p class="noindent" >A repository name may contain any of the characters [<span
class="ectt-1000">A-Za-z0-9_-</span>]. It must not begin with a
hyphen. In addition, every repository name must also be a valid package name.
</p><!--l. 40--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">3.1.6 </span> <a
- id="x1-260003.1.6"></a>Keyword Names</h4>
-<!--l. 42--><p class="noindent" >A keyword name may contain any of the characters [<span
+ id="x1-270003.1.6"></a>License names</h4>
+<!--l. 42--><p class="noindent" >A license name may contain any of the characters [<span
+class="ectt-1000">A-Za-z0-9+_.-</span>]. It must not begin with a
+hyphen, a dot or a plus sign.
+</p><!--l. 45--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">3.1.7 </span> <a
+ id="x1-280003.1.7"></a>Keyword names</h4>
+<!--l. 47--><p class="noindent" >A keyword name may contain any of the characters [<span
class="ectt-1000">A-Za-z0-9_-</span>]. It must not begin with a
hyphen. In contexts where it makes sense to do so, a keyword name may be prefixed by a tilde or a
hyphen. In <span
class="ectt-1000">KEYWORDS</span>, <span
class="ectt-1000">-* </span>is also acceptable as a keyword.
-</p><!--l. 46--><p class="noindent" >
+</p><!--l. 51--><p class="noindent" >
</p>
-<h4 class="subsectionHead"><span class="titlemark">3.1.7 </span> <a
- id="x1-270003.1.7"></a>EAPI Names</h4>
-<!--l. 48--><p class="noindent" >An EAPI name may contain any of the characters [<span
+<h4 class="subsectionHead"><span class="titlemark">3.1.8 </span> <a
+ id="x1-290003.1.8"></a>EAPI names</h4>
+<!--l. 53--><p class="noindent" >An EAPI name may contain any of the characters [<span
class="ectt-1000">A-Za-z0-9+_.-</span>]. It must not begin with a
hyphen, a dot or a plus sign.
-</p><!--l. 51--><p class="noindent" >
+
+
+</p><!--l. 56--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">3.2 </span> <a
- id="x1-280003.2"></a>Version Specifications</h3>
-<!--l. 53--><p class="noindent" >The package manager must not impose fixed limits upon the number of version components.
+ id="x1-300003.2"></a>Version Specifications</h3>
+<!--l. 58--><p class="noindent" >The package manager must not impose fixed limits upon the number of version components.
Package managers should indicate or reject any version that is invalid according to these
rules.
-</p><!--l. 56--><p class="noindent" >A version starts with the number part, which is in the form <span
-class="ectt-1000">[0-9]+(</span><span
-class="cmsy-10">\</span><span
-class="ectt-1000">.[0-9]+)* </span>(a positive
+</p><!--l. 61--><p class="noindent" >A version starts with the number part, which is in the form <span
+class="ectt-1000">[0-9]+(\.[0-9]+)* </span>(a positive
integer, followed by zero or more dot-prefixed positive integers).
-</p><!--l. 59--><p class="noindent" >This may optionally be followed by one of <span
+</p><!--l. 64--><p class="noindent" >This may optionally be followed by one of <span
class="ectt-1000">[a-z] </span>(a lowercase letter).
-
-
-</p><!--l. 61--><p class="noindent" >This may be followed by zero or more of the suffixes <span
+</p><!--l. 66--><p class="noindent" >This may be followed by zero or more of the suffixes <span
class="ectt-1000">_alpha</span>, <span
class="ectt-1000">_beta</span>, <span
class="ectt-1000">_pre</span>, <span
@@ -797,51 +884,51 @@ class="ectt-1000">_rc </span>or <span
class="ectt-1000">_p</span>, which
themselves may be followed by an optional integer. Suffix and integer count as separate version
components.
-</p><!--l. 65--><p class="noindent" >This may optionally be followed by the suffix <span
+</p><!--l. 70--><p class="noindent" >This may optionally be followed by the suffix <span
class="ectt-1000">-r </span>followed immediately by an integer (the &#8220;revision
number&#8221;). If this suffix is not present, it is assumed to be <span
class="ectt-1000">-r0</span>.
-</p><!--l. 68--><p class="noindent" >
+</p><!--l. 73--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">3.3 </span> <a
- id="x1-290003.3"></a>Version Comparison</h3>
-<!--l. 70--><p class="noindent" >Version specifications are compared component by component, moving from left to right, as
+ id="x1-310003.3"></a>Version Comparison</h3>
+<!--l. 75--><p class="noindent" >Version specifications are compared component by component, moving from left to right, as
detailed in Algorithm&#x00A0;<a
-href="#x1-29001r1">3.1<!--tex4ht:ref: alg:version-comparison --></a> and sub-algorithms. If a sub-algorithm returns a decision, then that is
+href="#x1-31001r1">3.1<!--tex4ht:ref: alg:version-comparison --></a> and sub-algorithms. If a sub-algorithm returns a decision, then that is
the result of the whole comparison; if it terminates without returning a decision, the process
continues from the point from which it was invoked.
</p>
<div class="algorithm">
-<!--l. 77--><p class="noindent" ><a
- id="x1-29001r1"></a></p><hr class="float" /><div class="float"
+<!--l. 81--><p class="noindent" ><a
+ id="x1-31001r1"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Algorithm 3.1: </span><span
-class="content">Version comparison top-level logic</span></div><!--tex4ht:label?: x1-29001r1 -->
+class="content">Version comparison top-level logic</span></div><!--tex4ht:label?: x1-31001r1 -->
<div class="algorithmic">
<a
- id="x1-29002r1"></a>
- <span class="ALCitem"><span class="ecrm-0800">&#x2007;1:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> let <span
+ id="x1-31002r1"></a>
+ <span class="ALCitem">1:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> let <span
class="cmmi-10">A </span>and <span
class="cmmi-10">B </span>be the versions to be compared <a
- id="x1-29003r2"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;2:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> compare numeric components using Algorithm&#x00A0;<a
-href="#x1-29008r2">3.2<!--tex4ht:ref: alg:version-comparison-numeric --></a> <a
- id="x1-29004r3"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;3:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> compare letter components using Algorithm&#x00A0;<a
-href="#x1-29041r4">3.4<!--tex4ht:ref: alg:version-comparison-letter --></a> <a
- id="x1-29005r4"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;4:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> compare suffixes using Algorithm&#x00A0;<a
-href="#x1-29049r5">3.5<!--tex4ht:ref: alg:version-comparison-suffix --></a> <a
- id="x1-29006r5"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;5:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> compare revision components using Algorithm&#x00A0;<a
-href="#x1-29083r7">3.7<!--tex4ht:ref: alg:version-comparison-revision --></a> <a
- id="x1-29007r6"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;6:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31003r2"></a>
+ <br /><span class="ALCitem">2:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> compare numeric components using Algorithm&#x00A0;<a
+href="#x1-31008r2">3.2<!--tex4ht:ref: alg:version-comparison-numeric --></a> <a
+ id="x1-31004r3"></a>
+ <br /><span class="ALCitem">3:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> compare letter components using Algorithm&#x00A0;<a
+href="#x1-31041r4">3.4<!--tex4ht:ref: alg:version-comparison-letter --></a> <a
+ id="x1-31005r4"></a>
+ <br /><span class="ALCitem">4:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> compare suffixes using Algorithm&#x00A0;<a
+href="#x1-31049r5">3.5<!--tex4ht:ref: alg:version-comparison-suffix --></a> <a
+ id="x1-31006r5"></a>
+ <br /><span class="ALCitem">5:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> compare revision components using Algorithm&#x00A0;<a
+href="#x1-31083r7">3.7<!--tex4ht:ref: alg:version-comparison-revision --></a> <a
+ id="x1-31007r6"></a>
+ <br /><span class="ALCitem">6:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A </span><span
class="cmr-10">= </span><span
@@ -854,18 +941,18 @@ class="cmmi-10">B</span>
<div class="algorithm">
-<!--l. 89--><p class="noindent" ><a
- id="x1-29008r2"></a></p><hr class="float" /><div class="float"
+<!--l. 93--><p class="noindent" ><a
+ id="x1-31008r2"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Algorithm 3.2: </span><span
-class="content">Version comparison logic for numeric components</span></div><!--tex4ht:label?: x1-29008r2 -->
+class="content">Version comparison logic for numeric components</span></div><!--tex4ht:label?: x1-31008r2 -->
<div class="algorithmic">
<a
- id="x1-29009r7"></a>
- <span class="ALCitem"><span class="ecrm-0800">&#x2007;1:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> define the notations <span
+ id="x1-31009r7"></a>
+ <span class="ALCitem">1:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> define the notations <span
class="cmmi-10">An</span><sub><span
class="cmmi-7">k</span></sub> and <span
class="cmmi-10">Bn</span><sub><span
@@ -876,8 +963,8 @@ class="cmmi-10">A </span>and <span
class="cmmi-10">B</span>
respectively, using <span
class="cmr-10">0</span>-based indexing <a
- id="x1-29010r8"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;2:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31010r8"></a>
+ <br /><span class="ALCitem">2:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">An</span><sub><span
class="cmr-7">0</span></sub> <span
@@ -885,13 +972,13 @@ class="cmmi-10">&#x003E; Bn</span><sub><span
class="cmr-7">0</span></sub> using integer comparison&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29011r9"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;3:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31011r9"></a>
+ <br /><span class="ALCitem">3:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003E; B</span>
</span><a
- id="x1-29012r10"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;4:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31012r10"></a>
+ <br /><span class="ALCitem">4:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">An</span><sub><span
@@ -900,25 +987,25 @@ class="cmmi-10">&#x003C; Bn</span><sub><span
class="cmr-7">0</span></sub> using integer comparison&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29013r11"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;5:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31013r11"></a>
+ <br /><span class="ALCitem">5:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003C; B</span>
</span><a
- id="x1-29014r12"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;6:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31014r12"></a>
+ <br /><span class="ALCitem">6:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-29015r13"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;7:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> let <span
+ id="x1-31015r13"></a>
+ <br /><span class="ALCitem">7:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> let <span
class="cmmi-10">Ann </span>be the number of numeric components of <span
class="cmmi-10">A</span> <a
- id="x1-29016r14"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;8:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> let <span
+ id="x1-31016r14"></a>
+ <br /><span class="ALCitem">8:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> let <span
class="cmmi-10">Bnn </span>be the number of numeric components of <span
class="cmmi-10">B</span> <a
- id="x1-29017r15"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;9:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31017r15"></a>
+ <br /><span class="ALCitem">9:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">for all</span>&#x00A0;<span
class="cmmi-10">i </span>such that <span
class="cmmi-10">i </span><span
@@ -928,50 +1015,43 @@ class="cmmi-10">i &#x003C; Ann </span>and <span
class="cmmi-10">i &#x003C; Bnn</span>, in ascending order&#x00A0;<span
class="ecbx-1000">do</span><span class="for-body">
<a
- id="x1-29018r16"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">10:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> compare <span
+ id="x1-31018r16"></a>
+<br /><span class="ALCitem">10:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> compare <span
class="cmmi-10">An</span><sub><span
class="cmmi-7">i</span></sub> and <span
class="cmmi-10">Bn</span><sub><span
class="cmmi-7">i</span></sub> using Algorithm&#x00A0;<a
-href="#x1-29025r3">3.3<!--tex4ht:ref: alg:version-comparison --></a>
+href="#x1-31025r3">3.3<!--tex4ht:ref: alg:version-comparison --></a>
</span><a
- id="x1-29019r17"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">11:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31019r17"></a>
+<br /><span class="ALCitem">11:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">for</span><a
- id="x1-29020r18"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">12:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31020r18"></a>
+<br /><span class="ALCitem">12:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">Ann &#x003E; Bnn</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29021r19"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">13:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31021r19"></a>
+<br /><span class="ALCitem">13:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003E; B</span>
</span><a
- id="x1-29022r20"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">14:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31022r20"></a>
+<br /><span class="ALCitem">14:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">Ann &#x003C; Bnn</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29023r21"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">15:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31023r21"></a>
+<br /><span class="ALCitem">15:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003C; B</span>
</span><a
- id="x1-29024r22"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">16:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31024r22"></a>
+<br /><span class="ALCitem">16:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</div>
@@ -982,18 +1062,18 @@ class="ecbx-1000">if</span>
<div class="algorithm">
-<!--l. 112--><p class="noindent" ><a
- id="x1-29025r3"></a></p><hr class="float" /><div class="float"
+<!--l. 116--><p class="noindent" ><a
+ id="x1-31025r3"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Algorithm 3.3: </span><span
-class="content">Version comparison logic for each numeric component after the first</span></div><!--tex4ht:label?: x1-29025r3 -->
+class="content">Version comparison logic for each numeric component after the first</span></div><!--tex4ht:label?: x1-31025r3 -->
<div class="algorithmic">
<a
- id="x1-29026r23"></a>
- <span class="ALCitem"><span class="ecrm-0800">&#x2007;1:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31026r23"></a>
+ <span class="ALCitem">1:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;either <span
class="cmmi-10">An</span><sub><span
class="cmmi-7">i</span></sub> or <span
@@ -1002,24 +1082,24 @@ class="cmmi-7">i</span></sub> has a leading <span
class="ectt-1000">0</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29027r24"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;2:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> let <span
+ id="x1-31027r24"></a>
+ <br /><span class="ALCitem">2:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> let <span
class="cmmi-10">An</span><span
class="cmsy-10">&#x2032;</span><sub><span
class="cmmi-7">i</span></sub> be <span
class="cmmi-10">An</span><sub><span
class="cmmi-7">i</span></sub> with any trailing <span
class="ectt-1000">0</span>s removed <a
- id="x1-29028r25"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;3:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> let <span
+ id="x1-31028r25"></a>
+ <br /><span class="ALCitem">3:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> let <span
class="cmmi-10">Bn</span><span
class="cmsy-10">&#x2032;</span><sub><span
class="cmmi-7">i</span></sub> be <span
class="cmmi-10">Bn</span><sub><span
class="cmmi-7">i</span></sub> with any trailing <span
class="ectt-1000">0</span>s removed <a
- id="x1-29029r26"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;4:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31029r26"></a>
+ <br /><span class="ALCitem">4:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">An</span><span
class="cmsy-10">&#x2032;</span><sub><span
@@ -1029,13 +1109,13 @@ class="cmsy-10">&#x2032;</span><sub><span
class="cmmi-7">i</span></sub> using ASCII stringwise comparison&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29030r27"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;5:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-31030r27"></a>
+ <br /><span class="ALCitem">5:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003E; B</span>
</span><a
- id="x1-29031r28"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;6:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31031r28"></a>
+ <br /><span class="ALCitem">6:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">An</span><span
@@ -1046,23 +1126,22 @@ class="cmsy-10">&#x2032;</span><sub><span
class="cmmi-7">i</span></sub> using ASCII stringwise comparison&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29032r29"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;7:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-31032r29"></a>
+ <br /><span class="ALCitem">7:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003C; B</span>
</span><a
- id="x1-29033r30"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;8:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31033r30"></a>
+ <br /><span class="ALCitem">8:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-29034r31"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;9:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31034r31"></a>
+ <br /><span class="ALCitem">9:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span><span class="else-body">
<a
- id="x1-29035r32"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">10:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31035r32"></a>
+<br /><span class="ALCitem">10:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">An</span><sub><span
class="cmmi-7">i</span></sub> <span
@@ -1070,15 +1149,13 @@ class="cmmi-10">&#x003E; Bn</span><sub><span
class="cmmi-7">i</span></sub> using integer comparison&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29036r33"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">11:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-31036r33"></a>
+<br /><span class="ALCitem">11:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003E; B</span>
</span><a
- id="x1-29037r34"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">12:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31037r34"></a>
+<br /><span class="ALCitem">12:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">An</span><sub><span
@@ -1087,21 +1164,18 @@ class="cmmi-10">&#x003C; Bn</span><sub><span
class="cmmi-7">i</span></sub> using integer comparison&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29038r35"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">13:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-31038r35"></a>
+<br /><span class="ALCitem">13:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003C; B</span>
</span><a
- id="x1-29039r36"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">14:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31039r36"></a>
+<br /><span class="ALCitem">14:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-29040r37"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">15:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31040r37"></a>
+<br /><span class="ALCitem">15:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</div>
@@ -1112,49 +1186,49 @@ class="ecbx-1000">if</span>
<div class="algorithm">
-<!--l. 134--><p class="noindent" ><a
- id="x1-29041r4"></a></p><hr class="float" /><div class="float"
+<!--l. 138--><p class="noindent" ><a
+ id="x1-31041r4"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Algorithm 3.4: </span><span
-class="content">Version comparison logic for letter components</span></div><!--tex4ht:label?: x1-29041r4 -->
+class="content">Version comparison logic for letter components</span></div><!--tex4ht:label?: x1-31041r4 -->
<div class="algorithmic">
<a
- id="x1-29042r38"></a>
- <span class="ALCitem"><span class="ecrm-0800">&#x2007;1:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> let <span
+ id="x1-31042r38"></a>
+ <span class="ALCitem">1:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> let <span
class="cmmi-10">Al </span>be the letter component of <span
class="cmmi-10">A </span>if any, otherwise the empty string <a
- id="x1-29043r39"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;2:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> let <span
+ id="x1-31043r39"></a>
+ <br /><span class="ALCitem">2:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> let <span
class="cmmi-10">Bl </span>be the letter component of <span
class="cmmi-10">B </span>if any, otherwise the empty string <a
- id="x1-29044r40"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;3:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31044r40"></a>
+ <br /><span class="ALCitem">3:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">Al &#x003E; Bl </span>using ASCII stringwise comparison&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29045r41"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;4:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31045r41"></a>
+ <br /><span class="ALCitem">4:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003E; B</span>
</span><a
- id="x1-29046r42"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;5:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31046r42"></a>
+ <br /><span class="ALCitem">5:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">Al &#x003C; Bl </span>using ASCII stringwise comparison&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29047r43"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;6:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31047r43"></a>
+ <br /><span class="ALCitem">6:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003C; B</span>
</span><a
- id="x1-29048r44"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;7:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31048r44"></a>
+ <br /><span class="ALCitem">7:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</div>
@@ -1165,18 +1239,18 @@ class="ecbx-1000">if</span>
<div class="algorithm">
-<!--l. 147--><p class="noindent" ><a
- id="x1-29049r5"></a></p><hr class="float" /><div class="float"
+<!--l. 151--><p class="noindent" ><a
+ id="x1-31049r5"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Algorithm 3.5: </span><span
-class="content">Version comparison logic for suffixes</span></div><!--tex4ht:label?: x1-29049r5 -->
+class="content">Version comparison logic for suffixes</span></div><!--tex4ht:label?: x1-31049r5 -->
<div class="algorithmic">
<a
- id="x1-29050r45"></a>
- <span class="ALCitem"><span class="ecrm-0800">&#x2007;1:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> define the notations <span
+ id="x1-31050r45"></a>
+ <span class="ALCitem">1:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> define the notations <span
class="cmmi-10">As</span><sub><span
class="cmmi-7">k</span></sub> and <span
class="cmmi-10">Bs</span><sub><span
@@ -1187,16 +1261,16 @@ class="cmmi-10">A </span>and <span
class="cmmi-10">B </span>respectively, using
<span
class="cmr-10">0</span>-based indexing <a
- id="x1-29051r46"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;2:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> let <span
+ id="x1-31051r46"></a>
+ <br /><span class="ALCitem">2:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> let <span
class="cmmi-10">Asn </span>be the number of suffixes of <span
class="cmmi-10">A</span> <a
- id="x1-29052r47"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;3:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> let <span
+ id="x1-31052r47"></a>
+ <br /><span class="ALCitem">3:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> let <span
class="cmmi-10">Bsn </span>be the number of suffixes of <span
class="cmmi-10">B</span> <a
- id="x1-29053r48"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;4:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31053r48"></a>
+ <br /><span class="ALCitem">4:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">for all</span>&#x00A0;<span
class="cmmi-10">i </span>such that <span
class="cmmi-10">i </span><span
@@ -1206,97 +1280,87 @@ class="cmmi-10">i &#x003C; Asn </span>and <span
class="cmmi-10">i &#x003C; Bsn</span>, in ascending order&#x00A0;<span
class="ecbx-1000">do</span><span class="for-body">
<a
- id="x1-29054r49"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;5:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> compare <span
+ id="x1-31054r49"></a>
+ <br /><span class="ALCitem">5:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> compare <span
class="cmmi-10">As</span><sub><span
class="cmmi-7">i</span></sub> and <span
class="cmmi-10">Bs</span><sub><span
class="cmmi-7">i</span></sub> using Algorithm&#x00A0;<a
-href="#x1-29069r6">3.6<!--tex4ht:ref: alg:version-comparison --></a>
+href="#x1-31069r6">3.6<!--tex4ht:ref: alg:version-comparison --></a>
</span><a
- id="x1-29055r50"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;6:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31055r50"></a>
+ <br /><span class="ALCitem">6:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">for</span><a
- id="x1-29056r51"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;7:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31056r51"></a>
+ <br /><span class="ALCitem">7:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">Asn &#x003E; Bsn</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29057r52"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;8:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31057r52"></a>
+ <br /><span class="ALCitem">8:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">As</span><sub><span
class="cmmi-7">Bsn</span></sub> is of type <span
class="ectt-1000">_p</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29058r53"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;9:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-31058r53"></a>
+ <br /><span class="ALCitem">9:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003E; B</span>
</span><a
- id="x1-29059r54"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">10:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31059r54"></a>
+<br /><span class="ALCitem">10:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">else</span><span class="else-body">
<a
- id="x1-29060r55"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">11:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-31060r55"></a>
+<br /><span class="ALCitem">11:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003C; B</span>
</span><a
- id="x1-29061r56"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">12:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31061r56"></a>
+<br /><span class="ALCitem">12:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-29062r57"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">13:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31062r57"></a>
+<br /><span class="ALCitem">13:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">Asn &#x003C; Bsn</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29063r58"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">14:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31063r58"></a>
+<br /><span class="ALCitem">14:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">Bs</span><sub><span
class="cmmi-7">Asn</span></sub> is of type <span
class="ectt-1000">_p</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29064r59"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">15:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-31064r59"></a>
+<br /><span class="ALCitem">15:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003C; B</span>
</span><a
- id="x1-29065r60"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">16:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31065r60"></a>
+<br /><span class="ALCitem">16:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">else</span><span class="else-body">
<a
- id="x1-29066r61"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">17:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-31066r61"></a>
+<br /><span class="ALCitem">17:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003E; B</span>
</span><a
- id="x1-29067r62"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">18:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31067r62"></a>
+<br /><span class="ALCitem">18:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-29068r63"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">19:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31068r63"></a>
+<br /><span class="ALCitem">19:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</div>
@@ -1307,18 +1371,18 @@ class="ecbx-1000">if</span>
<div class="algorithm">
-<!--l. 173--><p class="noindent" ><a
- id="x1-29069r6"></a></p><hr class="float" /><div class="float"
+<!--l. 177--><p class="noindent" ><a
+ id="x1-31069r6"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Algorithm 3.6: </span><span
-class="content">Version comparison logic for each suffix</span></div><!--tex4ht:label?: x1-29069r6 -->
+class="content">Version comparison logic for each suffix</span></div><!--tex4ht:label?: x1-31069r6 -->
<div class="algorithmic">
<a
- id="x1-29070r64"></a>
- <span class="ALCitem"><span class="ecrm-0800">&#x2007;1:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31070r64"></a>
+ <span class="ALCitem">1:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">As</span><sub><span
class="cmmi-7">i</span></sub> and <span
@@ -1328,24 +1392,24 @@ class="ectt-1000">_alpha </span>vs <span
class="ectt-1000">_beta </span>etc)&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29071r65"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;2:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> let <span
+ id="x1-31071r65"></a>
+ <br /><span class="ALCitem">2:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> let <span
class="cmmi-10">As</span><span
class="cmsy-10">&#x2032;</span><sub><span
class="cmmi-7">i</span></sub> be the integer part of <span
class="cmmi-10">As</span><sub><span
class="cmmi-7">i</span></sub> if any, otherwise <span
class="ectt-1000">0</span> <a
- id="x1-29072r66"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;3:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> let <span
+ id="x1-31072r66"></a>
+ <br /><span class="ALCitem">3:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> let <span
class="cmmi-10">Bs</span><span
class="cmsy-10">&#x2032;</span><sub><span
class="cmmi-7">i</span></sub> be the integer part of <span
class="cmmi-10">Bs</span><sub><span
class="cmmi-7">i</span></sub> if any, otherwise <span
class="ectt-1000">0</span> <a
- id="x1-29073r67"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;4:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31073r67"></a>
+ <br /><span class="ALCitem">4:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">As</span><span
class="cmsy-10">&#x2032;</span><sub><span
@@ -1355,13 +1419,13 @@ class="cmsy-10">&#x2032;</span><sub><span
class="cmmi-7">i</span></sub>, using integer comparison&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29074r68"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;5:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-31074r68"></a>
+ <br /><span class="ALCitem">5:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003E; B</span>
</span><a
- id="x1-29075r69"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;6:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31075r69"></a>
+ <br /><span class="ALCitem">6:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">As</span><span
@@ -1372,18 +1436,18 @@ class="cmsy-10">&#x2032;</span><sub><span
class="cmmi-7">i</span></sub>, using integer comparison&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29076r70"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;7:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-31076r70"></a>
+ <br /><span class="ALCitem">7:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003C; B</span>
</span><a
- id="x1-29077r71"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;8:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31077r71"></a>
+ <br /><span class="ALCitem">8:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-29078r72"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;9:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31078r72"></a>
+ <br /><span class="ALCitem">9:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;the type of <span
class="cmmi-10">As</span><sub><span
@@ -1402,26 +1466,22 @@ class="cmmi-10">&#x003C;</span> <span
class="ectt-1000">_p</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29079r73"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">10:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31079r73"></a>
+<br /><span class="ALCitem">10:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003E; B</span>
</span><a
- id="x1-29080r74"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">11:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31080r74"></a>
+<br /><span class="ALCitem">11:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span><span class="else-body">
<a
- id="x1-29081r75"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">12:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31081r75"></a>
+<br /><span class="ALCitem">12:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003C; B</span>
</span><a
- id="x1-29082r76"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">13:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31082r76"></a>
+<br /><span class="ALCitem">13:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</div>
@@ -1432,51 +1492,51 @@ class="ecbx-1000">if</span>
<div class="algorithm">
-<!--l. 193--><p class="noindent" ><a
- id="x1-29083r7"></a></p><hr class="float" /><div class="float"
+<!--l. 197--><p class="noindent" ><a
+ id="x1-31083r7"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Algorithm 3.7: </span><span
-class="content">Version comparison logic for revision components</span></div><!--tex4ht:label?: x1-29083r7 -->
+class="content">Version comparison logic for revision components</span></div><!--tex4ht:label?: x1-31083r7 -->
<div class="algorithmic">
<a
- id="x1-29084r77"></a>
- <span class="ALCitem"><span class="ecrm-0800">&#x2007;1:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> let <span
+ id="x1-31084r77"></a>
+ <span class="ALCitem">1:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> let <span
class="cmmi-10">Ar </span>be the integer part of the revision component of <span
class="cmmi-10">A </span>if any, otherwise <span
class="ectt-1000">0</span> <a
- id="x1-29085r78"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;2:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> let <span
+ id="x1-31085r78"></a>
+ <br /><span class="ALCitem">2:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> let <span
class="cmmi-10">Br </span>be the integer part of the revision component of <span
class="cmmi-10">B </span>if any, otherwise <span
class="ectt-1000">0</span> <a
- id="x1-29086r79"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;3:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31086r79"></a>
+ <br /><span class="ALCitem">3:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">Ar &#x003E; Br </span>using integer comparison&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29087r80"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;4:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31087r80"></a>
+ <br /><span class="ALCitem">4:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003E; B</span>
</span><a
- id="x1-29088r81"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;5:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31088r81"></a>
+ <br /><span class="ALCitem">5:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">Ar &#x003C; Br </span>using integer comparison&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-29089r82"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;6:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-31089r82"></a>
+ <br /><span class="ALCitem">6:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;<span
class="cmmi-10">A &#x003C; B</span>
</span><a
- id="x1-29090r83"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;7:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-31090r83"></a>
+ <br /><span class="ALCitem">7:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</div>
@@ -1485,8 +1545,8 @@ class="ecbx-1000">if</span>
</div><hr class="endfloat" />
</div>
<h3 class="sectionHead"><span class="titlemark">3.4 </span> <a
- id="x1-300003.4"></a>Uniqueness of versions</h3>
-<!--l. 207--><p class="noindent" >No two packages in a given repository may have the same qualified package name and equal
+ id="x1-320003.4"></a>Uniqueness of Versions</h3>
+<!--l. 212--><p class="noindent" >No two packages in a given repository may have the same qualified package name and equal
versions. For example, a repository may not contain more than one of <span
class="ectt-1000">foo-bar/baz-1.0.2</span>,
<span
@@ -1500,35 +1560,35 @@ class="ectt-1000">foo-bar/baz-1.000.2</span>.
</p>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;4</span><br /><a
- id="x1-310004"></a>Tree Layout</h2>
+ id="x1-330004"></a>Tree Layout</h2>
<!--l. 3--><p class="noindent" >This chapter defines the layout on-disk of an ebuild repository. In all cases below where a file or
directory is specified, a symlink to a file or directory is also valid. In this case, the package manager
must follow the operating system&#8217;s semantics for symbolic links and must not behave differently
from normal.
</p>
<h3 class="sectionHead"><span class="titlemark">4.1 </span> <a
- id="x1-320004.1"></a>Top Level</h3>
+ id="x1-340004.1"></a>Top Level</h3>
<!--l. 10--><p class="noindent" >An ebuild repository shall occupy one directory on disk, with the following subdirectories:
</p><ul>
<li class="compactitem">One directory per category, whose name shall be the name of the category. The layout
of these directories shall be as described in section&#x00A0;<a
-href="#x1-330004.2">4.2<!--tex4ht:ref: sec:category-dirs --></a>.
+href="#x1-350004.2">4.2<!--tex4ht:ref: sec:category-dirs --></a>.
</li>
<li class="compactitem">A <span
class="ectt-1000">profiles </span>directory, described in section&#x00A0;<a
-href="#x1-350004.4">4.4<!--tex4ht:ref: sec:profiles-dir --></a>.
+href="#x1-370004.4">4.4<!--tex4ht:ref: sec:profiles-dir --></a>.
</li>
<li class="compactitem">A <span
class="ectt-1000">licenses </span>directory (optional), described in section&#x00A0;<a
-href="#x1-400004.5">4.5<!--tex4ht:ref: sec:licenses-dir --></a>.
+href="#x1-420004.5">4.5<!--tex4ht:ref: sec:licenses-dir --></a>.
</li>
<li class="compactitem">An <span
class="ectt-1000">eclass </span>directory (optional), described in section&#x00A0;<a
-href="#x1-410004.6">4.6<!--tex4ht:ref: sec:eclass-dir --></a>.
+href="#x1-430004.6">4.6<!--tex4ht:ref: sec:eclass-dir --></a>.
</li>
<li class="compactitem">A <span
class="ectt-1000">metadata </span>directory (optional), described in section&#x00A0;<a
-href="#x1-420004.7">4.7<!--tex4ht:ref: sec:metadata-dir --></a>.
+href="#x1-440004.7">4.7<!--tex4ht:ref: sec:metadata-dir --></a>.
</li>
<li class="compactitem">Other optional support files and directories (skeleton ebuilds or ChangeLogs, for
example) may exist but are not covered by this specification. The package manager
@@ -1537,20 +1597,20 @@ href="#x1-420004.7">4.7<!--tex4ht:ref: sec:metadata-dir --></a>.
<!--l. 24--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">4.2 </span> <a
- id="x1-330004.2"></a>Category Directories</h3>
+ id="x1-350004.2"></a>Category Directories</h3>
<!--l. 27--><p class="noindent" >Each category provided by the repository (see also: the <span
class="ectt-1000">profiles/categories </span>file, section&#x00A0;<a
-href="#x1-350004.4">4.4<!--tex4ht:ref: profiles-categories --></a>)
+href="#x1-370004.4">4.4<!--tex4ht:ref: profiles-categories --></a>)
shall be contained in one directory, whose name shall be that of the category. Each category
directory shall contain:
</p><ul>
<li class="compactitem">A <span
class="ectt-1000">metadata.xml </span>file, as described in appendix&#x00A0;<a
-href="#x1-166000A">A<!--tex4ht:ref: sec:metadata-xml --></a>. Optional.
+href="#x1-168000A">A<!--tex4ht:ref: sec:metadata-xml --></a>. Optional.
</li>
<li class="compactitem">Zero or more package directories, one for each package in the category, as described
in section&#x00A0;<a
-href="#x1-340004.3">4.3<!--tex4ht:ref: sec:package-dirs --></a>. The name of the package directory shall be the corresponding package
+href="#x1-360004.3">4.3<!--tex4ht:ref: sec:package-dirs --></a>. The name of the package directory shall be the corresponding package
name.</li></ul>
<!--l. 38--><p class="noindent" >Category directories may contain additional files, whose purpose is not covered by this
specification. Additional directories that are not for a package may <span
@@ -1568,68 +1628,59 @@ exist).
</p><!--l. 47--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">4.3 </span> <a
- id="x1-340004.3"></a>Package Directories</h3>
+ id="x1-360004.3"></a>Package Directories</h3>
<!--l. 50--><p class="noindent" >A package directory contains the following:
</p><ul>
<li class="compactitem">Zero or more ebuilds. These are as described in section&#x00A0;<a
-href="#x1-620006">6<!--tex4ht:ref: sec:ebuild-format --></a> and others.
+href="#x1-640006">6<!--tex4ht:ref: sec:ebuild-format --></a> and others.
</li>
<li class="compactitem">A <span
class="ectt-1000">metadata.xml </span>file, as described in appendix&#x00A0;<a
-href="#x1-166000A">A<!--tex4ht:ref: sec:metadata-xml --></a>. Optional only for legacy support.
+href="#x1-168000A">A<!--tex4ht:ref: sec:metadata-xml --></a>. Optional only for legacy support.
</li>
<li class="compactitem">A <span
class="ectt-1000">ChangeLog</span>, in a format determined by the provider of the repository. Optional.
</li>
<li class="compactitem">A <span
class="ectt-1000">Manifest </span>file, whose format is described in&#x00A0;<span class="cite">[<a
-href="#XGlep44">1</a>]</span>.
+href="#XGlep44">2</a>]</span>. Can be omitted if the file would be
+ empty.
</li>
<li class="compactitem">A <span
class="ectt-1000">files </span>directory, containing any support files needed by the ebuilds. Optional.</li></ul>
-<!--l. 60--><p class="noindent" >Any ebuild in a package directory must be named <span
-class="ectt-1000">name-ver.suffix</span>, where:
-</p><!--l. 63--><p class="noindent" >
- </p><ul>
- <li class="compactitem"><span
-class="ectt-1000">name </span>is the (unqualified) package name.
- </li>
- <li class="compactitem"><span
-class="ectt-1000">ver </span>is the package&#8217;s version.
- </li>
- <li class="compactitem"> <span
-class="ectt-1000">suffix </span>is <span
-class="ectt-1000">ebuild</span>.</li></ul>
-<!--l. 68--><p class="noindent" >Package managers must ignore any ebuild file that does not match these rules.
-</p><!--l. 70--><p class="noindent" >A package directory that contains no correctly named ebuilds shall be considered a package with
+<!--l. 61--><p class="noindent" >Any ebuild in a package directory must be named <span
+class="ectt-1000">name-ver.ebuild</span>, where <span
+class="ectt-1000">name </span>is the
+(unqualified) package name, and <span
+class="ectt-1000">ver </span>is the package&#8217;s version. Package managers must ignore any
+ebuild file that does not match these rules.
+</p><!--l. 65--><p class="noindent" >A package directory that contains no correctly named ebuilds shall be considered a package with
no versions. A package with no versions shall be considered equivalent to a package that does not
exist (and by extension, a package manager may treat a package that does not exist as a package
with no versions).
-</p><!--l. 75--><p class="noindent" >A package directory may contain other files or directories, whose purpose is not covered by this
+</p><!--l. 70--><p class="noindent" >A package directory may contain other files or directories, whose purpose is not covered by this
specification.
-</p><!--l. 78--><p class="noindent" >
+</p><!--l. 73--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">4.4 </span> <a
- id="x1-350004.4"></a>The Profiles Directory</h3>
-<!--l. 81--><p class="noindent" >The profiles directory shall contain zero or more profile directories as described in section&#x00A0;<a
-href="#x1-440005">5<!--tex4ht:ref: sec:profiles --></a>, as
+ id="x1-370004.4"></a>The Profiles Directory</h3>
+<!--l. 76--><p class="noindent" >The profiles directory shall contain zero or more profile directories as described in section&#x00A0;<a
+href="#x1-460005">5<!--tex4ht:ref: sec:profiles --></a>, as
well as the following files and directories. In any line-based file, lines beginning with a # character
are treated as comments, whilst blank lines are ignored. All contents of this directory, with the
exception of <span
class="ectt-1000">repo_name</span>, are optional.
-</p><!--l. 88--><p class="noindent" >The profiles directory may contain an <span
+</p><!--l. 83--><p class="noindent" >The profiles directory may contain an <span
class="ectt-1000">eapi </span>file. This file, if it exists, must contain a single line
with the name of an EAPI. This specifies the EAPI to use when handling the profiles
directory; a package manager must not attempt to use any repository whose profiles
directory requires an EAPI it does not support. If no <span
class="ectt-1000">eapi </span>file is present, EAPI 0 shall be
used.
-</p><!--l. 93--><p class="noindent" >If the repository is not intended to be stand-alone, the contents of these files are to be taken from
+</p><!--l. 88--><p class="noindent" >If the repository is not intended to be stand-alone, the contents of these files are to be taken from
or merged with the master repository as necessary.
-</p><!--l. 96--><p class="noindent" >Other files not described by this specification may exist, but may not be relied upon. The package
+</p><!--l. 91--><p class="noindent" >Other files not described by this specification may exist, but may not be relied upon. The package
manager must ignore any files in this directory that it does not recognise.
-
-
</p><dl class="description"><dt class="description">
<span
class="ecbx-1000">arch.list</span> </dt><dd
@@ -1640,6 +1691,8 @@ class="ectt-1000">ARCH </span>variable,
<span
class="ecbx-1000">categories</span> </dt><dd
class="description"> Contains a list, one entry per line, of categories provided by this repository.
+
+
</dd><dt class="description">
<span
class="ecbx-1000">eapi</span> </dt><dd
@@ -1667,30 +1720,30 @@ class="description"> Contains a list, one entry per line, of package dependency
<span
class="ecbx-1000">profiles.desc</span> </dt><dd
class="description">Described below in section&#x00A0;<a
-href="#x1-360004.4.1">4.4.1<!--tex4ht:ref: sec:profiles.desc --></a>.
+href="#x1-380004.4.1">4.4.1<!--tex4ht:ref: sec:profiles.desc --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">repo_name</span> </dt><dd
class="description">Contains, on a single line, the name of this repository. The repository name
must conform to section&#x00A0;<a
-href="#x1-250003.1.5">3.1.5<!--tex4ht:ref: sec:repository-names --></a>.
+href="#x1-260003.1.5">3.1.5<!--tex4ht:ref: sec:repository-names --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">thirdpartymirrors</span> </dt><dd
class="description">Described below in section&#x00A0;<a
-href="#x1-370004.4.2">4.4.2<!--tex4ht:ref: sec:thirdpartymirrors --></a>.
+href="#x1-390004.4.2">4.4.2<!--tex4ht:ref: sec:thirdpartymirrors --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">use.desc</span> </dt><dd
class="description">Contains descriptions of valid global USE flags for this repository. The format is
described in section&#x00A0;<a
-href="#x1-380004.4.3">4.4.3<!--tex4ht:ref: sec:use.desc --></a>.
+href="#x1-400004.4.3">4.4.3<!--tex4ht:ref: sec:use.desc --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">use.local.desc</span> </dt><dd
class="description">Contains descriptions of valid local USE flags for this repository, along with
the packages to which they apply. The format is as described in section&#x00A0;<a
-href="#x1-380004.4.3">4.4.3<!--tex4ht:ref: sec:use.desc --></a>.
+href="#x1-400004.4.3">4.4.3<!--tex4ht:ref: sec:use.desc --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">desc/</span> </dt><dd
@@ -1703,7 +1756,7 @@ class="ectt-1000">&#x003C;varname&#x003E; </span>is the variable
name, in lowercase, whose possible values the file describes. The format of each file is
as for <span
class="ectt-1000">use.desc</span>, described in section&#x00A0;<a
-href="#x1-380004.4.3">4.4.3<!--tex4ht:ref: sec:use.desc --></a>. The <span
+href="#x1-400004.4.3">4.4.3<!--tex4ht:ref: sec:use.desc --></a>. The <span
class="ectt-1000">USE_EXPAND </span>name is <span
class="ecti-1000">not </span>included as
a prefix here.
@@ -1711,14 +1764,14 @@ class="ecti-1000">not </span>included as
<span
class="ecbx-1000">updates/</span> </dt><dd
class="description">This directory is described in section&#x00A0;<a
-href="#x1-390004.4.4">4.4.4<!--tex4ht:ref: sec:updates-dir --></a>.</dd></dl>
-<!--l. 131--><p class="noindent" >
+href="#x1-410004.4.4">4.4.4<!--tex4ht:ref: sec:updates-dir --></a>.</dd></dl>
+<!--l. 126--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">4.4.1 </span> <a
- id="x1-360004.4.1"></a>The profiles.desc file</h4>
-<!--l. 133--><p class="noindent" ><span
+ id="x1-380004.4.1"></a>The profiles.desc file</h4>
+<!--l. 128--><p class="noindent" ><span
class="ectt-1000">profiles.desc </span>is a line-based file, with the standard commenting rules from section&#x00A0;<a
-href="#x1-350004.4">4.4<!--tex4ht:ref: sec:profiles-dir --></a>,
+href="#x1-370004.4">4.4<!--tex4ht:ref: sec:profiles-dir --></a>,
containing a list of profiles that are valid for use, along with their associated architecture and
status. Each line has the format:
@@ -1726,9 +1779,9 @@ status. Each line has the format:
</p>
<div class="verbatim" id="verbatim-1">
&#x003C;keyword&#x003E;&#x00A0;&#x003C;profile&#x00A0;path&#x003E;&#x00A0;&#x003C;stability&#x003E;</div>
-<!--l. 140--><p class="nopar" >
-</p><!--l. 142--><p class="noindent" >Where:
-</p><!--l. 145--><p class="noindent" >
+<!--l. 135--><p class="nopar" >
+</p><!--l. 137--><p class="noindent" >Where:
+</p><!--l. 140--><p class="noindent" >
</p><ul>
<li class="compactitem"><span
class="ectt-1000">&#x003C;keyword&#x003E; </span>is the default keyword for the profile and the <span
@@ -1746,12 +1799,12 @@ class="ectt-1000">&#x003C;stability&#x003E; </span>indicates the stability of th
values <span
class="ectt-1000">stable </span>and <span
class="ectt-1000">dev </span>are widely used, but repositories may use other values.</li></ul>
-<!--l. 154--><p class="noindent" >Fields are whitespace-delimited.
-</p><!--l. 156--><p class="noindent" >
+<!--l. 149--><p class="noindent" >Fields are whitespace-delimited.
+</p><!--l. 151--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">4.4.2 </span> <a
- id="x1-370004.4.2"></a>The thirdpartymirrors file</h4>
-<!--l. 158--><p class="noindent" ><span
+ id="x1-390004.4.2"></a>The thirdpartymirrors file</h4>
+<!--l. 153--><p class="noindent" ><span
class="ectt-1000">thirdpartymirrors </span>is another simple line-based file, describing the valid mirrors for use with
<span
class="ectt-1000">mirror:// </span>URIs in this repository, and the associated download locations. The format of each line
@@ -1761,7 +1814,7 @@ is:
</p>
<div class="verbatim" id="verbatim-2">
&#x003C;mirror&#x00A0;name&#x003E;&#x00A0;&#x003C;mirror&#x00A0;1&#x003E;&#x00A0;&#x003C;mirror&#x00A0;2&#x003E;&#x00A0;...&#x00A0;&#x003C;mirror&#x00A0;n&#x003E;</div>
-<!--l. 163--><p class="nopar" >Fields are whitespace-delimited. When parsing a URI of the form <span
+<!--l. 158--><p class="nopar" >Fields are whitespace-delimited. When parsing a URI of the form <span
class="ectt-1000">mirror://name/path/filename</span>,
where the <span
class="ectt-1000">path/ </span>part is optional, the <span
@@ -1770,17 +1823,17 @@ is <span
class="ectt-1000">name</span>. Then the download URIs in the subsequent fields have <span
class="ectt-1000">path/filename </span>appended to them
to generate the URIs from which a download is attempted.
-</p><!--l. 170--><p class="noindent" >Each mirror name may appear at most once in a file. Behaviour when a mirror name appears
+</p><!--l. 165--><p class="noindent" >Each mirror name may appear at most once in a file. Behaviour when a mirror name appears
multiple times is undefined. Behaviour when a mirror is defined in terms of another mirror is
undefined. A package manager may choose to fetch from all of or a subset of the listed mirrors, and
may use an order other than the one described.
-</p><!--l. 175--><p class="noindent" >The mirror with the name equal to the repository&#8217;s name (and if the repository has a master, the
+</p><!--l. 170--><p class="noindent" >The mirror with the name equal to the repository&#8217;s name (and if the repository has a master, the
master&#8217;s name) may be consulted for all downloads.
-</p><!--l. 178--><p class="noindent" >
+</p><!--l. 173--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">4.4.3 </span> <a
- id="x1-380004.4.3"></a>use.desc and related files</h4>
-<!--l. 180--><p class="noindent" ><span
+ id="x1-400004.4.3"></a>use.desc and related files</h4>
+<!--l. 175--><p class="noindent" ><span
class="ectt-1000">use.desc </span>contains descriptions of every valid global USE flag for this repository. It is a
line-based file with the standard rules for comments and blank lines. The format of each line
is:
@@ -1789,8 +1842,8 @@ is:
</p>
<div class="verbatim" id="verbatim-3">
&#x003C;flagname&#x003E;&#x00A0;-&#x00A0;&#x003C;description&#x003E;</div>
-<!--l. 184--><p class="nopar" >
-</p><!--l. 186--><p class="noindent" ><span
+<!--l. 179--><p class="nopar" >
+</p><!--l. 181--><p class="noindent" ><span
class="ectt-1000">use.local.desc </span>contains descriptions of every valid local USE flag&#8212;those that apply only to a
small number of packages, or that have different meanings for different packages. Its format
is:
@@ -1799,17 +1852,17 @@ is:
</p>
<div class="verbatim" id="verbatim-4">
&#x003C;category/package&#x003E;:&#x003C;flagname&#x003E;&#x00A0;-&#x00A0;&#x003C;description&#x003E;</div>
-<!--l. 190--><p class="nopar" >Flags must be listed once for each package to which they apply, or if a flag is listed in both
+<!--l. 185--><p class="nopar" >Flags must be listed once for each package to which they apply, or if a flag is listed in both
<span
class="ectt-1000">use.desc </span>and <span
class="ectt-1000">use.local.desc</span>, it must be listed once for each package for which its meaning
differs from that described in <span
class="ectt-1000">use.desc</span>.
-</p><!--l. 195--><p class="noindent" >
+</p><!--l. 190--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">4.4.4 </span> <a
- id="x1-390004.4.4"></a>The updates directory</h4>
-<!--l. 197--><p class="noindent" >The <span
+ id="x1-410004.4.4"></a>The updates directory</h4>
+<!--l. 192--><p class="noindent" >The <span
class="ectt-1000">updates </span>directory is used to inform the package manager that a package has moved
categories, names, or that a version has changed SLOT. It contains one file per quarter year,
named <span
@@ -1824,7 +1877,7 @@ formats:
<div class="verbatim" id="verbatim-5">
move&#x00A0;&#x003C;qpn1&#x003E;&#x00A0;&#x003C;qpn2&#x003E;
&#x00A0;<br />slotmove&#x00A0;&#x003C;spec&#x003E;&#x00A0;&#x003C;slot1&#x003E;&#x00A0;&#x003C;slot2&#x003E;</div>
-<!--l. 205--><p class="nopar" >The first form, where <span
+<!--l. 200--><p class="nopar" >The first form, where <span
class="ectt-1000">qpn1 </span>and <span
class="ectt-1000">qpn2 </span>are <span
class="ecti-1000">qualified package names</span>, instructs the package
@@ -1832,41 +1885,41 @@ manager that the package <span
class="ectt-1000">qpn1 </span>has changed name, category, or both, and is now called
<span
class="ectt-1000">qpn2</span>.
-</p><!--l. 209--><p class="noindent" >The second form instructs the package manager that any currently installed package version
+</p><!--l. 204--><p class="noindent" >The second form instructs the package manager that any currently installed package version
matching package dependency specification <span
class="ectt-1000">spec </span>whose <span
class="ectt-1000">SLOT </span>is set to <span
class="ectt-1000">slot1 </span>should have it
updated to <span
class="ectt-1000">slot2</span>.
-</p><!--l. 213--><p class="noindent" >Any name that has appeared as the origin of a move must not be reused in the future. Any slot
+</p><!--l. 208--><p class="noindent" >Any name that has appeared as the origin of a move must not be reused in the future. Any slot
that has appeared as the origin of a slot move may not be used by packages matching the spec of
that slot move in the future.
-</p><!--l. 217--><p class="noindent" >
+</p><!--l. 212--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">4.5 </span> <a
- id="x1-400004.5"></a>The Licenses Directory</h3>
-<!--l. 220--><p class="noindent" >The <span
+ id="x1-420004.5"></a>The Licenses Directory</h3>
+<!--l. 215--><p class="noindent" >The <span
class="ectt-1000">licenses </span>directory shall contain copies of the licenses used by packages in the repository.
Each file will be named according to the name used in the <span
class="ectt-1000">LICENSE </span>variable as described in
section&#x00A0;<a
-href="#x1-670007.3">7.3<!--tex4ht:ref: ebuild-var-LICENSE --></a>, and will contain the complete text of the license in human-readable form. Plain text
+href="#x1-690007.3">7.3<!--tex4ht:ref: ebuild-var-LICENSE --></a>, and will contain the complete text of the license in human-readable form. Plain text
format is strongly preferred but not required.
-</p><!--l. 225--><p class="noindent" >
+</p><!--l. 220--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">4.6 </span> <a
- id="x1-410004.6"></a>The Eclass Directory</h3>
-<!--l. 228--><p class="noindent" >The <span
+ id="x1-430004.6"></a>The Eclass Directory</h3>
+<!--l. 223--><p class="noindent" >The <span
class="ectt-1000">eclass </span>directory shall contain copies of the eclasses provided by this repository. The format of
these files is described in section&#x00A0;<a
-href="#x1-11300010">10<!--tex4ht:ref: sec:eclasses --></a>. It may also contain, in their own directory, support files
+href="#x1-11500010">10<!--tex4ht:ref: sec:eclasses --></a>. It may also contain, in their own directory, support files
needed by these eclasses.
-</p><!--l. 232--><p class="noindent" >
+</p><!--l. 227--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">4.7 </span> <a
- id="x1-420004.7"></a>The Metadata Directory</h3>
-<!--l. 235--><p class="noindent" >The <span
+ id="x1-440004.7"></a>The Metadata Directory</h3>
+<!--l. 230--><p class="noindent" >The <span
class="ectt-1000">metadata </span>directory contains various repository-level metadata that is not contained in
<span
class="ectt-1000">profiles/</span>. All contents are optional. In this standard only the <span
@@ -1875,14 +1928,14 @@ other contents are optional but may include security advisories, DTD files for t
files used in the repository, and repository timestamps.
-</p><!--l. 240--><p class="noindent" >
+</p><!--l. 235--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">4.7.1 </span> <a
- id="x1-430004.7.1"></a>The metadata cache</h4>
-<!--l. 242--><p class="noindent" >The <span
+ id="x1-450004.7.1"></a>The metadata cache</h4>
+<!--l. 237--><p class="noindent" >The <span
class="ectt-1000">metadata/cache </span>directory may contain a cached form of all important ebuild metadata
variables. The contents of this directory are described in section&#x00A0;<a
-href="#x1-16100013">13<!--tex4ht:ref: metadata-cache --></a>.
+href="#x1-16300013">13<!--tex4ht:ref: metadata-cache --></a>.
@@ -1891,9 +1944,9 @@ href="#x1-16100013">13<!--tex4ht:ref: metadata-cache --></a>.
</p>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;5</span><br /><a
- id="x1-440005"></a>Profiles</h2>
+ id="x1-460005"></a>Profiles</h2>
<h3 class="sectionHead"><span class="titlemark">5.1 </span> <a
- id="x1-450005.1"></a>General principles</h3>
+ id="x1-470005.1"></a>General Principles</h3>
<!--l. 5--><p class="noindent" >Generally, a profile defines information specific to a certain &#8216;type&#8217; of system&#8212;it lies somewhere
between repository-level defaults and user configuration in that the information it contains is not
necessarily applicable to all machines, but is sufficiently general that it should not be left to the
@@ -1907,11 +1960,11 @@ profiles.
</p><!--l. 16--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">5.2 </span> <a
- id="x1-460005.2"></a>Files that make up a profile</h3>
+ id="x1-480005.2"></a>Files That Make up a Profile</h3>
<!--l. 18--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.2.1 </span> <a
- id="x1-470005.2.1"></a>The parent file</h4>
+ id="x1-490005.2.1"></a>The parent file</h4>
<!--l. 19--><p class="noindent" >A profile may contain a <span
class="ectt-1000">parent </span>file. Each line must contain a relative path to another profile which
will be considered as one of this profile&#8217;s parents. Any settings from the parent are inherited by
@@ -1925,7 +1978,7 @@ encountering a cycle is undefined.
</p><!--l. 30--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.2.2 </span> <a
- id="x1-480005.2.2"></a>The eapi file</h4>
+ id="x1-500005.2.2"></a>The eapi file</h4>
<!--l. 32--><p class="noindent" >A profile directory may contain an <span
class="ectt-1000">eapi </span>file. This file, if it exists, must contain a single line with
the name of an EAPI. This specifies the EAPI to use when handling the directory in question; a
@@ -1939,7 +1992,7 @@ class="ectt-1000">parent </span>file nor in subdirectories.
</p><!--l. 38--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.2.3 </span> <a
- id="x1-490005.2.3"></a>deprecated</h4>
+ id="x1-510005.2.3"></a>deprecated</h4>
<!--l. 39--><p class="noindent" >If a profile contains a file named <span
class="ectt-1000">deprecated</span>, it is treated as such. The first line of this file
should contain the path from the <span
@@ -1953,12 +2006,12 @@ deprecated.
</p><!--l. 47--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.2.4 </span> <a
- id="x1-500005.2.4"></a>make.defaults</h4>
+ id="x1-520005.2.4"></a>make.defaults</h4>
<!--l. 48--><p class="noindent" ><span
class="ectt-1000">make.defaults </span>is used to define defaults for various environment and configuration variables. This
file is unusual in that it is not combined at a file level with the parent&#8212;instead, each variable is
combined or overridden individually as described in section&#x00A0;<a
-href="#x1-590005.3">5.3<!--tex4ht:ref: sec:profile-variables --></a>.
+href="#x1-610005.3">5.3<!--tex4ht:ref: sec:profile-variables --></a>.
</p><!--l. 52--><p class="noindent" >The file itself is a line-based key-value format. Each line contains a single <span class="obeylines-h"><span class="verb"><span
class="ectt-1000">VAR="value"</span></span></span> entry,
where the value must be double quoted. A variable name must start with one of <span
@@ -1982,71 +2035,71 @@ class="ectt-1000">make.defaults </span>files.
<!--l. 66--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.2.5 </span> <a
- id="x1-510005.2.5"></a>Simple line-based files</h4>
-<!--l. 68--><p class="noindent" >These files are a simple one-item-per-line list, which is inherited in the following manner: the
+ id="x1-530005.2.5"></a>Simple line-based files</h4>
+<!--l. 67--><p class="noindent" >These files are a simple one-item-per-line list, which is inherited in the following manner: the
parent profile&#8217;s list is taken, and the current profile&#8217;s list appended. If any line begins with a
hyphen, then any lines previous to it whose contents are equal to the remainder of that line
are removed from the list. Once again, blank lines and those beginning with a # are
discarded.
-</p><!--l. 73--><p class="noindent" >
+</p><!--l. 72--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.2.6 </span> <a
- id="x1-520005.2.6"></a>packages</h4>
+ id="x1-540005.2.6"></a>packages</h4>
-<!--l. 74--><p class="noindent" >The <span
+<!--l. 73--><p class="noindent" >The <span
class="ectt-1000">packages </span>file is used to define the &#8216;system set&#8217; for this profile. After the above rules for
inheritance and comments are applied, its lines must take one of two forms: a package dependency
specification prefixed by <span
class="ectt-1000">* </span>denotes that it forms part of the system set. A package dependency
specification on its own may also appear for legacy reasons, but should be ignored when calculating
the system set.
-</p><!--l. 80--><p class="noindent" >
+</p><!--l. 79--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.2.7 </span> <a
- id="x1-530005.2.7"></a>packages.build</h4>
-<!--l. 81--><p class="noindent" >The <span
+ id="x1-550005.2.7"></a>packages.build</h4>
+<!--l. 80--><p class="noindent" >The <span
class="ectt-1000">packages.build </span>file is used by Gentoo&#8217;s Catalyst tool to generate stage1 tarballs, and has no
relevance to the operation of a package manager. It is thus outside the scope of this document, but
is mentioned here for completeness.
-</p><!--l. 85--><p class="noindent" >
+</p><!--l. 84--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.2.8 </span> <a
- id="x1-540005.2.8"></a>package.mask</h4>
-<!--l. 86--><p class="noindent" ><span
+ id="x1-560005.2.8"></a>package.mask</h4>
+<!--l. 85--><p class="noindent" ><span
class="ectt-1000">package.mask </span>is used to prevent packages from being installed on a given profile. Each line
contains one package dependency specification; anything matching this specification will not be
installed unless unmasked by the user&#8217;s configuration.
-</p><!--l. 90--><p class="noindent" >Note that the <span
+</p><!--l. 89--><p class="noindent" >Note that the <span
class="ectt-1000">-spec </span>syntax can be used to remove a mask in a parent profile, but not necessarily a
global mask (from <span
class="ectt-1000">profiles/package.mask</span>, section&#x00A0;<a
-href="#x1-350004.4">4.4<!--tex4ht:ref: profiles-package.mask --></a>).
+href="#x1-370004.4">4.4<!--tex4ht:ref: profiles-package.mask --></a>).
</p>
-<!--l. 93--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-550005.2.8"></a><span
+<!--l. 92--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-570005.2.8"></a><span
class="ecbx-1000">Note:</span></span>
Portage currently treats <span
class="ectt-1000">profiles/package.mask </span>as being on the leftmost branch of the inherit
tree when it comes to <span
class="ectt-1000">-lines</span>. This behaviour may not be relied upon.
-</p><!--l. 96--><p class="noindent" >
+</p><!--l. 95--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.2.9 </span> <a
- id="x1-560005.2.9"></a>package.provided</h4>
-<!--l. 97--><p class="noindent" ><span
+ id="x1-580005.2.9"></a>package.provided</h4>
+<!--l. 96--><p class="noindent" ><span
class="ectt-1000">package.provided </span>is used to tell the package manager that a certain package version should be
considered to be provided by the system regardless of whether it is actually installed.
Because it has severe adverse effects on USE-based and slot-based dependencies, its
use is strongly deprecated and package manager support must be regarded as purely
optional.
-</p><!--l. 102--><p class="noindent" >
+</p><!--l. 101--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.2.10 </span> <a
- id="x1-570005.2.10"></a>package.use</h4>
+ id="x1-590005.2.10"></a>package.use</h4>
-<!--l. 103--><p class="noindent" >The <span
+<!--l. 102--><p class="noindent" >The <span
class="ectt-1000">package.use </span>file may be used by the package manager to override the default USE flags
specified by <span
class="ectt-1000">make.defaults </span>on a per package basis. The format is to have a package
@@ -2055,11 +2108,11 @@ in the form of <span
class="ectt-1000">-flag </span>indicates that the package should have the USE flag disabled.
The package dependency specification is limited to the forms defined by the directory&#8217;s
EAPI.
-</p><!--l. 109--><p class="noindent" >
+</p><!--l. 108--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.2.11 </span> <a
- id="x1-580005.2.11"></a>USE masking and forcing</h4>
-<!--l. 111--><p class="noindent" >This section covers the eight files <span
+ id="x1-600005.2.11"></a>USE masking and forcing</h4>
+<!--l. 109--><p class="noindent" >This section covers the eight files <span
class="ectt-1000">use.mask</span>, <span
class="ectt-1000">use.force</span>, <span
class="ectt-1000">use.stable.mask</span>, <span
@@ -2071,17 +2124,17 @@ class="ectt-1000">package.use.stable.mask</span>, and <span
class="ectt-1000">package.use.</span>
<span
class="ectt-1000">stable.force</span>. They are described together because they interact in a non-trivial manner.
-</p><!--l. 116--><p class="noindent" >Simply speaking, <span
+</p><!--l. 114--><p class="noindent" >Simply speaking, <span
class="ectt-1000">use.mask </span>and <span
class="ectt-1000">use.force </span>are used to say that a given USE flag must
never or always, respectively, be enabled when using this profile. <span
class="ectt-1000">package.use.mask </span>and
<span
class="ectt-1000">package.use.force </span>do the same thing on a per-package, or per-version, basis.
-</p><!--l. 120--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">STABLEMASK</span></span></span> In profile directories with an EAPI supporting stable masking, as listed in table&#x00A0;<a
-href="#x1-58001r1">5.1<!--tex4ht:ref: tab:profile-stablemask --></a>,
+</p><!--l. 118--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">stablemask</span></span></span> In profile directories with an EAPI supporting stable masking, as listed in table&#x00A0;<a
+href="#x1-60001r1">5.1<!--tex4ht:ref: tab:profile-stablemask --></a>,
the same is true for <span
class="ectt-1000">use.stable.mask</span>, <span
class="ectt-1000">use.stable.force</span>, <span
@@ -2089,20 +2142,20 @@ class="ectt-1000">package.use.stable.mask </span>and
<span
class="ectt-1000">package.use.stable.force</span>. These files, however, only act on packages that are merged due to a
stable keyword in the sense of subsection&#x00A0;<a
-href="#x1-690007.3.2">7.3.2<!--tex4ht:ref: sec:keywords --></a>. Thus, these files can be used to restrict the feature
+href="#x1-710007.3.2">7.3.2<!--tex4ht:ref: sec:keywords --></a>. Thus, these files can be used to restrict the feature
set deemed stable in a package.
</p>
<div class="table">
-<!--l. 129--><p class="noindent" ><a
- id="x1-58001r1"></a></p><hr class="float" /><div class="float"
+<!--l. 127--><p class="noindent" ><a
+ id="x1-60001r1"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;5.1: </span><span
-class="content">Profile directory support for masking/forcing use flags in stable versions only</span></div><!--tex4ht:label?: x1-58001r1 -->
+class="content">Profile directory support for masking/forcing use flags in stable versions only</span></div><!--tex4ht:label?: x1-60001r1 -->
<div class="tabular">
<table id="TBL-2" class="tabular"
cellspacing="0" cellpadding="0"
@@ -2130,201 +2183,180 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
-<!--l. 142--><p class="noindent" >The precise manner in which the eight files interact is less simple, and is best described in terms of
+<!--l. 140--><p class="noindent" >The precise manner in which the eight files interact is less simple, and is best described in terms of
the algorithm used to determine whether a flag is masked for a given package version. This is
described in Algorithm&#x00A0;<a
-href="#x1-58002r1">5.1<!--tex4ht:ref: alg:use-masking --></a>. </p><div class="algorithm">
+href="#x1-60002r1">5.1<!--tex4ht:ref: alg:use-masking --></a>. </p><div class="algorithm">
-<!--l. 146--><p class="noindent" ><a
- id="x1-58002r1"></a></p><hr class="float" /><div class="float"
+<!--l. 144--><p class="noindent" ><a
+ id="x1-60002r1"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Algorithm 5.1: </span><span
-class="content">USE masking logic</span></div><!--tex4ht:label?: x1-58002r1 -->
+class="content"><span
+class="ectt-1000">USE </span>masking logic</span></div><!--tex4ht:label?: x1-60002r1 -->
<div class="algorithmic">
<a
- id="x1-58003r84"></a>
- <span class="ALCitem"><span class="ecrm-0800">&#x2007;1:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> let masked = false <a
- id="x1-58004r85"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;2:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-60003r84"></a>
+ <span class="ALCitem">1:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> let masked = false <a
+ id="x1-60004r85"></a>
+ <br /><span class="ALCitem">2:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">for</span>&#x00A0;each profile in the inheritance tree, depth first&#x00A0;<span
class="ecbx-1000">do</span><span class="for-body">
<a
- id="x1-58005r86"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;3:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-60005r86"></a>
+ <br /><span class="ALCitem">3:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="ectt-1000">use.mask </span>contains <span
class="ecti-1000">flag</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-58006r87"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;4:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> let masked = true
+ id="x1-60006r87"></a>
+ <br /><span class="ALCitem">4:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> let masked = true
</span><a
- id="x1-58007r88"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;5:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-60007r88"></a>
+ <br /><span class="ALCitem">5:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;<span
class="ectt-1000">use.mask </span>contains <span
class="ecti-1000">-flag</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-58008r89"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;6:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> let masked = false
+ id="x1-60008r89"></a>
+ <br /><span class="ALCitem">6:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> let masked = false
</span><a
- id="x1-58009r90"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;7:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-60009r90"></a>
+ <br /><span class="ALCitem">7:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-58010r91"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;8:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-60010r91"></a>
+ <br /><span class="ALCitem">8:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;stable keyword in use&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-58011r92"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;9:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-60011r92"></a>
+ <br /><span class="ALCitem">9:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="ectt-1000">use.stable.mask </span>contains <span
class="ecti-1000">flag</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-58012r93"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">10:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:34.99146pt;">&nbsp;</span> let masked = true
+ id="x1-60012r93"></a>
+<br /><span class="ALCitem">10:</span><span class="ALIndent" style="width:34.99146pt;">&nbsp;</span> let masked = true
</span><a
- id="x1-58013r94"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">11:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-60013r94"></a>
+<br /><span class="ALCitem">11:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;<span
class="ectt-1000">use.stable.mask </span>contains <span
class="ecti-1000">-flag</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-58014r95"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">12:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:34.99146pt;">&nbsp;</span> let masked = false
+ id="x1-60014r95"></a>
+<br /><span class="ALCitem">12:</span><span class="ALIndent" style="width:34.99146pt;">&nbsp;</span> let masked = false
</span><a
- id="x1-58015r96"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">13:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-60015r96"></a>
+<br /><span class="ALCitem">13:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-58016r97"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">14:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-60016r97"></a>
+<br /><span class="ALCitem">14:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-58017r98"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">15:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-60017r98"></a>
+<br /><span class="ALCitem">15:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">for</span>&#x00A0;each <span
class="cmmi-10">line </span>in package.use.mask, in order, for which the spec matches <span
class="cmmi-10">package</span>&#x00A0;<span
class="ecbx-1000">do</span><span class="for-body">
<a
- id="x1-58018r99"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">16:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-60018r99"></a>
+<br /><span class="ALCitem">16:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">line </span>contains <span
class="ecti-1000">flag</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-58019r100"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">17:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:34.99146pt;">&nbsp;</span> let masked = true
+ id="x1-60019r100"></a>
+<br /><span class="ALCitem">17:</span><span class="ALIndent" style="width:34.99146pt;">&nbsp;</span> let masked = true
</span><a
- id="x1-58020r101"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">18:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-60020r101"></a>
+<br /><span class="ALCitem">18:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">line </span>contains <span
class="ecti-1000">-flag</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-58021r102"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">19:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:34.99146pt;">&nbsp;</span> let masked = false
+ id="x1-60021r102"></a>
+<br /><span class="ALCitem">19:</span><span class="ALIndent" style="width:34.99146pt;">&nbsp;</span> let masked = false
</span><a
- id="x1-58022r103"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">20:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-60022r103"></a>
+<br /><span class="ALCitem">20:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-58023r104"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">21:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-60023r104"></a>
+<br /><span class="ALCitem">21:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">for</span><a
- id="x1-58024r105"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">22:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-60024r105"></a>
+<br /><span class="ALCitem">22:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;stable keyword in use&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-58025r106"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">23:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-60025r106"></a>
+<br /><span class="ALCitem">23:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">for</span>&#x00A0;each <span
class="cmmi-10">line </span>in package.use.stable.mask, in order, for which the spec matches
<span
class="cmmi-10">package</span>&#x00A0;<span
class="ecbx-1000">do</span><span class="for-body">
<a
- id="x1-58026r107"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">24:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:34.99146pt;">&nbsp;</span> <span
+ id="x1-60026r107"></a>
+<br /><span class="ALCitem">24:</span><span class="ALIndent" style="width:34.99146pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">line </span>contains <span
class="ecti-1000">flag</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-58027r108"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">25:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:44.98901pt;">&nbsp;</span> let masked = true
+ id="x1-60027r108"></a>
+<br /><span class="ALCitem">25:</span><span class="ALIndent" style="width:44.98901pt;">&nbsp;</span> let masked = true
</span><a
- id="x1-58028r109"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">26:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:34.99146pt;">&nbsp;</span> <span
+ id="x1-60028r109"></a>
+<br /><span class="ALCitem">26:</span><span class="ALIndent" style="width:34.99146pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;<span
class="cmmi-10">line </span>contains <span
class="ecti-1000">-flag</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-58029r110"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">27:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:44.98901pt;">&nbsp;</span> let masked = false
+ id="x1-60029r110"></a>
+<br /><span class="ALCitem">27:</span><span class="ALIndent" style="width:44.98901pt;">&nbsp;</span> let masked = false
</span><a
- id="x1-58030r111"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">28:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:34.99146pt;">&nbsp;</span> <span
+ id="x1-60030r111"></a>
+<br /><span class="ALCitem">28:</span><span class="ALIndent" style="width:34.99146pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-58031r112"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">29:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-60031r112"></a>
+<br /><span class="ALCitem">29:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">for</span>
</span><a
- id="x1-58032r113"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">30:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-60032r113"></a>
+<br /><span class="ALCitem">30:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-58033r114"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">31:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-60033r114"></a>
+<br /><span class="ALCitem">31:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">for</span>
</div>
@@ -2332,15 +2364,15 @@ class="ecbx-1000">for</span>
</div><hr class="endfloat" />
</div>
-<!--l. 182--><p class="noindent" >Stable restrictions (&#8220;stable keyword in use&#8221; in Algorithm&#x00A0;<a
-href="#x1-58002r1">5.1<!--tex4ht:ref: alg:use-masking --></a>) are applied exactly if
+<!--l. 180--><p class="noindent" >Stable restrictions (&#8220;stable keyword in use&#8221; in Algorithm&#x00A0;<a
+href="#x1-60002r1">5.1<!--tex4ht:ref: alg:use-masking --></a>) are applied exactly if
replacing in <span
class="ectt-1000">KEYWORDS </span>all stable keywords by the corresponding tilde prefixed keywords (see
subsection&#x00A0;<a
-href="#x1-690007.3.2">7.3.2<!--tex4ht:ref: sec:keywords --></a>) would result in the package installation being prevented due to the <span
+href="#x1-710007.3.2">7.3.2<!--tex4ht:ref: sec:keywords --></a>) would result in the package installation being prevented due to the <span
class="ectt-1000">KEYWORDS</span>
setting.
-</p><!--l. 187--><p class="noindent" >The logic for <span
+</p><!--l. 185--><p class="noindent" >The logic for <span
class="ectt-1000">use.force</span>, <span
class="ectt-1000">use.stable.force</span>, <span
class="ectt-1000">package.use.force</span>, and <span
@@ -2348,22 +2380,22 @@ class="ectt-1000">package.use.</span>
<span
class="ectt-1000">stable.force </span>is identical. If a flag is both masked and forced, the mask is considered to take
precedence.
-</p><!--l. 191--><p class="noindent" ><span
+</p><!--l. 189--><p class="noindent" ><span
class="ectt-1000">USE_EXPAND </span>values may be forced or masked by using <span
class="ectt-1000">expand_name_value</span>.
-</p><!--l. 193--><p class="noindent" >A package manager may treat <span
+</p><!--l. 191--><p class="noindent" >A package manager may treat <span
class="ectt-1000">ARCH </span>values that are not the current architecture as being
masked.
</p>
<h3 class="sectionHead"><span class="titlemark">5.3 </span> <a
- id="x1-590005.3"></a>Profile variables</h3>
+ id="x1-610005.3"></a>Profile Variables</h3>
<!--l. 4--><p class="noindent" >This section documents variables that have special meaning, or special behaviour, when defined in
a profile&#8217;s <span
class="ectt-1000">make.defaults </span>file.
</p><!--l. 7--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.3.1 </span> <a
- id="x1-600005.3.1"></a>Incremental Variables</h4>
+ id="x1-620005.3.1"></a>Incremental variables</h4>
<!--l. 8--><p class="noindent" ><span
class="ecti-1000">Incremental </span>variables must stack between parent and child profiles in the following manner:
Beginning with the highest parent profile, tokenise the variable&#8217;s value based on whitespace and
@@ -2392,7 +2424,7 @@ class="ectt-1000">CONFIG_PROTECT</span>
<li class="compactitem"><span
class="ectt-1000">CONFIG_PROTECT_MASK</span></li></ul>
<!--l. 23--><p class="noindent" >If the package manager supports any EAPI listed in table&#x00A0;<a
-href="#x1-60001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as using profile-defined <span
+href="#x1-62001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as using profile-defined <span
class="ectt-1000">IUSE</span>
injection, the following variables must also be treated incrementally; otherwise, the following
variables may or may not be treated incrementally:
@@ -2416,14 +2448,14 @@ override those in parent profiles.
<!--l. 37--><p class="noindent" ><a
- id="x1-60001r2"></a></p><hr class="float" /><div class="float"
+ id="x1-62001r2"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;5.2: </span><span
class="content">Profile-defined <span
-class="ectt-1000">IUSE </span>injection for EAPIs</span></div><!--tex4ht:label?: x1-60001r2 -->
+class="ectt-1000">IUSE </span>injection for EAPIs</span></div><!--tex4ht:label?: x1-62001r2 -->
<div class="tabular">
<table id="TBL-3" class="tabular"
cellspacing="0" cellpadding="0"
@@ -2454,7 +2486,7 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">5.3.2 </span> <a
- id="x1-610005.3.2"></a>Specific variables and their meanings</h4>
+ id="x1-630005.3.2"></a>Specific variables and their meanings</h4>
<!--l. 51--><p class="noindent" >The following variables have specific meanings when set in profiles.
</p><dl class="description"><dt class="description">
<span
@@ -2462,7 +2494,7 @@ class="ecbx-1000">ARCH</span> </dt><dd
class="description">The system&#8217;s architecture. Must be a value listed in <span
class="ectt-1000">profiles/arch.list</span>; see
section&#x00A0;<a
-href="#x1-350004.4">4.4<!--tex4ht:ref: arch.list --></a> for more information. Must be equal to the primary <span
+href="#x1-370004.4">4.4<!--tex4ht:ref: arch.list --></a> for more information. Must be equal to the primary <span
class="ectt-1000">KEYWORD </span>for this profile.
</dd><dt class="description">
<span
@@ -2470,7 +2502,7 @@ class="ecbx-1000">CONFIG_PROTECT, CONFIG_PROTECT_MASK</span> </dt><dd
class="description">Contain
whitespace-delimited lists used to control the configuration file protection. Described
more fully in chapter&#x00A0;<a
-href="#x1-15600012.3.3">12.3.3<!--tex4ht:ref: sec:config-protect --></a>.
+href="#x1-15800012.3.3">12.3.3<!--tex4ht:ref: sec:config-protect --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">USE</span> </dt><dd
@@ -2483,7 +2515,7 @@ class="ecbx-1000">USE_EXPAND</span> </dt><dd
class="description">Defines a list of variables which are to be treated incrementally and
whose contents are to be expanded into the USE variable as passed to ebuilds. See
section&#x00A0;<a
-href="#x1-11900011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a> for details.
+href="#x1-12100011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a> for details.
</dd><dt class="description">
<span
class="ecbx-1000">USE_EXPAND_UNPREFIXED</span> </dt><dd
@@ -2492,34 +2524,33 @@ class="ectt-1000">USE_EXPAND</span>, but no prefix is used. If
the repository contains any package using an EAPI supporting profile-defined <span
class="ectt-1000">IUSE</span>
injection (see table&#x00A0;<a
-href="#x1-60001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a>), this list must contain at least <span
+href="#x1-62001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a>), this list must contain at least <span
class="ectt-1000">ARCH</span>. See section&#x00A0;<a
-href="#x1-11900011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a> for
+href="#x1-12100011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a> for
details.
</dd><dt class="description">
<span
class="ecbx-1000">USE_EXPAND_HIDDEN</span> </dt><dd
-class="description">Contains a (possibly empty) subset of names from <span
-class="ectt-1000">USE_</span>
+class="description">Contains a (possibly empty) subset of names from
<span
-class="ectt-1000">EXPAND </span>and <span
-class="ectt-1000">USE_EXPAND_UNPREFIXED</span>. The package manager may use this set as a hint
- to avoid displaying uninteresting or unhelpful information to an end user.
+class="ectt-1000">USE_EXPAND </span>and <span
+class="ectt-1000">USE_EXPAND_UNPREFIXED</span>. The package manager may use this set as
+ a hint to avoid displaying uninteresting or unhelpful information to an end user.
</dd><dt class="description">
<span
class="ecbx-1000">USE_EXPAND_IMPLICIT, IUSE_IMPLICIT</span> </dt><dd
class="description">Used to inject implicit values into
<span
class="ectt-1000">IUSE</span>. See section&#x00A0;<a
-href="#x1-11900011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a> for details.</dd></dl>
+href="#x1-12100011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a> for details.</dd></dl>
<!--l. 74--><p class="noindent" >In addition, for EAPIs listed in table&#x00A0;<a
-href="#x1-60001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as supporting profile defined <span
+href="#x1-62001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as supporting profile defined <span
class="ectt-1000">IUSE </span>injection, the variables
named in <span
class="ectt-1000">USE_EXPAND </span>and <span
class="ectt-1000">USE_EXPAND_UNPREFIXED </span>have special handling as described in
section&#x00A0;<a
-href="#x1-11900011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a>.
+href="#x1-12100011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a>.
</p><!--l. 78--><p class="noindent" >Any other variables set in <span
class="ectt-1000">make.defaults </span>must be passed on into the ebuild environment as-is,
and are not required to be interpreted by the package manager.
@@ -2531,21 +2562,20 @@ and are not required to be interpreted by the package manager.
</p>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;6</span><br /><a
- id="x1-620006"></a>Ebuild File Format</h2>
+ id="x1-640006"></a>Ebuild File Format</h2>
<!--l. 4--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">BASH</span>-<span
-class="small-caps">VERSION</span></span></span> The ebuild file format is in its basic form a subset of the format of a bash script.
+class="eccc1000-"><span
+class="small-caps">bash-version</span></span></span> The ebuild file format is in its basic form a subset of the format of a bash script.
The interpreter is assumed to be GNU bash, version as listed in table&#x00A0;<a
-href="#x1-62001r1">6.1<!--tex4ht:ref: tab:bash-version --></a>, or any later version. If
+href="#x1-64001r1">6.1<!--tex4ht:ref: tab:bash-version --></a>, or any later version. If
possible, the package manager should set the shell&#8217;s compatibility level to the exact version
specified. It must ensure that any such compatibility settings (e.g. the <span
class="ectt-1000">BASH_COMPAT </span>variable) are
not exported to external programs.
</p><!--l. 10--><p class="noindent" >The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define
certain variables and functions (see sections&#x00A0;<a
-href="#x1-630007">7<!--tex4ht:ref: sec:ebuild-vars --></a> and&#x00A0;<a
-href="#x1-930009">9<!--tex4ht:ref: sec:ebuild-functions --></a> for specific information), and must not call
+href="#x1-650007">7<!--tex4ht:ref: sec:ebuild-vars --></a> and&#x00A0;<a
+href="#x1-950009">9<!--tex4ht:ref: sec:ebuild-functions --></a> for specific information), and must not call
any external programs, write anything to standard output or standard error, or modify the state of
the system in any way.
</p>
@@ -2553,13 +2583,13 @@ the system in any way.
<!--l. 16--><p class="noindent" ><a
- id="x1-62001r1"></a></p><hr class="float" /><div class="float"
+ id="x1-64001r1"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;6.1: </span><span
-class="content">Bash version</span></div><!--tex4ht:label?: x1-62001r1 -->
+class="content">Bash version</span></div><!--tex4ht:label?: x1-64001r1 -->
<div class="tabular">
<table id="TBL-4" class="tabular"
cellspacing="0" cellpadding="0"
@@ -2593,20 +2623,20 @@ class="td11"> </td></tr></table></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;7</span><br /><a
- id="x1-630007"></a>Ebuild-defined Variables</h2>
+ id="x1-650007"></a>Ebuild-defined Variables</h2>
<!--l. 4--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-640007"></a><span
+ id="x1-660007"></a><span
class="ecbx-1000">Note:</span></span>
This section describes variables that may or must be defined by ebuilds. For variables that are
passed from the package manager to the ebuild, see section&#x00A0;<a
-href="#x1-11800011.1">11.1<!--tex4ht:ref: sec:ebuild-env-vars --></a>.
+href="#x1-12000011.1">11.1<!--tex4ht:ref: sec:ebuild-env-vars --></a>.
</p><!--l. 7--><p class="noindent" >If any of these variables are set to invalid values, or if any of the mandatory variables are
undefined, the package manager&#8217;s behaviour is undefined; ideally, an error in one ebuild should not
prevent operations upon other ebuilds or packages.
</p><!--l. 11--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">7.1 </span> <a
- id="x1-650007.1"></a>Metadata invariance</h3>
+ id="x1-670007.1"></a>Metadata Invariance</h3>
<!--l. 14--><p class="noindent" >All ebuild-defined variables discussed in this chapter must be defined independently of any system,
profile or tree dependent data, and must not vary depending upon the ebuild phase. In particular,
ebuild metadata can and will be generated on a different system from that upon which the
@@ -2617,7 +2647,7 @@ data.
</p><!--l. 23--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">7.2 </span> <a
- id="x1-660007.2"></a>Mandatory Ebuild-defined Variables</h3>
+ id="x1-680007.2"></a>Mandatory Ebuild-defined Variables</h3>
<!--l. 25--><p class="noindent" >All ebuilds must define at least the following variables:
</p><dl class="description"><dt class="description">
<span
@@ -2628,15 +2658,15 @@ class="description">A short human-readable description of the package&#8217;s pu
<span
class="ecbx-1000">SLOT</span> </dt><dd
class="description">The package&#8217;s slot. Must be a valid slot name, as per section&#x00A0;<a
-href="#x1-220003.1.3">3.1.3<!--tex4ht:ref: sec:slot-names --></a>. May be defined
+href="#x1-230003.1.3">3.1.3<!--tex4ht:ref: sec:slot-names --></a>. May be defined
by an eclass. Must not be empty.
<!--l. 33--><p class="noindent" >In EAPIs shown in table&#x00A0;<a
-href="#x1-83001r4">8.4<!--tex4ht:ref: tab:slot-deps-table --></a> as supporting sub-slots, the <span
+href="#x1-85001r4">8.4<!--tex4ht:ref: tab:slot-deps-table --></a> as supporting sub-slots, the <span
class="ectt-1000">SLOT </span>variable may contain
an optional sub-slot part that follows the regular slot and is delimited by a <span
class="ectt-1000">/ </span>character.
The sub-slot must be a valid slot name, as per section&#x00A0;<a
-href="#x1-220003.1.3">3.1.3<!--tex4ht:ref: sec:slot-names --></a>. The sub-slot is used to
+href="#x1-230003.1.3">3.1.3<!--tex4ht:ref: sec:slot-names --></a>. 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 <span
@@ -2645,7 +2675,7 @@ class="ectt-1000">SLOT </span>definition, the package is considered to have an i
<!--l. 42--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">7.3 </span> <a
- id="x1-670007.3"></a>Optional Ebuild-defined Variables</h3>
+ id="x1-690007.3"></a>Optional Ebuild-defined Variables</h3>
<!--l. 44--><p class="noindent" >Ebuilds may define any of the following variables:
@@ -2658,7 +2688,7 @@ class="description">The EAPI. See below.
class="ecbx-1000">HOMEPAGE</span> </dt><dd
class="description">The URI or URIs for a package&#8217;s homepage, including protocols. See
section&#x00A0;<a
-href="#x1-740008">8<!--tex4ht:ref: sec:dependencies --></a> for full syntax.
+href="#x1-760008">8<!--tex4ht:ref: sec:dependencies --></a> for full syntax.
</dd><dt class="description">
<span
class="ecbx-1000">SRC_URI</span> </dt><dd
@@ -2668,24 +2698,26 @@ class="ectt-1000">https://</span>,
<span
class="ectt-1000">ftp:// </span>and <span
class="ectt-1000">mirror:// </span>(see section&#x00A0;<a
-href="#x1-370004.4.2">4.4.2<!--tex4ht:ref: sec:thirdpartymirrors --></a> for mirror behaviour). Fetch restricted
+href="#x1-390004.4.2">4.4.2<!--tex4ht:ref: sec:thirdpartymirrors --></a> for mirror behaviour). Fetch restricted
packages may include URL parts consisting of just a filename. See section&#x00A0;<a
-href="#x1-740008">8<!--tex4ht:ref: sec:dependencies --></a> for full
+href="#x1-760008">8<!--tex4ht:ref: sec:dependencies --></a> for full
syntax.
</dd><dt class="description">
<span
class="ecbx-1000">LICENSE</span> </dt><dd
-class="description">The package&#8217;s license. Each text token must correspond to a tree &#8220;licenses/&#8221;
- entry (see section&#x00A0;<a
-href="#x1-400004.5">4.5<!--tex4ht:ref: sec:licenses-dir --></a>). See section&#x00A0;<a
-href="#x1-740008">8<!--tex4ht:ref: sec:dependencies --></a> for full syntax.
+class="description">The package&#8217;s license. Each text token must be a valid license name, as per
+ section&#x00A0;<a
+href="#x1-270003.1.6">3.1.6<!--tex4ht:ref: sec:license-names --></a>, and must correspond to a tree &#8220;licenses/&#8221; entry (see section&#x00A0;<a
+href="#x1-420004.5">4.5<!--tex4ht:ref: sec:licenses-dir --></a>). See
+ section&#x00A0;<a
+href="#x1-760008">8<!--tex4ht:ref: sec:dependencies --></a> for full syntax.
</dd><dt class="description">
<span
class="ecbx-1000">KEYWORDS</span> </dt><dd
class="description">A whitespace separated list of keywords for the ebuild. Each token must be
a valid keyword name, as per section&#x00A0;<a
-href="#x1-260003.1.6">3.1.6<!--tex4ht:ref: sec:keyword-names --></a>. See section&#x00A0;<a
-href="#x1-690007.3.2">7.3.2<!--tex4ht:ref: sec:keywords --></a> for full syntax.
+href="#x1-280003.1.7">3.1.7<!--tex4ht:ref: sec:keyword-names --></a>. See section&#x00A0;<a
+href="#x1-710007.3.2">7.3.2<!--tex4ht:ref: sec:keywords --></a> for full syntax.
</dd><dt class="description">
<span
class="ecbx-1000">IUSE</span> </dt><dd
@@ -2695,13 +2727,12 @@ class="ectt-1000">USE </span>flags must also set
<span
class="ectt-1000">IUSE</span>, listing only the variables used by that eclass. The package manager is responsible
for merging these values. See section&#x00A0;<a
-href="#x1-11900011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a> for discussion on which values must be
- listed this variable.
- <!--l. 65--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">IUSE</span>-<span
-class="small-caps">DEFAULTS</span></span></span> In EAPIs shown in table&#x00A0;<a
-href="#x1-67001r1">7.1<!--tex4ht:ref: tab:iuse-defaults-table --></a> as supporting <span
+href="#x1-12100011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a> for discussion on which values must be
+ listed in this variable.
+ <!--l. 66--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">iuse-defaults</span></span></span> In EAPIs shown in table&#x00A0;<a
+href="#x1-69001r1">7.1<!--tex4ht:ref: tab:iuse-defaults-table --></a> as supporting <span
class="ectt-1000">IUSE </span>defaults, any use flag
name in <span
class="ectt-1000">IUSE </span>may be prefixed by at most one of a plus or a minus sign. If such a prefix
@@ -2711,66 +2742,65 @@ class="ectt-1000">IUSE </span>may be prefixed by at most one of a plus or a minu
<span
class="ecbx-1000">REQUIRED_USE</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">REQUIRED</span>-<span
-class="small-caps">USE</span></span></span> Zero or more assertions that must be met by the
+class="eccc1000-"><span
+class="small-caps">required-use</span></span></span> Zero or more assertions that must be met by the
configuration of <span
class="ectt-1000">USE </span>flags to be valid for this ebuild. See section&#x00A0;<a
-href="#x1-890008.2.7">8.2.7<!--tex4ht:ref: sec:required-use --></a> for description
+href="#x1-910008.2.7">8.2.7<!--tex4ht:ref: sec:required-use --></a> for description
and section&#x00A0;<a
-href="#x1-740008">8<!--tex4ht:ref: sec:dependencies --></a> for full syntax. Only in EAPIs listed in table&#x00A0;<a
-href="#x1-67002r2">7.2<!--tex4ht:ref: tab:optional-vars-table --></a> as supporting
+href="#x1-760008">8<!--tex4ht:ref: sec:dependencies --></a> for full syntax. Only in EAPIs listed in table&#x00A0;<a
+href="#x1-69002r2">7.2<!--tex4ht:ref: tab:optional-vars-table --></a> as supporting
<span
class="ectt-1000">REQUIRED_USE</span>.
</dd><dt class="description">
<span
class="ecbx-1000">PROPERTIES</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">PROPERTIES</span></span></span> Zero or more properties for this package. See section&#x00A0;<a
-href="#x1-910008.2.9">8.2.9<!--tex4ht:ref: sec:properties --></a>
+class="eccc1000-"><span
+class="small-caps">properties</span></span></span> Zero or more properties for this package. See section&#x00A0;<a
+href="#x1-930008.2.9">8.2.9<!--tex4ht:ref: sec:properties --></a>
for value meanings and section&#x00A0;<a
-href="#x1-740008">8<!--tex4ht:ref: sec:dependencies --></a> for full syntax. For EAPIs listed in table&#x00A0;<a
-href="#x1-67002r2">7.2<!--tex4ht:ref: tab:optional-vars-table --></a> as
+href="#x1-760008">8<!--tex4ht:ref: sec:dependencies --></a> for full syntax. For EAPIs listed in table&#x00A0;<a
+href="#x1-69002r2">7.2<!--tex4ht:ref: tab:optional-vars-table --></a> as
having optional support, ebuilds must not rely upon the package manager recognising
or understanding this variable in any way.
</dd><dt class="description">
<span
class="ecbx-1000">RESTRICT</span> </dt><dd
class="description">Zero or more behaviour restrictions for this package. See section&#x00A0;<a
-href="#x1-900008.2.8">8.2.8<!--tex4ht:ref: sec:restrict --></a> for
+href="#x1-920008.2.8">8.2.8<!--tex4ht:ref: sec:restrict --></a> for
value meanings and section&#x00A0;<a
-href="#x1-740008">8<!--tex4ht:ref: sec:dependencies --></a> for full syntax.
+href="#x1-760008">8<!--tex4ht:ref: sec:dependencies --></a> for full syntax.
</dd><dt class="description">
<span
class="ecbx-1000">DEPEND</span> </dt><dd
class="description">See section&#x00A0;<a
-href="#x1-740008">8<!--tex4ht:ref: sec:dependencies --></a>.
+href="#x1-760008">8<!--tex4ht:ref: sec:dependencies --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">RDEPEND</span> </dt><dd
class="description">See section&#x00A0;<a
-href="#x1-740008">8<!--tex4ht:ref: sec:dependencies --></a>. For some EAPIs, <span
+href="#x1-760008">8<!--tex4ht:ref: sec:dependencies --></a>. For some EAPIs, <span
class="ectt-1000">RDEPEND </span>has special behaviour for its value if
unset and when used with an eclass. See section&#x00A0;<a
-href="#x1-700007.3.3">7.3.3<!--tex4ht:ref: sec:rdepend-depend --></a> for details.
+href="#x1-720007.3.3">7.3.3<!--tex4ht:ref: sec:rdepend-depend --></a> for details.
</dd><dt class="description">
<span
class="ecbx-1000">PDEPEND</span> </dt><dd
class="description">See section&#x00A0;<a
-href="#x1-740008">8<!--tex4ht:ref: sec:dependencies --></a>.</dd></dl>
+href="#x1-760008">8<!--tex4ht:ref: sec:dependencies --></a>.</dd></dl>
<div class="table">
-<!--l. 88--><p class="noindent" ><a
- id="x1-67001r1"></a></p><hr class="float" /><div class="float"
+<!--l. 89--><p class="noindent" ><a
+ id="x1-69001r1"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;7.1: </span><span
class="content">EAPIs supporting <span
-class="ectt-1000">IUSE </span>defaults</span></div><!--tex4ht:label?: x1-67001r1 -->
+class="ectt-1000">IUSE </span>defaults</span></div><!--tex4ht:label?: x1-69001r1 -->
<div class="tabular">
<table id="TBL-5" class="tabular"
cellspacing="0" cellpadding="0"
@@ -2803,14 +2833,14 @@ class="td11"> </td></tr></table></div>
<div class="table">
-<!--l. 102--><p class="noindent" ><a
- id="x1-67002r2"></a></p><hr class="float" /><div class="float"
+<!--l. 103--><p class="noindent" ><a
+ id="x1-69002r2"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;7.2: </span><span
-class="content">EAPIs supporting various ebuild-defined variables</span></div><!--tex4ht:label?: x1-67002r2 -->
+class="content">EAPIs supporting various ebuild-defined variables</span></div><!--tex4ht:label?: x1-69002r2 -->
<div class="tabular">
<table id="TBL-6" class="tabular"
cellspacing="0" cellpadding="0"
@@ -2848,7 +2878,7 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">7.3.1 </span> <a
- id="x1-680007.3.1"></a>EAPI</h4>
+ id="x1-700007.3.1"></a>EAPI</h4>
<!--l. 119--><p class="noindent" >An empty or unset <span
class="ectt-1000">EAPI </span>value is equivalent to <span
class="ectt-1000">0</span>. Ebuilds must not assume that they will get a
@@ -2887,19 +2917,19 @@ different.
</p><!--l. 145--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">7.3.2 </span> <a
- id="x1-690007.3.2"></a>Keywords</h4>
+ id="x1-710007.3.2"></a>Keywords</h4>
<!--l. 148--><p class="noindent" >Keywords are used to indicate levels of stability of a package on a respective architecture <span
class="ectt-1000">arch</span>.
-The following conventions are used: </p>
- <ul class="itemize1">
- <li class="itemize"><span
+The following conventions are used:
+ </p><ul>
+ <li class="compactitem"><span
class="ectt-1000">arch</span>: Both the package version and the ebuild are widely tested, known to work and
not have any serious issues on the indicated platform. This is referred to as a <span
class="ecti-1000">stable</span>
<span
class="ecti-1000">keyword</span>.
</li>
- <li class="itemize"><span
+ <li class="compactitem"><span
class="ectt-1000">~arch</span>: The package version and the ebuild are believed to work and do not have
any known serious bugs, but more testing is required before the package version is
considered suitable for obtaining a stable keyword. This is referred to as an <span
@@ -2908,10 +2938,10 @@ class="ecti-1000">unstable</span>
class="ecti-1000">keyword </span>or a <span
class="ecti-1000">testing keyword</span>.
</li>
- <li class="itemize">No keyword: It is not known whether the package will work, or insufficient testing has
+ <li class="compactitem">No keyword: It is not known whether the package will work, or insufficient testing has
occurred.
</li>
- <li class="itemize"><span
+ <li class="compactitem"><span
class="ectt-1000">-arch</span>: The package version will not work on the architecture.</li></ul>
<!--l. 161--><p class="noindent" >The <span
class="ectt-1000">-* </span>keyword is used to indicate package versions which are not worth trying to test on unlisted
@@ -2921,13 +2951,11 @@ class="ectt-1000">KEYWORDS </span>variable indicates uncertain functionality on
</p><!--l. 166--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">7.3.3 </span> <a
- id="x1-700007.3.3"></a><span
-class="ectt-1000">RDEPEND </span>value</h4>
+ id="x1-720007.3.3"></a>RDEPEND value</h4>
<!--l. 169--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">RDEPEND</span>-<span
-class="small-caps">DEPEND</span></span></span> In EAPIs listed in table&#x00A0;<a
-href="#x1-70001r3">7.3<!--tex4ht:ref: tab:rdepend-depend-table --></a> as having <span
+class="eccc1000-"><span
+class="small-caps">rdepend-depend</span></span></span> In EAPIs listed in table&#x00A0;<a
+href="#x1-72001r3">7.3<!--tex4ht:ref: tab:rdepend-depend-table --></a> as having <span
class="ectt-1000">RDEPEND=DEPEND</span>, if <span
class="ectt-1000">RDEPEND </span>is unset
(but not if it is set to an empty string) in an ebuild, when generating metadata the package
@@ -2940,23 +2968,23 @@ class="ectt-1000">RDEPEND </span>set in an eclass does not change the implicit <
class="ectt-1000">RDEPEND=DEPEND </span>for the
ebuild portion, and any <span
class="ectt-1000">DEPEND </span>value set in an eclass does not get treated as being part of
-
-
<span
class="ectt-1000">RDEPEND</span>.
</p>
+
+
<div class="table">
<!--l. 180--><p class="noindent" ><a
- id="x1-70001r3"></a></p><hr class="float" /><div class="float"
+ id="x1-72001r3"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;7.3: </span><span
class="content">EAPIs with <span
-class="ectt-1000">RDEPEND=DEPEND </span>Default</span></div><!--tex4ht:label?: x1-70001r3 -->
+class="ectt-1000">RDEPEND=DEPEND </span>default</span></div><!--tex4ht:label?: x1-72001r3 -->
<div class="tabular">
<table id="TBL-7" class="tabular"
cellspacing="0" cellpadding="0"
@@ -2986,10 +3014,10 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h3 class="sectionHead"><span class="titlemark">7.4 </span> <a
- id="x1-710007.4"></a>Magic Ebuild-defined Variables</h3>
+ id="x1-730007.4"></a>Magic Ebuild-defined Variables</h3>
<!--l. 195--><p class="noindent" >The following variables must be defined by <span
class="ectt-1000">inherit </span>(see section&#x00A0;<a
-href="#x1-11400010.1">10.1<!--tex4ht:ref: sec:inherit --></a>), and may be considered to
+href="#x1-11600010.1">10.1<!--tex4ht:ref: sec:inherit --></a>), and may be considered to
be part of the ebuild&#8217;s metadata:
</p><dl class="description"><dt class="description">
<span
@@ -3003,10 +3031,10 @@ class="ecbx-1000">INHERITED</span> </dt><dd
class="description">List of inherited eclass names. Again, this is handled magically by <span
class="ectt-1000">inherit</span>.</dd></dl>
<!--l. 204--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-720007.4"></a><span
+ id="x1-740007.4"></a><span
class="ecbx-1000">Note:</span></span>
Thus, by extension of section&#x00A0;<a
-href="#x1-650007.1">7.1<!--tex4ht:ref: sec:metadata-invariance --></a>, <span
+href="#x1-670007.1">7.1<!--tex4ht:ref: sec:metadata-invariance --></a>, <span
class="ectt-1000">inherit </span>may not be used conditionally, except upon constant
conditions.
</p><!--l. 207--><p class="noindent" >The following are special variables defined by the package manager for internal use and may or
@@ -3015,37 +3043,36 @@ may not be exported to the ebuild environment:
<span
class="ecbx-1000">DEFINED_PHASES</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">DEFINED</span>-<span
-class="small-caps">PHASES</span></span></span> A space separated arbitrarily ordered list of
+class="eccc1000-"><span
+class="small-caps">defined-phases</span></span></span> A space separated arbitrarily ordered list of
phase names (e. g.&#x00A0;<span
class="ectt-1000">configure setup unpack</span>) whose phase functions are defined by
the ebuild or an eclass inherited by the ebuild. If no phase functions are defined, a
single hyphen is used instead of an empty string. For EAPIs listed in table&#x00A0;<a
-href="#x1-73001r4">7.4<!--tex4ht:ref: tab:defined-phases-table --></a> as
+href="#x1-75001r4">7.4<!--tex4ht:ref: tab:defined-phases-table --></a> as
having optional <span
class="ectt-1000">DEFINED_PHASES </span>support, package managers may not rely upon the
metadata cache having this variable defined, and must treat an empty string as &#8220;this
information is not available&#8221;.</dd></dl>
<!--l. 219--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-730007.4"></a><span
+ id="x1-750007.4"></a><span
class="ecbx-1000">Note:</span></span>
Thus, by extension of section&#x00A0;<a
-href="#x1-650007.1">7.1<!--tex4ht:ref: sec:metadata-invariance --></a>, phase functions must not be defined based upon any variant
+href="#x1-670007.1">7.1<!--tex4ht:ref: sec:metadata-invariance --></a>, phase functions must not be defined based upon any variant
condition.
</p>
<div class="table">
<!--l. 223--><p class="noindent" ><a
- id="x1-73001r4"></a></p><hr class="float" /><div class="float"
+ id="x1-75001r4"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;7.4: </span><span
class="content">EAPIs supporting <span
-class="ectt-1000">DEFINED_PHASES</span></span></div><!--tex4ht:label?: x1-73001r4 -->
+class="ectt-1000">DEFINED_PHASES</span></span></div><!--tex4ht:label?: x1-75001r4 -->
<div class="tabular">
<table id="TBL-8" class="tabular"
cellspacing="0" cellpadding="0"
@@ -3082,20 +3109,20 @@ class="td11"> </td></tr></table></div>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;8</span><br /><a
- id="x1-740008"></a>Dependencies</h2>
+ id="x1-760008"></a>Dependencies</h2>
<h3 class="sectionHead"><span class="titlemark">8.1 </span> <a
- id="x1-750008.1"></a>Dependency Classes</h3>
+ id="x1-770008.1"></a>Dependency Classes</h3>
<div class="table">
<!--l. 7--><p class="noindent" ><a
- id="x1-75001r1"></a></p><hr class="float" /><div class="float"
+ id="x1-77001r1"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;8.1: </span><span
-class="content">Dependency classes required to be satisfied for a particular phase function</span></div><!--tex4ht:label?: x1-75001r1 -->
+class="content">Dependency classes required to be satisfied for a particular phase function</span></div><!--tex4ht:label?: x1-77001r1 -->
<div class="tabular">
<table id="TBL-9" class="tabular"
cellspacing="0" cellpadding="0"
@@ -3206,7 +3233,7 @@ class="ectt-1000">RDEPEND</span>). These must be installed and usable before the
class="ectt-1000">PDEPEND</span>). These must be installed at some point before the package
manager finishes the batch of installs.</li></ul>
<!--l. 38--><p class="noindent" >Table&#x00A0;<a
-href="#x1-75001r1">8.1<!--tex4ht:ref: tab:phase-function-dependency-classes --></a> lists dependencies which must be satisfied before a particular phase function is
+href="#x1-77001r1">8.1<!--tex4ht:ref: tab:phase-function-dependency-classes --></a> lists dependencies which must be satisfied before a particular phase function is
executed.
</p><!--l. 41--><p class="noindent" >In addition, <span
class="ectt-1000">SRC_URI</span>, <span
@@ -3218,7 +3245,7 @@ class="ectt-1000">REQUIRED_USE </span>use
dependency-style specifications to specify their values.
</p>
<h3 class="sectionHead"><span class="titlemark">8.2 </span> <a
- id="x1-760008.2"></a>Dependency Specification Format</h3>
+ id="x1-780008.2"></a>Dependency Specification Format</h3>
<!--l. 46--><p class="noindent" >The following elements are recognised in at least one class of specification. All elements
must be surrounded on both sides by whitespace, except at the start and end of the
string.
@@ -3234,14 +3261,14 @@ class="ectt-1000">proto://host/path</span>. Permitted in <span
class="ectt-1000">SRC_URI </span>and <span
class="ectt-1000">HOMEPAGE</span>. In
EAPIs listed in table&#x00A0;<a
-href="#x1-76001r2">8.2<!--tex4ht:ref: tab:uri-arrows-table --></a> as supporting <span
+href="#x1-78001r2">8.2<!--tex4ht:ref: tab:uri-arrows-table --></a> as supporting <span
class="ectt-1000">SRC_URI </span>arrows, may optionally be followed
by whitespace, then <span
class="ectt-1000">-&#x003E;</span>, then whitespace, then a simple filename when in <span
class="ectt-1000">SRC_URI</span>. For
<span
class="ectt-1000">SRC_URI </span>behaviour, see section&#x00A0;<a
-href="#x1-920008.2.10">8.2.10<!--tex4ht:ref: sec:src-uri-behaviour --></a>.
+href="#x1-940008.2.10">8.2.10<!--tex4ht:ref: sec:src-uri-behaviour --></a>.
</li>
<li class="compactitem">A flat filename. Permitted in <span
class="ectt-1000">SRC_URI</span>.
@@ -3250,10 +3277,9 @@ class="ectt-1000">SRC_URI</span>.
class="ectt-1000">GPL-2</span>). Permitted in <span
class="ectt-1000">LICENSE</span>.
</li>
- <li class="compactitem">A use flag name, optionally preceded by an exclamation mark. Permitted in <span
-class="ectt-1000">REQUIRED_</span>
+ <li class="compactitem">A use flag name, optionally preceded by an exclamation mark. Permitted in
<span
-class="ectt-1000">USE</span>.
+class="ectt-1000">REQUIRED_USE</span>.
</li>
<li class="compactitem">A simple string. Permitted in <span
class="ectt-1000">RESTRICT </span>and <span
@@ -3292,11 +3318,8 @@ class="ectt-1000">(item whitespace)* &#8217;)&#8217;</span>. Permitted in <span
class="ectt-1000">REQUIRED_USE</span>.
</li>
<li class="compactitem"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">AT</span>-<span
-class="small-caps">MOST</span>-<span
-class="small-caps">ONE</span>-<span
-class="small-caps">OF</span></span></span> An at-most-one-of group, which consists of the string <span
+class="eccc1000-"><span
+class="small-caps">at-most-one-of</span></span></span> An at-most-one-of group, which consists of the string <span
class="ectt-1000">??</span>, followed by
whitespace, followed by an open parenthesis, followed by whitespace, followed by zero
or more of (a dependency item of any kind followed by whitespace), followed by a close
@@ -3305,7 +3328,7 @@ class="ectt-1000">at-most-one-of ::= &#8217;??&#8217;&#x00A0;whitespace &#8217;(
<span
class="ectt-1000">(item whitespace)* &#8217;)&#8217;</span>. Permitted in <span
class="ectt-1000">REQUIRED_USE </span>in EAPIs listed in table&#x00A0;<a
-href="#x1-76002r3">8.3<!--tex4ht:ref: tab:at-most-one-of-table --></a>
+href="#x1-78002r3">8.3<!--tex4ht:ref: tab:at-most-one-of-table --></a>
as supporting <span
class="ectt-1000">REQUIRED_USE ??</span>&#x00A0;groups.
</li>
@@ -3323,14 +3346,14 @@ class="ectt-1000">(item whitespace)* &#8217;)&#8217;</span>. Permitted in all sp
<!--l. 93--><p class="noindent" ><a
- id="x1-76001r2"></a></p><hr class="float" /><div class="float"
+ id="x1-78001r2"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;8.2: </span><span
class="content">EAPIs supporting <span
-class="ectt-1000">SRC_URI </span>arrows</span></div><!--tex4ht:label?: x1-76001r2 -->
+class="ectt-1000">SRC_URI </span>arrows</span></div><!--tex4ht:label?: x1-78001r2 -->
<div class="tabular">
<table id="TBL-10" class="tabular"
cellspacing="0" cellpadding="0"
@@ -3364,14 +3387,14 @@ class="td11"> </td></tr></table></div>
<!--l. 107--><p class="noindent" ><a
- id="x1-76002r3"></a></p><hr class="float" /><div class="float"
+ id="x1-78002r3"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;8.3: </span><span
class="content">EAPIs supporting <span
-class="ectt-1000">REQUIRED_USE ??</span>&#x00A0;groups</span></div><!--tex4ht:label?: x1-76002r3 -->
+class="ectt-1000">REQUIRED_USE ??</span>&#x00A0;groups</span></div><!--tex4ht:label?: x1-78002r3 -->
<div class="tabular">
<table id="TBL-11" class="tabular"
cellspacing="0" cellpadding="0"
@@ -3402,22 +3425,22 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">8.2.1 </span> <a
- id="x1-770008.2.1"></a>All-of Dependency Specifications</h4>
+ id="x1-790008.2.1"></a>All-of dependency specifications</h4>
<!--l. 122--><p class="noindent" >In an all-of group, all of the child elements must be matched.
</p><!--l. 124--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">8.2.2 </span> <a
- id="x1-780008.2.2"></a>Use-conditional Dependency Specifications</h4>
+ id="x1-800008.2.2"></a>USE-conditional dependency specifications</h4>
<!--l. 126--><p class="noindent" >In a use-conditional group, if the associated use flag is enabled (or disabled if it has an exclamation
mark prefix), all of the child elements must be matched.
</p><!--l. 129--><p class="noindent" >It is an error for a flag to be used if it is not included in <span
class="ectt-1000">IUSE_EFFECTIVE </span>as described in
section&#x00A0;<a
-href="#x1-11900011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a>.
+href="#x1-12100011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a>.
</p><!--l. 132--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">8.2.3 </span> <a
- id="x1-790008.2.3"></a>Any-of Dependency Specifications</h4>
+ id="x1-810008.2.3"></a>Any-of dependency specifications</h4>
<!--l. 134--><p class="noindent" >Any use-conditional group that is an immediate child of an any-of group, if not enabled (disabled
for an exclamation mark prefixed use flag name), is not considered a member of the any-of group
for match purposes.
@@ -3428,7 +3451,7 @@ matched.
</p><!--l. 143--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">8.2.4 </span> <a
- id="x1-800008.2.4"></a>Exactly-one-of Dependency Specifications</h4>
+ id="x1-820008.2.4"></a>Exactly-one-of dependency specifications</h4>
<!--l. 145--><p class="noindent" >Any use-conditional group that is an immediate child of an exactly-one-of group, if not enabled
(disabled for an exclamation mark prefixed use flag name), is not considered a member of the
exactly-one-of group for match purposes.
@@ -3437,7 +3460,7 @@ exactly-one-of group for match purposes.
</p><!--l. 153--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">8.2.5 </span> <a
- id="x1-810008.2.5"></a>At-most-one-of Dependency Specifications</h4>
+ id="x1-830008.2.5"></a>At-most-one-of dependency specifications</h4>
<!--l. 155--><p class="noindent" >Any use-conditional group that is an immediate child of an at-most-one-of group, if not enabled
@@ -3448,7 +3471,7 @@ at-most-one-of group for match purposes.
</p><!--l. 163--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">8.2.6 </span> <a
- id="x1-820008.2.6"></a>Package Dependency Specifications</h4>
+ id="x1-840008.2.6"></a>Package dependency specifications</h4>
<!--l. 165--><p class="noindent" >A package dependency can be in one of the following base formats. A package manager must warn
or error on non-compliant input.
</p><!--l. 169--><p class="noindent" >
@@ -3458,32 +3481,31 @@ class="ectt-1000">category/package </span>name.
</li>
<li class="compactitem">An operator, as described
in section&#x00A0;<a
-href="#x1-840008.2.6.1">8.2.6.1<!--tex4ht:ref: sec:dep-operator --></a>, followed immediately by <span
+href="#x1-860008.2.6.1">8.2.6.1<!--tex4ht:ref: sec:dep-operator --></a>, followed immediately by <span
class="ectt-1000">category/package</span>, followed by a hyphen,
followed by a version specification.</li></ul>
<!--l. 174--><p class="noindent" >In EAPIs shown in table&#x00A0;<a
-href="#x1-83001r4">8.4<!--tex4ht:ref: tab:slot-deps-table --></a> as supporting <span
+href="#x1-85001r4">8.4<!--tex4ht:ref: tab:slot-deps-table --></a> as supporting <span
class="ectt-1000">SLOT </span>dependencies, either of the above formats may
additionally be suffixed by a <span
class="ectt-1000">:slot </span>restriction, as described in section&#x00A0;<a
-href="#x1-860008.2.6.3">8.2.6.3<!--tex4ht:ref: sec:slot-dep --></a>. A package manager
+href="#x1-880008.2.6.3">8.2.6.3<!--tex4ht:ref: sec:slot-dep --></a>. A package manager
must warn or error if slot dependencies are used with an EAPI not supporting <span
class="ectt-1000">SLOT</span>
dependencies.
</p><!--l. 179--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">USE</span>-<span
-class="small-caps">DEPS</span></span></span> In EAPIs shown in table&#x00A0;<a
-href="#x1-83002r5">8.5<!--tex4ht:ref: tab:use-deps-table --></a> as supporting 2-style or 4-style <span
+class="eccc1000-"><span
+class="small-caps">use-deps</span></span></span> In EAPIs shown in table&#x00A0;<a
+href="#x1-85002r5">8.5<!--tex4ht:ref: tab:use-deps-table --></a> as supporting 2-style or 4-style <span
class="ectt-1000">USE </span>dependencies, a
specification may additionally be suffixed by at most one 2-style or 4-style <span
class="ectt-1000">[use] </span>restriction, as
described in section&#x00A0;<a
-href="#x1-870008.2.6.4">8.2.6.4<!--tex4ht:ref: sec:use-dep --></a>. A package manager must warn or error if this feature is used with an
+href="#x1-890008.2.6.4">8.2.6.4<!--tex4ht:ref: sec:use-dep --></a>. A package manager must warn or error if this feature is used with an
EAPI not supporting use dependencies.
</p>
<!--l. 184--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-830008.2.6"></a><span
+ id="x1-850008.2.6"></a><span
class="ecbx-1000">Note:</span></span>
Order is important. The slot restriction must come before use dependencies.
</p>
@@ -3491,14 +3513,14 @@ Order is important. The slot restriction must come before use dependencies.
<!--l. 187--><p class="noindent" ><a
- id="x1-83001r4"></a></p><hr class="float" /><div class="float"
+ id="x1-85001r4"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;8.4: </span><span
class="content">Support for <span
-class="ectt-1000">SLOT </span>dependencies and sub-slots in EAPIs</span></div><!--tex4ht:label?: x1-83001r4 -->
+class="ectt-1000">SLOT </span>dependencies and sub-slots in EAPIs</span></div><!--tex4ht:label?: x1-85001r4 -->
<div class="tabular">
<table id="TBL-12" class="tabular"
cellspacing="0" cellpadding="0"
@@ -3542,14 +3564,14 @@ class="td11"> </td></tr></table></div>
<!--l. 203--><p class="noindent" ><a
- id="x1-83002r5"></a></p><hr class="float" /><div class="float"
+ id="x1-85002r5"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;8.5: </span><span
class="content">EAPIs supporting <span
-class="ectt-1000">USE </span>dependencies</span></div><!--tex4ht:label?: x1-83002r5 -->
+class="ectt-1000">USE </span>dependencies</span></div><!--tex4ht:label?: x1-85002r5 -->
<div class="tabular">
<table id="TBL-13" class="tabular"
cellspacing="0" cellpadding="0"
@@ -3584,7 +3606,7 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h5 class="subsubsectionHead"><span class="titlemark">8.2.6.1 </span> <a
- id="x1-840008.2.6.1"></a>Operators</h5>
+ id="x1-860008.2.6.1"></a>Operators</h5>
<!--l. 220--><p class="noindent" >The following operators are available:
</p><dl class="description"><dt class="description">
<span
@@ -3617,7 +3639,7 @@ class="description">Strictly greater than the specified version.</dd></dl>
<!--l. 235--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">8.2.6.2 </span> <a
- id="x1-850008.2.6.2"></a>Block Operator</h5>
+ id="x1-870008.2.6.2"></a>Block operator</h5>
<!--l. 237--><p class="noindent" >If the specification is prefixed with one or two exclamation marks, the named dependency is a
block rather than a requirement&#8212;that is to say, the specified package must not be installed, with
the following exceptions:
@@ -3627,25 +3649,24 @@ the following exceptions:
</li>
<li class="compactitem">Weak blocks on the package version of the ebuild itself do not count.</li></ul>
<!--l. 246--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">BANG</span>-<span
-class="small-caps">STRENGTH</span></span></span> There are two strengths of block: weak and strong. A weak block may be ignored
+class="eccc1000-"><span
+class="small-caps">bang-strength</span></span></span> There are two strengths of block: weak and strong. A weak block may be ignored
by the package manager, so long as any blocked package will be uninstalled later on. A strong
block must not be ignored. The mapping from one or two exclamation marks to strength is
described in table&#x00A0;<a
-href="#x1-85001r6">8.6<!--tex4ht:ref: tab:bang-strength-table --></a>.
+href="#x1-87001r6">8.6<!--tex4ht:ref: tab:bang-strength-table --></a>.
</p>
<div class="table">
<!--l. 252--><p class="noindent" ><a
- id="x1-85001r6"></a></p><hr class="float" /><div class="float"
+ id="x1-87001r6"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;8.6: </span><span
-class="content">Exclamation mark strengths for EAPIs</span></div><!--tex4ht:label?: x1-85001r6 -->
+class="content">Exclamation mark strengths for EAPIs</span></div><!--tex4ht:label?: x1-87001r6 -->
<div class="tabular">
<table id="TBL-14" class="tabular"
cellspacing="0" cellpadding="0"
@@ -3679,28 +3700,24 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h5 class="subsubsectionHead"><span class="titlemark">8.2.6.3 </span> <a
- id="x1-860008.2.6.3"></a>Slot Dependencies</h5>
+ id="x1-880008.2.6.3"></a>Slot dependencies</h5>
<!--l. 269--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SLOT</span>-<span
-class="small-caps">DEPS</span></span></span> A named slot dependency consists of a colon followed by a slot name. A specification
+class="eccc1000-"><span
+class="small-caps">slot-deps</span></span></span> A named slot dependency consists of a colon followed by a slot name. A specification
with a named slot dependency matches only if the slot of the matched package is equal to the slot
specified. If the slot of the package to match cannot be determined (e. g.&#x00A0;because it is not a
supported <span
class="ectt-1000">EAPI</span>), the match is treated as unsuccessful.
</p><!--l. 274--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SUB</span>-<span
-class="small-caps">SLOT</span></span></span> In EAPIs shown in table&#x00A0;<a
-href="#x1-83001r4">8.4<!--tex4ht:ref: tab:slot-deps-table --></a> as supporting sub-slots, a slot dependency may
+class="eccc1000-"><span
+class="small-caps">sub-slot</span></span></span> In EAPIs shown in table&#x00A0;<a
+href="#x1-85001r4">8.4<!--tex4ht:ref: tab:slot-deps-table --></a> as supporting sub-slots, a slot dependency may
contain an optional sub-slot part that follows the regular slot and is delimited by a <span
class="ectt-1000">/</span>
character.
</p><!--l. 278--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SLOT</span>-<span
-class="small-caps">OPERATOR</span>-<span
-class="small-caps">DEPS</span></span></span> An operator slot dependency consists of a colon followed by one of the
+class="eccc1000-"><span
+class="small-caps">slot-operator-deps</span></span></span> An operator slot dependency consists of a colon followed by one of the
following operators:
</p><dl class="description"><dt class="description">
<span
@@ -3713,8 +3730,8 @@ class="description">Indicates that any slot value is acceptable. In addition, fo
class="ecbx-1000">=</span> </dt><dd
class="description">Indicates that any slot value is acceptable. In addition, for runtime dependencies, indicates
that the package will break unless a matching package with slot and sub-slot equal to
- the slot and sub-slot of the best installed version at the time the package was installed
- is available.
+ the slot and sub-slot of the best installed version at the time the package was built is
+ available.
</dd><dt class="description">
<span
class="ecbx-1000">slot=</span> </dt><dd
@@ -3727,22 +3744,27 @@ appropriate slot/sub-slot pair between the colon and equals sign when saving the
dependencies. The sub-slot part must not be omitted here (when the SLOT variable omits the
sub-slot part, the package is considered to have an implicit sub-slot which is equal to the regular
slot).
-</p><!--l. 299--><p class="noindent" >
+</p><!--l. 299--><p class="noindent" >Whenever the equals slot operator is used in an enabled dependency group, the dependencies
+(<span
+class="ectt-1000">DEPEND</span>) must ensure that a matching package is installed at build time. It is invalid to use the
+equals slot operator inside <span
+class="ectt-1000">PDEPEND </span>or inside any-of dependency specifications.
+</p><!--l. 303--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">8.2.6.4 </span> <a
- id="x1-870008.2.6.4"></a>2-Style and 4-Style Use Dependencies</h5>
-<!--l. 302--><p class="noindent" >A 2-style or 4-style use dependency consists of one of the following:
+ id="x1-890008.2.6.4"></a>2-style and 4-style USE dependencies</h5>
+<!--l. 306--><p class="noindent" >A 2-style or 4-style use dependency consists of one of the following:
</p><dl class="description"><dt class="description">
<span
class="ecbx-1000">[opt]</span> </dt><dd
class="description">The flag must be enabled.
+
+
</dd><dt class="description">
<span
class="ecbx-1000">[opt=]</span> </dt><dd
class="description">The flag must be enabled if the flag is enabled for the package with the dependency,
or disabled otherwise.
-
-
</dd><dt class="description">
<span
class="ecbx-1000">[!opt=]</span> </dt><dd
@@ -3761,14 +3783,12 @@ class="description">The flag must be disabled if the use flag is disab
<span
class="ecbx-1000">[-opt]</span> </dt><dd
class="description">The flag must be disabled.</dd></dl>
-<!--l. 317--><p class="noindent" >Multiple requirements may be combined using commas, e. g.&#x00A0;<span
+<!--l. 321--><p class="noindent" >Multiple requirements may be combined using commas, e. g.&#x00A0;<span
class="ectt-1000">[first,-second,third?]</span>.
-</p><!--l. 319--><p class="noindent" >When multiple requirements are specified, all must match for a successful match.
-</p><!--l. 321--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">USE</span>-<span
-class="small-caps">DEP</span>-<span
-class="small-caps">DEFAULTS</span></span></span> In a 4-style use dependency, the flag name may immediately be followed by a
+</p><!--l. 323--><p class="noindent" >When multiple requirements are specified, all must match for a successful match.
+</p><!--l. 325--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">use-dep-defaults</span></span></span> In a 4-style use dependency, the flag name may immediately be followed by a
<span
class="ecti-1000">default </span>specified by either <span
class="ectt-1000">(+) </span>or <span
@@ -3777,45 +3797,45 @@ dependency to a package that does not have the flag in question in <span
class="ectt-1000">IUSE_REFERENCEABLE</span>, the
package manager shall behave as if the flag were present and enabled; the latter, present and
disabled.
-</p><!--l. 327--><p class="noindent" >Unless a 4-style default is specified, it is an error for a use dependency to be applied to an ebuild
+</p><!--l. 331--><p class="noindent" >Unless a 4-style default is specified, it is an error for a use dependency to be applied to an ebuild
which does not have the flag in question in <span
class="ectt-1000">IUSE_REFERENCEABLE</span>.
</p>
-<!--l. 330--><p class="noindent" ><span class="paragraphHead"><a
- id="x1-880008.2.6.4"></a><span
+<!--l. 334--><p class="noindent" ><span class="paragraphHead"><a
+ id="x1-900008.2.6.4"></a><span
class="ecbx-1000">Note:</span></span>
By extension of the above, a default that could reference an ebuild using an EAPI not supporting
profile <span
class="ectt-1000">IUSE </span>injections cannot rely upon any particular behaviour for flags that would not have to
be part of <span
class="ectt-1000">IUSE</span>.
-</p><!--l. 334--><p class="noindent" >It is an error for an ebuild to use a conditional use dependency when that ebuild does not have the
+</p><!--l. 338--><p class="noindent" >It is an error for an ebuild to use a conditional use dependency when that ebuild does not have the
flag in <span
class="ectt-1000">IUSE_EFFECTIVE</span>.
-</p><!--l. 337--><p class="noindent" >
+</p><!--l. 341--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">8.2.7 </span> <a
- id="x1-890008.2.7"></a>Use State Constraints</h4>
-<!--l. 339--><p class="noindent" ><span
+ id="x1-910008.2.7"></a>USE state constraints</h4>
+<!--l. 343--><p class="noindent" ><span
class="ectt-1000">REQUIRED_USE </span>contains a list of assertions that must be met by the configuration of <span
class="ectt-1000">USE </span>flags to be
valid for this ebuild. In order to be matched, a <span
class="ectt-1000">USE </span>flag in a terminal element must be enabled (or
disabled if it has an exclamation mark prefix).
-</p><!--l. 343--><p class="noindent" >If the package manager encounters a package version where <span
+</p><!--l. 347--><p class="noindent" >If the package manager encounters a package version where <span
class="ectt-1000">REQUIRED_USE </span>assertions are not
met, it must treat this package version as if it was masked. No phase functions must be
called.
-</p><!--l. 346--><p class="noindent" >It is an error for a flag to be used if it is not included in <span
+</p><!--l. 350--><p class="noindent" >It is an error for a flag to be used if it is not included in <span
class="ectt-1000">IUSE_EFFECTIVE</span>.
-</p><!--l. 348--><p class="noindent" >
+
+
+</p><!--l. 352--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">8.2.8 </span> <a
- id="x1-900008.2.8"></a>Restrict</h4>
-<!--l. 351--><p class="noindent" >The following tokens are permitted inside <span
+ id="x1-920008.2.8"></a>Restrict</h4>
+<!--l. 355--><p class="noindent" >The following tokens are permitted inside <span
class="ectt-1000">RESTRICT</span>:
-
-
</p><dl class="description"><dt class="description">
<span
class="ecbx-1000">mirror</span> </dt><dd
@@ -3843,46 +3863,46 @@ class="description">The package manager may not drop root privileges when buildi
class="ecbx-1000">test</span> </dt><dd
class="description">The <span
class="ectt-1000">src_test </span>phase must not be run.</dd></dl>
-<!--l. 363--><p class="noindent" >Package managers may recognise other tokens, but ebuilds may not rely upon them being
+<!--l. 367--><p class="noindent" >Package managers may recognise other tokens, but ebuilds may not rely upon them being
supported.
-</p><!--l. 365--><p class="noindent" >
+</p><!--l. 369--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">8.2.9 </span> <a
- id="x1-910008.2.9"></a>Properties</h4>
-<!--l. 368--><p class="noindent" >The following tokens are permitted inside <span
+ id="x1-930008.2.9"></a>Properties</h4>
+<!--l. 372--><p class="noindent" >The following tokens are permitted inside <span
class="ectt-1000">PROPERTIES</span>:
</p><dl class="description"><dt class="description">
<span
class="ecbx-1000">interactive</span> </dt><dd
class="description">The package may require interaction with the user via the tty.</dd></dl>
-<!--l. 374--><p class="noindent" >Ebuilds may not rely upon any token being supported.
-</p><!--l. 376--><p class="noindent" >
+<!--l. 378--><p class="noindent" >Ebuilds may not rely upon any token being supported.
+</p><!--l. 380--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">8.2.10 </span> <a
- id="x1-920008.2.10"></a>SRC_URI</h4>
-<!--l. 379--><p class="noindent" >All filename components that are enabled (i. e.&#x00A0;not inside a use-conditional block that is not
+ id="x1-940008.2.10"></a>SRC_URI</h4>
+<!--l. 383--><p class="noindent" >All filename components that are enabled (i. e.&#x00A0;not inside a use-conditional block that is not
matched) in <span
class="ectt-1000">SRC_URI </span>must be available in the <span
class="ectt-1000">DISTDIR </span>directory. In addition, these components
are used to make the <span
class="ectt-1000">A </span>and <span
class="ectt-1000">AA </span>variables.
-</p><!--l. 383--><p class="noindent" >If a component contains a full URI with protocol, that download location must be used. Package
+</p><!--l. 387--><p class="noindent" >If a component contains a full URI with protocol, that download location must be used. Package
managers may also consult mirrors for their files.
-</p><!--l. 386--><p class="noindent" >The special <span
+</p><!--l. 390--><p class="noindent" >The special <span
class="ectt-1000">mirror:// </span>protocol must be supported. See section&#x00A0;<a
-href="#x1-370004.4.2">4.4.2<!--tex4ht:ref: sec:thirdpartymirrors --></a> for mirror details.
-</p><!--l. 389--><p class="noindent" >If a simple filename rather than a full URI is provided, the package manager can only use mirrors
+href="#x1-390004.4.2">4.4.2<!--tex4ht:ref: sec:thirdpartymirrors --></a> for mirror details.
+</p><!--l. 393--><p class="noindent" >If a simple filename rather than a full URI is provided, the package manager can only use mirrors
to download the file.
-</p><!--l. 392--><p class="noindent" >The <span
+</p><!--l. 396--><p class="noindent" >The <span
class="ectt-1000">RESTRICT </span>metadata key can be used to impose additional restrictions upon downloading&#8212;see
section&#x00A0;<a
-href="#x1-900008.2.8">8.2.8<!--tex4ht:ref: sec:restrict --></a> for details.
-</p><!--l. 395--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">URI</span>-<span
-class="small-caps">ARROWS</span></span></span> In EAPIs supporting arrows, if an arrow is used, the filename used when
+href="#x1-920008.2.8">8.2.8<!--tex4ht:ref: sec:restrict --></a> for details.
+
+
+</p><!--l. 399--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">src-uri-arrows</span></span></span> In EAPIs supporting arrows, if an arrow is used, the filename used when
saving to <span
class="ectt-1000">DISTDIR </span>shall instead be the name on the right of the arrow. When consulting
mirrors (except for those explicitly listed on the left of the arrow, if <span
@@ -3897,47 +3917,45 @@ URI.
</p>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;9</span><br /><a
- id="x1-930009"></a>Ebuild-defined Functions</h2>
+ id="x1-950009"></a>Ebuild-defined Functions</h2>
<h3 class="sectionHead"><span class="titlemark">9.1 </span> <a
- id="x1-940009.1"></a>List of Functions</h3>
-<!--l. 7--><p class="noindent" >The following is a list of functions that an ebuild, or eclass, may define, and which will be called by
+ id="x1-960009.1"></a>List of Functions</h3>
+<!--l. 6--><p class="noindent" >The following is a list of functions that an ebuild, or eclass, may define, and which will be called by
the package manager as part of the build and/or install process. In all cases the package manager
must provide a default implementation of these functions; unless otherwise stated this must be a
no-op. Most functions must assume only that they have write access to the package&#8217;s working
directory (the <span
class="ectt-1000">WORKDIR </span>environment variable; see section&#x00A0;<a
-href="#x1-118001r1">11.1<!--tex4ht:ref: env-var-WORKDIR --></a>), and the temporary directory
+href="#x1-120001r1">11.1<!--tex4ht:ref: env-var-WORKDIR --></a>), and the temporary directory
<span
class="ectt-1000">T</span>; exceptions are noted below. All functions may assume that they have read access
to all system libraries, binaries and configuration files that are accessible to normal
users.
-</p><!--l. 16--><p class="noindent" >The environment for functions run outside of the build sequence (that is, <span
+</p><!--l. 15--><p class="noindent" >The environment for functions run outside of the build sequence (that is, <span
class="ectt-1000">pkg_config</span>, <span
class="ectt-1000">pkg_info</span>,
<span
class="ectt-1000">pkg_prerm </span>and <span
class="ectt-1000">pkg_postrm</span>) must be the environment used for the build of the package, not the
current configuration.
-</p><!--l. 20--><p class="noindent" >Ebuilds must not call nor assume the existence of any phase functions.
-</p><!--l. 22--><p class="noindent" >
+</p><!--l. 19--><p class="noindent" >Ebuilds must not call nor assume the existence of any phase functions.
+</p><!--l. 21--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">9.1.1 </span> <a
- id="x1-950009.1.1"></a>Initial Working Directories</h4>
-<!--l. 25--><p class="noindent" >Some functions may assume that their initial working directory is set to a particular location; these
+ id="x1-970009.1.1"></a>Initial working directories</h4>
+<!--l. 24--><p class="noindent" >Some functions may assume that their initial working directory is set to a particular location; these
are noted below. If no initial working directory is mandated, it may be set to anything and the
ebuild must not rely upon a particular location for it. The ebuild <span
class="ecti-1000">may </span>assume that the initial
working directory for any phase is a trusted location that may only be written to by a privileged
user and group.
-</p><!--l. 31--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">S</span>-<span
-class="small-caps">WORKDIR</span>-<span
-class="small-caps">FALLBACK</span></span></span> Some functions are described as having an initial working directory of
+</p><!--l. 30--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">s-workdir-fallback</span></span></span> Some functions are described as having an initial working directory of
<span
class="ectt-1000">S </span>with an error or fallback to <span
class="ectt-1000">WORKDIR</span>. For EAPIs listed in table&#x00A0;<a
-href="#x1-95001r1">9.1<!--tex4ht:ref: tab:s-fallback-table --></a> as having the
+href="#x1-97001r1">9.1<!--tex4ht:ref: tab:s-fallback-table --></a> as having the
fallback, this means that if <span
class="ectt-1000">S </span>is not a directory before the start of the phase function, the
initial working directory shall be <span
@@ -3947,7 +3965,7 @@ class="ectt-1000">S </span>is not a directory before the start of the phase func
unless all of the following conditions are true, in which case the fallback to <span
class="ectt-1000">WORKDIR </span>is
used:
-</p><!--l. 40--><p class="noindent" >
+</p><!--l. 39--><p class="noindent" >
</p><ul>
<li class="compactitem">The <span
class="ectt-1000">A </span>variable contains no items.
@@ -3967,8 +3985,8 @@ class="ectt-1000">DEFINED_PHASES</span>.</li></ul>
<div class="table">
-<!--l. 48--><p class="noindent" ><a
- id="x1-95001r1"></a></p><hr class="float" /><div class="float"
+<!--l. 47--><p class="noindent" ><a
+ id="x1-97001r1"></a></p><hr class="float" /><div class="float"
>
@@ -3976,7 +3994,7 @@ class="ectt-1000">DEFINED_PHASES</span>.</li></ul>
><span class="id">Table&#x00A0;9.1: </span><span
class="content">EAPIs with <span
class="ectt-1000">S </span>to <span
-class="ectt-1000">WORKDIR </span>fallbacks</span></div><!--tex4ht:label?: x1-95001r1 -->
+class="ectt-1000">WORKDIR </span>fallbacks</span></div><!--tex4ht:label?: x1-97001r1 -->
<div class="tabular">
<table id="TBL-15" class="tabular"
cellspacing="0" cellpadding="0"
@@ -4007,15 +4025,14 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">9.1.2 </span> <a
- id="x1-960009.1.2"></a>pkg_pretend</h4>
-<!--l. 64--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">PKG</span>-<span
-class="small-caps">PRETEND</span></span></span> The <span
+ id="x1-980009.1.2"></a>pkg_pretend</h4>
+<!--l. 62--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">pkg-pretend</span></span></span> The <span
class="ectt-1000">pkg_pretend </span>function is only called for EAPIs listed in table&#x00A0;<a
-href="#x1-96001r2">9.2<!--tex4ht:ref: tab:pkg-pretend-table --></a> as supporting
+href="#x1-98001r2">9.2<!--tex4ht:ref: tab:pkg-pretend-table --></a> as supporting
it.
-</p><!--l. 67--><p class="noindent" >The <span
+</p><!--l. 65--><p class="noindent" >The <span
class="ectt-1000">pkg_pretend </span>function may be used to carry out sanity checks early on in the install process.
For example, if an ebuild requires a particular kernel configuration, it may perform that check in
<span
@@ -4023,26 +4040,26 @@ class="ectt-1000">pkg_pretend </span>and call <span
class="ectt-1000">eerror </span>and then <span
class="ectt-1000">die </span>with appropriate messages if the requirement is not
met.
-</p><!--l. 72--><p class="noindent" ><span
+</p><!--l. 70--><p class="noindent" ><span
class="ectt-1000">pkg_pretend </span>is run separately from the main phase function sequence, and does not participate in
any kind of environment saving. There is no guarantee that any of an ebuild&#8217;s dependencies will be
met at this stage, and no guarantee that the system state will not have changed substantially
before the next phase is executed.
-</p><!--l. 77--><p class="noindent" ><span
+</p><!--l. 75--><p class="noindent" ><span
class="ectt-1000">pkg_pretend </span>must not write to the filesystem.
</p>
<div class="table">
-<!--l. 80--><p class="noindent" ><a
- id="x1-96001r2"></a></p><hr class="float" /><div class="float"
+<!--l. 78--><p class="noindent" ><a
+ id="x1-98001r2"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;9.2: </span><span
class="content">EAPIs supporting <span
-class="ectt-1000">pkg_pretend</span></span></div><!--tex4ht:label?: x1-96001r2 -->
+class="ectt-1000">pkg_pretend</span></span></div><!--tex4ht:label?: x1-98001r2 -->
<div class="tabular">
<table id="TBL-16" class="tabular"
cellspacing="0" cellpadding="0"
@@ -4073,41 +4090,38 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">9.1.3 </span> <a
- id="x1-970009.1.3"></a>pkg_setup</h4>
-<!--l. 95--><p class="noindent" >The <span
+ id="x1-990009.1.3"></a>pkg_setup</h4>
+<!--l. 93--><p class="noindent" >The <span
class="ectt-1000">pkg_setup </span>function sets up the ebuild&#8217;s environment for all following functions,
before the build process starts. Further, it checks whether any necessary prerequisites not
covered by the package manager, e. g.&#x00A0;that certain kernel configuration options are
fulfilled.
-</p><!--l. 99--><p class="noindent" ><span
+</p><!--l. 97--><p class="noindent" ><span
class="ectt-1000">pkg_setup </span>must be run with full filesystem permissions, including the ability to add new users
and/or groups to the system.
-</p><!--l. 102--><p class="noindent" >
+</p><!--l. 100--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">9.1.4 </span> <a
- id="x1-980009.1.4"></a>src_unpack</h4>
-<!--l. 105--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">UNPACK</span></span></span> The <span
-class="ectt-1000">src_unpack </span>function extracts all of the package&#8217;s sources. In EAPIs lacking
-<span
-class="ectt-1000">src_prepare</span>, it may also apply patches and set up the package&#8217;s build system for further
-use.
-</p><!--l. 109--><p class="noindent" >The initial working directory must be <span
+ id="x1-1000009.1.4"></a>src_unpack</h4>
+<!--l. 102--><p class="noindent" >The <span
+class="ectt-1000">src_unpack </span>function extracts all of the package&#8217;s sources. In EAPIs lacking <span
+class="ectt-1000">src_prepare</span>, it
+may also apply patches and set up the package&#8217;s build system for further use.
+</p><!--l. 105--><p class="noindent" >The initial working directory must be <span
class="ectt-1000">WORKDIR</span>, and the default implementation used when the
ebuild lacks the <span
class="ectt-1000">src_unpack </span>function shall behave as:
-</p><!--l. 112--><p class="noindent" ><a
- id="x1-98001r1"></a></p><hr class="float" /><div class="float"
+</p><!--l. 108--><p class="noindent" ><a
+ id="x1-100001r1"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Listing 9.1: </span><span
-class="content">src_unpack</span></div><!--tex4ht:label?: x1-98001r1 -->
+class="content"><span
+class="ectt-1000">src_unpack</span></span></div><!--tex4ht:label?: x1-100001r1 -->
<div class="verbatim" id="verbatim-7">
@@ -4116,43 +4130,42 @@ src_unpack()&#x00A0;{
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;unpack&#x00A0;${A}
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;fi
&#x00A0;<br />}</div>
-<!--l. 120--><p class="nopar" >
+<!--l. 116--><p class="nopar" >
</p>
</div><hr class="endfloat" />
<h4 class="subsectionHead"><span class="titlemark">9.1.5 </span> <a
- id="x1-990009.1.5"></a>src_prepare</h4>
-<!--l. 126--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">PREPARE</span></span></span> The <span
+ id="x1-1010009.1.5"></a>src_prepare</h4>
+<!--l. 121--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">src-prepare</span></span></span> The <span
class="ectt-1000">src_prepare </span>function is only called for EAPIs listed in table&#x00A0;<a
-href="#x1-99002r3">9.3<!--tex4ht:ref: tab:src-prepare-table --></a> as supporting
+href="#x1-101002r3">9.3<!--tex4ht:ref: tab:src-prepare-table --></a> as supporting
it. The <span
class="ectt-1000">src_prepare </span>function can be used for post-unpack source preparation.
-</p><!--l. 130--><p class="noindent" >The initial working directory is <span
+</p><!--l. 125--><p class="noindent" >The initial working directory is <span
class="ectt-1000">S</span>, with an error or fallback to <span
class="ectt-1000">WORKDIR </span>as discussed in
section&#x00A0;<a
-href="#x1-950009.1.1">9.1.1<!--tex4ht:ref: sec:s-to-workdir-fallback --></a>.
-</p><!--l. 133--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">PREPARE</span>-6</span></span> For EAPIs listed in table&#x00A0;<a
-href="#x1-99002r3">9.3<!--tex4ht:ref: tab:src-prepare-table --></a> as using format 6, the default implementation used
+href="#x1-970009.1.1">9.1.1<!--tex4ht:ref: sec:s-to-workdir-fallback --></a>.
+</p><!--l. 128--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">src-prepare-6</span></span></span> For EAPIs listed in table&#x00A0;<a
+href="#x1-101002r3">9.3<!--tex4ht:ref: tab:src-prepare-table --></a> as using format 6, the default implementation used
when the ebuild lacks the <span
class="ectt-1000">src_prepare </span>function shall behave as:
-</p><!--l. 137--><p class="noindent" ><a
- id="x1-99001r2"></a></p><hr class="float" /><div class="float"
+</p><!--l. 132--><p class="noindent" ><a
+ id="x1-101001r2"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Listing 9.2: </span><span
-class="content">src_prepare, format&#x00A0;6</span></div><!--tex4ht:label?: x1-99001r2 -->
+class="content"><span
+class="ectt-1000">src_prepare</span>, format&#x00A0;6</span></div><!--tex4ht:label?: x1-101001r2 -->
<div class="verbatim" id="verbatim-8">
@@ -4164,12 +4177,12 @@ src_prepare()&#x00A0;{
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;fi
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;eapply_user
&#x00A0;<br />}</div>
-<!--l. 148--><p class="nopar" >
+<!--l. 143--><p class="nopar" >
</p>
</div><hr class="endfloat" />
-<!--l. 151--><p class="noindent" >For other EAPIs supporting <span
+<!--l. 146--><p class="noindent" >For other EAPIs supporting <span
class="ectt-1000">src_prepare</span>, the default implementation used when the ebuild lacks
the <span
class="ectt-1000">src_prepare </span>function is a no-op.
@@ -4177,15 +4190,15 @@ class="ectt-1000">src_prepare </span>function is a no-op.
<div class="table">
-<!--l. 155--><p class="noindent" ><a
- id="x1-99002r3"></a></p><hr class="float" /><div class="float"
+<!--l. 150--><p class="noindent" ><a
+ id="x1-101002r3"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;9.3: </span><span
class="content"><span
-class="ectt-1000">src_prepare </span>support and behaviour for EAPIs</span></div><!--tex4ht:label?: x1-99002r3 -->
+class="ectt-1000">src_prepare </span>support and behaviour for EAPIs</span></div><!--tex4ht:label?: x1-101002r3 -->
<div class="tabular">
<table id="TBL-17" class="tabular"
cellspacing="0" cellpadding="0"
@@ -4225,34 +4238,34 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">9.1.6 </span> <a
- id="x1-1000009.1.6"></a>src_configure</h4>
-<!--l. 173--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">CONFIGURE</span></span></span> The <span
+ id="x1-1020009.1.6"></a>src_configure</h4>
+<!--l. 167--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">src-configure</span></span></span> The <span
class="ectt-1000">src_configure </span>function is only called for EAPIs listed in table&#x00A0;<a
-href="#x1-100002r4">9.4<!--tex4ht:ref: tab:src-configure-table --></a> as
+href="#x1-102002r4">9.4<!--tex4ht:ref: tab:src-configure-table --></a> as
supporting it.
-</p><!--l. 176--><p class="noindent" >The initial working directory is <span
+</p><!--l. 170--><p class="noindent" >The initial working directory is <span
class="ectt-1000">S</span>, with an error or fallback to <span
class="ectt-1000">WORKDIR </span>as discussed in
section&#x00A0;<a
-href="#x1-950009.1.1">9.1.1<!--tex4ht:ref: sec:s-to-workdir-fallback --></a>.
-</p><!--l. 179--><p class="noindent" >The <span
+href="#x1-970009.1.1">9.1.1<!--tex4ht:ref: sec:s-to-workdir-fallback --></a>.
+</p><!--l. 173--><p class="noindent" >The <span
class="ectt-1000">src_configure </span>function configures the package&#8217;s build environment. The default
implementation used when the ebuild lacks the <span
class="ectt-1000">src_configure </span>function shall behave
as:
-</p><!--l. 182--><p class="noindent" ><a
- id="x1-100001r3"></a></p><hr class="float" /><div class="float"
+</p><!--l. 176--><p class="noindent" ><a
+ id="x1-102001r3"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Listing 9.3: </span><span
-class="content">src_configure</span></div><!--tex4ht:label?: x1-100001r3 -->
+class="content"><span
+class="ectt-1000">src_configure</span></span></div><!--tex4ht:label?: x1-102001r3 -->
<div class="verbatim" id="verbatim-9">
@@ -4261,7 +4274,7 @@ src_configure()&#x00A0;{
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;econf
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;fi
&#x00A0;<br />}</div>
-<!--l. 190--><p class="nopar" >
+<!--l. 184--><p class="nopar" >
</p>
@@ -4269,15 +4282,15 @@ src_configure()&#x00A0;{
<div class="table">
-<!--l. 194--><p class="noindent" ><a
- id="x1-100002r4"></a></p><hr class="float" /><div class="float"
+<!--l. 188--><p class="noindent" ><a
+ id="x1-102002r4"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;9.4: </span><span
class="content">EAPIs supporting <span
-class="ectt-1000">src_configure</span></span></div><!--tex4ht:label?: x1-100002r4 -->
+class="ectt-1000">src_configure</span></span></div><!--tex4ht:label?: x1-102002r4 -->
<div class="tabular">
<table id="TBL-18" class="tabular"
cellspacing="0" cellpadding="0"
@@ -4308,36 +4321,35 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">9.1.7 </span> <a
- id="x1-1010009.1.7"></a>src_compile</h4>
-<!--l. 210--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">COMPILE</span></span></span> The <span
+ id="x1-1030009.1.7"></a>src_compile</h4>
+<!--l. 203--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">src-compile</span></span></span> The <span
class="ectt-1000">src_compile </span>function configures the package&#8217;s build environment in EAPIs
lacking <span
class="ectt-1000">src_configure</span>, and builds the package in all EAPIs.
-</p><!--l. 213--><p class="noindent" >The initial working directory is <span
+</p><!--l. 206--><p class="noindent" >The initial working directory is <span
class="ectt-1000">S</span>, with an error or fallback to <span
class="ectt-1000">WORKDIR </span>as discussed in
section&#x00A0;<a
-href="#x1-950009.1.1">9.1.1<!--tex4ht:ref: sec:s-to-workdir-fallback --></a>.
-</p><!--l. 216--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">COMPILE</span>-0</span></span> For EAPIs listed in table&#x00A0;<a
-href="#x1-101004r5">9.5<!--tex4ht:ref: tab:src-compile-table --></a> as using format 0, the default implementation used
+href="#x1-970009.1.1">9.1.1<!--tex4ht:ref: sec:s-to-workdir-fallback --></a>.
+</p><!--l. 209--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">src-compile-0</span></span></span> For EAPIs listed in table&#x00A0;<a
+href="#x1-103004r5">9.5<!--tex4ht:ref: tab:src-compile-table --></a> as using format 0, the default implementation used
when the ebuild lacks the <span
class="ectt-1000">src_compile </span>function shall behave as:
-</p><!--l. 220--><p class="noindent" ><a
- id="x1-101001r4"></a></p><hr class="float" /><div class="float"
+</p><!--l. 213--><p class="noindent" ><a
+ id="x1-103001r4"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Listing 9.4: </span><span
-class="content">src_compile, format&#x00A0;0</span></div><!--tex4ht:label?: x1-101001r4 -->
+class="content"><span
+class="ectt-1000">src_compile</span>, format&#x00A0;0</span></div><!--tex4ht:label?: x1-103001r4 -->
<div class="verbatim" id="verbatim-10">
@@ -4349,28 +4361,28 @@ src_compile()&#x00A0;{
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;emake&#x00A0;||&#x00A0;die&#x00A0;"emake&#x00A0;failed"
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;fi
&#x00A0;<br />}</div>
-<!--l. 231--><p class="nopar" >
+<!--l. 224--><p class="nopar" >
</p>
</div><hr class="endfloat" />
-<!--l. 234--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">COMPILE</span>-1</span></span> For EAPIs listed in table&#x00A0;<a
-href="#x1-101004r5">9.5<!--tex4ht:ref: tab:src-compile-table --></a> as using format 1, the default implementation used
+<!--l. 227--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">src-compile-1</span></span></span> For EAPIs listed in table&#x00A0;<a
+href="#x1-103004r5">9.5<!--tex4ht:ref: tab:src-compile-table --></a> as using format 1, the default implementation used
when the ebuild lacks the <span
class="ectt-1000">src_compile </span>function shall behave as:
-</p><!--l. 238--><p class="noindent" ><a
- id="x1-101002r5"></a></p><hr class="float" /><div class="float"
+</p><!--l. 231--><p class="noindent" ><a
+ id="x1-103002r5"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Listing 9.5: </span><span
-class="content">src_compile, format&#x00A0;1</span></div><!--tex4ht:label?: x1-101002r5 -->
+class="content"><span
+class="ectt-1000">src_compile</span>, format&#x00A0;1</span></div><!--tex4ht:label?: x1-103002r5 -->
<div class="verbatim" id="verbatim-11">
@@ -4382,28 +4394,28 @@ src_compile()&#x00A0;{
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;emake&#x00A0;||&#x00A0;die&#x00A0;"emake&#x00A0;failed"
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;fi
&#x00A0;<br />}</div>
-<!--l. 249--><p class="nopar" >
+<!--l. 242--><p class="nopar" >
</p>
</div><hr class="endfloat" />
-<!--l. 252--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">COMPILE</span>-2</span></span> For EAPIs listed in table&#x00A0;<a
-href="#x1-101004r5">9.5<!--tex4ht:ref: tab:src-compile-table --></a> as using format 2, the default implementation used
+<!--l. 245--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">src-compile-2</span></span></span> For EAPIs listed in table&#x00A0;<a
+href="#x1-103004r5">9.5<!--tex4ht:ref: tab:src-compile-table --></a> as using format 2, the default implementation used
when the ebuild lacks the <span
class="ectt-1000">src_compile </span>function shall behave as:
-</p><!--l. 256--><p class="noindent" ><a
- id="x1-101003r6"></a></p><hr class="float" /><div class="float"
+</p><!--l. 249--><p class="noindent" ><a
+ id="x1-103003r6"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Listing 9.6: </span><span
-class="content">src_compile, format&#x00A0;2</span></div><!--tex4ht:label?: x1-101003r6 -->
+class="content"><span
+class="ectt-1000">src_compile</span>, format&#x00A0;2</span></div><!--tex4ht:label?: x1-103003r6 -->
<div class="verbatim" id="verbatim-12">
@@ -4412,7 +4424,7 @@ src_compile()&#x00A0;{
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;emake&#x00A0;||&#x00A0;die&#x00A0;"emake&#x00A0;failed"
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;fi
&#x00A0;<br />}</div>
-<!--l. 264--><p class="nopar" >
+<!--l. 257--><p class="nopar" >
</p>
@@ -4420,15 +4432,15 @@ src_compile()&#x00A0;{
<div class="table">
-<!--l. 268--><p class="noindent" ><a
- id="x1-101004r5"></a></p><hr class="float" /><div class="float"
+<!--l. 261--><p class="noindent" ><a
+ id="x1-103004r5"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;9.5: </span><span
class="content"><span
-class="ectt-1000">src_compile </span>behaviour for EAPIs</span></div><!--tex4ht:label?: x1-101004r5 -->
+class="ectt-1000">src_compile </span>behaviour for EAPIs</span></div><!--tex4ht:label?: x1-103004r5 -->
<div class="tabular">
<table id="TBL-19" class="tabular"
cellspacing="0" cellpadding="0"
@@ -4461,11 +4473,11 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">9.1.8 </span> <a
- id="x1-1020009.1.8"></a>src_test</h4>
-<!--l. 285--><p class="noindent" >The <span
+ id="x1-1040009.1.8"></a>src_test</h4>
+<!--l. 277--><p class="noindent" >The <span
class="ectt-1000">src_test </span>function runs unit tests for the newly built but not yet installed package as
provided.
-</p><!--l. 288--><p class="noindent" >The initial working directory must be <span
+</p><!--l. 280--><p class="noindent" >The initial working directory must be <span
class="ectt-1000">S </span>if that exists, falling back to <span
class="ectt-1000">WORKDIR </span>otherwise. The
default implementation used when the ebuild lacks the <span
@@ -4476,32 +4488,31 @@ class="ectt-1000">emake test </span>if and
only if such a target is available. In both cases, if <span
class="ectt-1000">emake </span>returns non-zero the build must be
aborted.
-</p><!--l. 294--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">PARALLEL</span>-<span
-class="small-caps">TESTS</span></span></span> For EAPIs listed in table&#x00A0;<a
-href="#x1-102001r6">9.6<!--tex4ht:ref: tab:src-test-table --></a> as not supporting parallel tests, the <span
+</p><!--l. 286--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">parallel-tests</span></span></span> For EAPIs listed in table&#x00A0;<a
+href="#x1-104001r6">9.6<!--tex4ht:ref: tab:src-test-table --></a> as not supporting parallel tests, the <span
class="ectt-1000">emake</span>
command must be called with option <span
class="ectt-1000">-j1</span>.
-</p><!--l. 297--><p class="noindent" >The <span
+</p><!--l. 289--><p class="noindent" >The <span
class="ectt-1000">src_test </span>function may be disabled by <span
class="ectt-1000">RESTRICT</span>. See section&#x00A0;<a
-href="#x1-900008.2.8">8.2.8<!--tex4ht:ref: sec:restrict --></a>. It may be disabled by
+href="#x1-920008.2.8">8.2.8<!--tex4ht:ref: sec:restrict --></a>. It may be disabled by
user too, using a PM-specific mechanism.
</p>
<div class="table">
-<!--l. 301--><p class="noindent" ><a
- id="x1-102001r6"></a></p><hr class="float" /><div class="float"
+<!--l. 293--><p class="noindent" ><a
+ id="x1-104001r6"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;9.6: </span><span
class="content"><span
-class="ectt-1000">src_test </span>behaviour for EAPIs</span></div><!--tex4ht:label?: x1-102001r6 -->
+class="ectt-1000">src_test </span>behaviour for EAPIs</span></div><!--tex4ht:label?: x1-104001r6 -->
<div class="tabular">
<table id="TBL-20" class="tabular"
cellspacing="0" cellpadding="0"
@@ -4530,36 +4541,35 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">9.1.9 </span> <a
- id="x1-1030009.1.9"></a>src_install</h4>
-<!--l. 317--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">INSTALL</span></span></span> The <span
+ id="x1-1050009.1.9"></a>src_install</h4>
+<!--l. 308--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">src-install</span></span></span> The <span
class="ectt-1000">src_install </span>function installs the package&#8217;s content to a directory specified in
<span
class="ectt-1000">D</span>.
-</p><!--l. 320--><p class="noindent" >The initial working directory is <span
+</p><!--l. 311--><p class="noindent" >The initial working directory is <span
class="ectt-1000">S</span>, with an error or fallback to <span
class="ectt-1000">WORKDIR </span>as discussed in
section&#x00A0;<a
-href="#x1-950009.1.1">9.1.1<!--tex4ht:ref: sec:s-to-workdir-fallback --></a>.
-</p><!--l. 323--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">INSTALL</span>-4</span></span> For EAPIs listed in table&#x00A0;<a
-href="#x1-103003r7">9.7<!--tex4ht:ref: tab:src-install-table --></a> as using format 4, the default implementation used
+href="#x1-970009.1.1">9.1.1<!--tex4ht:ref: sec:s-to-workdir-fallback --></a>.
+</p><!--l. 314--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">src-install-4</span></span></span> For EAPIs listed in table&#x00A0;<a
+href="#x1-105003r7">9.7<!--tex4ht:ref: tab:src-install-table --></a> as using format 4, the default implementation used
when the ebuild lacks the <span
class="ectt-1000">src_install </span>function shall behave as:
-</p><!--l. 327--><p class="noindent" ><a
- id="x1-103001r7"></a></p><hr class="float" /><div class="float"
+</p><!--l. 318--><p class="noindent" ><a
+ id="x1-105001r7"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Listing 9.7: </span><span
-class="content">src_install, format&#x00A0;4</span></div><!--tex4ht:label?: x1-103001r7 -->
+class="content"><span
+class="ectt-1000">src_install</span>, format&#x00A0;4</span></div><!--tex4ht:label?: x1-105001r7 -->
<div class="verbatim" id="verbatim-13">
@@ -4580,28 +4590,28 @@ src_install()&#x00A0;{
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;dodoc&#x00A0;${DOCS}
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;fi
&#x00A0;<br />}</div>
-<!--l. 347--><p class="nopar" >
+<!--l. 338--><p class="nopar" >
</p>
</div><hr class="endfloat" />
-<!--l. 350--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">INSTALL</span>-6</span></span> For EAPIs listed in table&#x00A0;<a
-href="#x1-103003r7">9.7<!--tex4ht:ref: tab:src-install-table --></a> as using format 6, the default implementation used
+<!--l. 341--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">src-install-6</span></span></span> For EAPIs listed in table&#x00A0;<a
+href="#x1-105003r7">9.7<!--tex4ht:ref: tab:src-install-table --></a> as using format 6, the default implementation used
when the ebuild lacks the <span
class="ectt-1000">src_install </span>function shall behave as:
-</p><!--l. 354--><p class="noindent" ><a
- id="x1-103002r8"></a></p><hr class="float" /><div class="float"
+</p><!--l. 345--><p class="noindent" ><a
+ id="x1-105002r8"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Listing 9.8: </span><span
-class="content">src_install, format&#x00A0;6</span></div><!--tex4ht:label?: x1-103002r8 -->
+class="content"><span
+class="ectt-1000">src_install</span>, format&#x00A0;6</span></div><!--tex4ht:label?: x1-105002r8 -->
<div class="verbatim" id="verbatim-14">
@@ -4611,27 +4621,27 @@ src_install()&#x00A0;{
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;fi
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;einstalldocs
&#x00A0;<br />}</div>
-<!--l. 363--><p class="nopar" >
+<!--l. 354--><p class="nopar" >
</p>
</div><hr class="endfloat" />
-<!--l. 366--><p class="noindent" >For other EAPIs, the default implementation used when the ebuild lacks the <span
+<!--l. 357--><p class="noindent" >For other EAPIs, the default implementation used when the ebuild lacks the <span
class="ectt-1000">src_install </span>function
is a no-op.
</p>
<div class="table">
-<!--l. 370--><p class="noindent" ><a
- id="x1-103003r7"></a></p><hr class="float" /><div class="float"
+<!--l. 361--><p class="noindent" ><a
+ id="x1-105003r7"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;9.7: </span><span
class="content"><span
-class="ectt-1000">src_install </span>behaviour for EAPIs</span></div><!--tex4ht:label?: x1-103003r7 -->
+class="ectt-1000">src_install </span>behaviour for EAPIs</span></div><!--tex4ht:label?: x1-105003r7 -->
<div class="tabular">
<table id="TBL-21" class="tabular"
cellspacing="0" cellpadding="0"
@@ -4663,101 +4673,100 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">9.1.10 </span> <a
- id="x1-1040009.1.10"></a>pkg_preinst</h4>
-<!--l. 387--><p class="noindent" >The <span
+ id="x1-1060009.1.10"></a>pkg_preinst</h4>
+<!--l. 377--><p class="noindent" >The <span
class="ectt-1000">pkg_preinst </span>function performs any special tasks that are required immediately before
merging the package to the live filesystem. It must not write outside of the directories specified by
the <span
class="ectt-1000">ROOT </span>and <span
class="ectt-1000">D </span>environment variables.
-</p><!--l. 391--><p class="noindent" ><span
+</p><!--l. 381--><p class="noindent" ><span
class="ectt-1000">pkg_preinst </span>must be run with full access to all files and directories below that specified by the
<span
class="ectt-1000">ROOT </span>and <span
class="ectt-1000">D </span>environment variables.
-</p><!--l. 394--><p class="noindent" >
+</p><!--l. 384--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">9.1.11 </span> <a
- id="x1-1050009.1.11"></a>pkg_postinst</h4>
-<!--l. 397--><p class="noindent" >The <span
+ id="x1-1070009.1.11"></a>pkg_postinst</h4>
+<!--l. 386--><p class="noindent" >The <span
class="ectt-1000">pkg_postinst </span>function performs any special tasks that are required immediately after
merging the package to the live filesystem. It must not write outside of the directory specified in
the <span
class="ectt-1000">ROOT </span>environment variable.
-</p><!--l. 401--><p class="noindent" ><span
+</p><!--l. 390--><p class="noindent" ><span
class="ectt-1000">pkg_postinst</span>, like, <span
class="ectt-1000">pkg_preinst</span>, must be run with full access to all files and directories below
that specified by the <span
class="ectt-1000">ROOT </span>environment variable.
-</p><!--l. 404--><p class="noindent" >
+</p><!--l. 393--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">9.1.12 </span> <a
- id="x1-1060009.1.12"></a>pkg_prerm</h4>
-<!--l. 407--><p class="noindent" >The <span
+ id="x1-1080009.1.12"></a>pkg_prerm</h4>
+<!--l. 395--><p class="noindent" >The <span
class="ectt-1000">pkg_prerm </span>function performs any special tasks that are required immediately before
unmerging the package from the live filesystem. It must not write outside of the directory specified
by the <span
class="ectt-1000">ROOT </span>environment variable.
-</p><!--l. 411--><p class="noindent" ><span
+</p><!--l. 399--><p class="noindent" ><span
class="ectt-1000">pkg_prerm </span>must be run with full access to all files and directories below that specified by the <span
class="ectt-1000">ROOT</span>
environment variable.
-</p><!--l. 414--><p class="noindent" >
+</p><!--l. 402--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">9.1.13 </span> <a
- id="x1-1070009.1.13"></a>pkg_postrm</h4>
-<!--l. 417--><p class="noindent" >The <span
+ id="x1-1090009.1.13"></a>pkg_postrm</h4>
+<!--l. 404--><p class="noindent" >The <span
class="ectt-1000">pkg_postrm </span>function performs any special tasks that are required immediately after
unmerging the package from the live filesystem. It must not write outside of the directory specified
by the <span
class="ectt-1000">ROOT </span>environment variable.
-</p><!--l. 421--><p class="noindent" ><span
+</p><!--l. 408--><p class="noindent" ><span
class="ectt-1000">pkg_postrm </span>must be run with full access to all files and directories below that specified by the
<span
class="ectt-1000">ROOT </span>environment variable.
-</p><!--l. 424--><p class="noindent" >
+</p><!--l. 411--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">9.1.14 </span> <a
- id="x1-1080009.1.14"></a>pkg_config</h4>
-<!--l. 427--><p class="noindent" >The <span
+ id="x1-1100009.1.14"></a>pkg_config</h4>
+<!--l. 413--><p class="noindent" >The <span
class="ectt-1000">pkg_config </span>function performs any custom steps required to configure a package after it has
been fully installed. It is the only ebuild function which may be interactive and prompt for user
input.
-</p><!--l. 430--><p class="noindent" ><span
+</p><!--l. 416--><p class="noindent" ><span
class="ectt-1000">pkg_config </span>must be run with full access to all files and directories inside of <span
class="ectt-1000">ROOT</span>.
-</p><!--l. 432--><p class="noindent" >
+</p><!--l. 418--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">9.1.15 </span> <a
- id="x1-1090009.1.15"></a>pkg_info</h4>
-<!--l. 435--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">PKG</span>-<span
-class="small-caps">INFO</span></span></span> The <span
+ id="x1-1110009.1.15"></a>pkg_info</h4>
+<!--l. 420--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">pkg-info</span></span></span> The <span
class="ectt-1000">pkg_info </span>function may be called by the package manager when displaying
information about an installed package. In EAPIs listed in table&#x00A0;<a
-href="#x1-109001r8">9.8<!--tex4ht:ref: tab:pkg-info-table --></a> as supporting <span
+href="#x1-111001r8">9.8<!--tex4ht:ref: tab:pkg-info-table --></a> as supporting <span
class="ectt-1000">pkg_info </span>on
non-installed packages, it may also be called by the package manager when displaying information
about a non-installed package. In this case, ebuild authors should note that dependencies may not
be installed.
-</p><!--l. 441--><p class="noindent" ><span
+</p><!--l. 426--><p class="noindent" ><span
class="ectt-1000">pkg_info </span>must not write to the filesystem.
</p>
<div class="table">
-<!--l. 444--><p class="noindent" ><a
- id="x1-109001r8"></a></p><hr class="float" /><div class="float"
+<!--l. 429--><p class="noindent" ><a
+ id="x1-111001r8"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;9.8: </span><span
class="content">EAPIs supporting <span
-class="ectt-1000">pkg_info </span>on non-installed packages</span></div><!--tex4ht:label?: x1-109001r8 -->
+class="ectt-1000">pkg_info </span>on non-installed packages</span></div><!--tex4ht:label?: x1-111001r8 -->
<div class="tabular">
<table id="TBL-22" class="tabular"
cellspacing="0" cellpadding="0"
@@ -4788,25 +4797,22 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">9.1.16 </span> <a
- id="x1-1100009.1.16"></a>pkg_nofetch</h4>
-<!--l. 460--><p class="noindent" >The <span
+ id="x1-1120009.1.16"></a>pkg_nofetch</h4>
+<!--l. 444--><p class="noindent" >The <span
class="ectt-1000">pkg_nofetch </span>function is run when the fetch phase of an fetch-restricted ebuild is run,
and the relevant source files are not available. It should direct the user to download all
relevant source files from their respective locations, with notes concerning licensing if
applicable.
-</p><!--l. 464--><p class="noindent" ><span
+</p><!--l. 448--><p class="noindent" ><span
class="ectt-1000">pkg_nofetch </span>must require no write access to any part of the filesystem.
-</p><!--l. 466--><p class="noindent" >
+</p><!--l. 450--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">9.1.17 </span> <a
- id="x1-1110009.1.17"></a><span
-class="ectt-1000">default_ </span>Phase Functions</h4>
-<!--l. 469--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">DEFAULT</span>-<span
-class="small-caps">PHASE</span>-<span
-class="small-caps">FUNCS</span></span></span> In EAPIs listed in table&#x00A0;<a
-href="#x1-111001r9">9.9<!--tex4ht:ref: tab:default-phase-function-table --></a> as supporting <span
+ id="x1-1130009.1.17"></a>Default phase functions</h4>
+<!--l. 453--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">default-phase-funcs</span></span></span> In EAPIs listed in table&#x00A0;<a
+href="#x1-113001r9">9.9<!--tex4ht:ref: tab:default-phase-function-table --></a> as supporting <span
class="ectt-1000">default_ </span>phase functions, a
function named <span
class="ectt-1000">default_</span>(phase) that behaves as the default implementation for that EAPI shall
@@ -4816,15 +4822,15 @@ functions except when in the phase in question.
<div class="table">
-<!--l. 476--><p class="noindent" ><a
- id="x1-111001r9"></a></p><hr class="float" /><div class="float"
+<!--l. 460--><p class="noindent" ><a
+ id="x1-113001r9"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;9.9: </span><span
class="content">EAPIs supporting <span
-class="ectt-1000">default_ </span>phase functions</span></div><!--tex4ht:label?: x1-111001r9 -->
+class="ectt-1000">default_ </span>phase functions</span></div><!--tex4ht:label?: x1-113001r9 -->
<div class="tabular">
<table id="TBL-23" class="tabular"
cellspacing="0" cellpadding="0"
@@ -4841,11 +4847,11 @@ class="ecbx-1000">functions in phases</span></div>
</td></tr><tr
style="vertical-align:baseline;" id="TBL-23-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-2-1"
class="td11"> 0, 1 </td><td style="white-space:wrap; text-align:left;" id="TBL-23-2-2"
-class="td11"> <!--l. 483--><p class="noindent" >None </p></td>
+class="td11"> <!--l. 467--><p class="noindent" >None </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-23-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-3-1"
class="td11"> 2, 3 </td><td style="white-space:wrap; text-align:left;" id="TBL-23-3-2"
-class="td11"> <!--l. 484--><p class="noindent" ><span
+class="td11"> <!--l. 468--><p class="noindent" ><span
class="ectt-1000">pkg_nofetch</span>,
<span
class="ectt-1000">src_unpack</span>,
@@ -4860,7 +4866,7 @@ class="ectt-1000">src_test</span> </p>
</tr><tr
style="vertical-align:baseline;" id="TBL-23-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-23-4-1"
class="td11"> 4, 5, 6 </td><td style="white-space:wrap; text-align:left;" id="TBL-23-4-2"
-class="td11"> <!--l. 486--><p class="noindent" ><span
+class="td11"> <!--l. 470--><p class="noindent" ><span
class="ectt-1000">pkg_nofetch</span>,
<span
class="ectt-1000">src_unpack</span>,
@@ -4883,13 +4889,13 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h3 class="sectionHead"><span class="titlemark">9.2 </span> <a
- id="x1-1120009.2"></a>Call Order</h3>
-<!--l. 494--><p class="noindent" >The call order for installing a package is:
-</p><!--l. 497--><p class="noindent" >
+ id="x1-1140009.2"></a>Call Order</h3>
+<!--l. 478--><p class="noindent" >The call order for installing a package is:
+</p><!--l. 481--><p class="noindent" >
</p><ul>
<li class="compactitem"><span
class="ectt-1000">pkg_pretend </span>(only for EAPIs listed in table&#x00A0;<a
-href="#x1-96001r2">9.2<!--tex4ht:ref: tab:pkg-pretend-table --></a>), which is called outside of the normal
+href="#x1-98001r2">9.2<!--tex4ht:ref: tab:pkg-pretend-table --></a>), which is called outside of the normal
call order process.
</li>
<li class="compactitem"><span
@@ -4900,11 +4906,11 @@ class="ectt-1000">src_unpack</span>
</li>
<li class="compactitem"><span
class="ectt-1000">src_prepare </span>(only for EAPIs listed in table&#x00A0;<a
-href="#x1-99002r3">9.3<!--tex4ht:ref: tab:src-prepare-table --></a>)
+href="#x1-101002r3">9.3<!--tex4ht:ref: tab:src-prepare-table --></a>)
</li>
<li class="compactitem"><span
class="ectt-1000">src_configure </span>(only for EAPIs listed in table&#x00A0;<a
-href="#x1-100002r4">9.4<!--tex4ht:ref: tab:src-configure-table --></a>)
+href="#x1-102002r4">9.4<!--tex4ht:ref: tab:src-configure-table --></a>)
</li>
<li class="compactitem"><span
class="ectt-1000">src_compile</span>
@@ -4921,20 +4927,20 @@ class="ectt-1000">pkg_preinst</span>
</li>
<li class="compactitem"><span
class="ectt-1000">pkg_postinst</span></li></ul>
-<!--l. 510--><p class="noindent" >The call order for uninstalling a package is:
-</p><!--l. 513--><p class="noindent" >
+<!--l. 494--><p class="noindent" >The call order for uninstalling a package is:
+</p><!--l. 497--><p class="noindent" >
</p><ul>
<li class="compactitem"><span
class="ectt-1000">pkg_prerm</span>
</li>
<li class="compactitem"><span
class="ectt-1000">pkg_postrm</span></li></ul>
-<!--l. 517--><p class="noindent" >The call order for upgrading, downgrading or reinstalling a package is:
-</p><!--l. 520--><p class="noindent" >
+<!--l. 501--><p class="noindent" >The call order for upgrading, downgrading or reinstalling a package is:
+</p><!--l. 504--><p class="noindent" >
</p><ul>
<li class="compactitem"><span
class="ectt-1000">pkg_pretend </span>(only for EAPIs listed in table&#x00A0;<a
-href="#x1-96001r2">9.2<!--tex4ht:ref: tab:pkg-pretend-table --></a>), which is called outside of the normal
+href="#x1-98001r2">9.2<!--tex4ht:ref: tab:pkg-pretend-table --></a>), which is called outside of the normal
call order process.
</li>
<li class="compactitem"><span
@@ -4945,11 +4951,11 @@ class="ectt-1000">src_unpack</span>
</li>
<li class="compactitem"><span
class="ectt-1000">src_prepare </span>(only for EAPIs listed in table&#x00A0;<a
-href="#x1-99002r3">9.3<!--tex4ht:ref: tab:src-prepare-table --></a>)
+href="#x1-101002r3">9.3<!--tex4ht:ref: tab:src-prepare-table --></a>)
</li>
<li class="compactitem"><span
class="ectt-1000">src_configure </span>(only for EAPIs listed in table&#x00A0;<a
-href="#x1-100002r4">9.4<!--tex4ht:ref: tab:src-configure-table --></a>)
+href="#x1-102002r4">9.4<!--tex4ht:ref: tab:src-configure-table --></a>)
</li>
<li class="compactitem"><span
class="ectt-1000">src_compile</span>
@@ -4974,23 +4980,23 @@ class="ectt-1000">pkg_postrm </span>for the package being replaced
</li>
<li class="compactitem"><span
class="ectt-1000">pkg_postinst</span></li></ul>
-<!--l. 535--><p class="noindent" >Note: When up- or downgrading a package in EAPI 0 or 1, the last four phase functions can
+<!--l. 519--><p class="noindent" >Note: When up- or downgrading a package in EAPI 0 or 1, the last four phase functions can
alternatively be called in the order <span
class="ectt-1000">pkg_preinst</span>, <span
class="ectt-1000">pkg_postinst</span>, <span
class="ectt-1000">pkg_prerm</span>, <span
class="ectt-1000">pkg_postrm</span>. This
behaviour is deprecated.
-</p><!--l. 539--><p class="noindent" >The <span
+</p><!--l. 523--><p class="noindent" >The <span
class="ectt-1000">pkg_config</span>, <span
class="ectt-1000">pkg_info </span>and <span
class="ectt-1000">pkg_nofetch </span>functions are not called in a normal sequence. The
<span
class="ectt-1000">pkg_pretend </span>function is called some unspecified time before a (possibly hypothetical) normal
sequence.
-</p><!--l. 543--><p class="noindent" >For installing binary packages, the <span
+</p><!--l. 527--><p class="noindent" >For installing binary packages, the <span
class="ectt-1000">src </span>phases are not called.
-</p><!--l. 545--><p class="noindent" >When building binary packages that are not to be installed locally, the <span
+</p><!--l. 529--><p class="noindent" >When building binary packages that are not to be installed locally, the <span
class="ectt-1000">pkg_preinst </span>and
<span
class="ectt-1000">pkg_postinst </span>functions are not called.
@@ -5002,7 +5008,7 @@ class="ectt-1000">pkg_postinst </span>functions are not called.
</p>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;10</span><br /><a
- id="x1-11300010"></a>Eclasses</h2>
+ id="x1-11500010"></a>Eclasses</h2>
<!--l. 4--><p class="noindent" >Eclasses serve to store common code that is used by more than one ebuild, which greatly aids
maintainability and reduces the tree size. However, due to metadata cache issues, care must be
taken in their use. In format they are similar to an ebuild, and indeed are sourced as part of any
@@ -5010,7 +5016,7 @@ ebuild using them. The interpreter is therefore the same, and the same requireme
parseable hold.
</p><!--l. 10--><p class="noindent" >Eclasses must be located in the <span
class="ectt-1000">eclass </span>directory in the top level of the repository&#8212;see section&#x00A0;<a
-href="#x1-410004.6">4.6<!--tex4ht:ref: sec:eclass-dir --></a>.
+href="#x1-430004.6">4.6<!--tex4ht:ref: sec:eclass-dir --></a>.
Each eclass is a single file named <span
class="ectt-1000">&#x003C;name&#x003E;.eclass</span>, where <span
class="ectt-1000">&#x003C;name&#x003E; </span>is the name of this eclass, used by
@@ -5019,7 +5025,7 @@ class="ectt-1000">inherit </span>and <span
class="ectt-1000">EXPORT_FUNCTIONS </span>among other places.
</p>
<h3 class="sectionHead"><span class="titlemark">10.1 </span> <a
- id="x1-11400010.1"></a>The inherit command</h3>
+ id="x1-11600010.1"></a>The inherit Command</h3>
<!--l. 17--><p class="noindent" >An ebuild wishing to make use of an eclass does so by using the <span
class="ectt-1000">inherit </span>command in global scope.
This will cause the eclass to be sourced as part of the ebuild&#8212;any function or variable definitions
@@ -5044,7 +5050,7 @@ class="ectt-1000">INHERITED </span>metadata variable contains the name
<!--l. 35--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">10.2 </span> <a
- id="x1-11500010.2"></a>Eclass-defined Metadata Keys</h3>
+ id="x1-11700010.2"></a>Eclass-defined Metadata Keys</h3>
<!--l. 37--><p class="noindent" >The <span
class="ectt-1000">IUSE</span>, <span
class="ectt-1000">REQUIRED_USE</span>, <span
@@ -5057,11 +5063,11 @@ that defined by the ebuild. In the case of <span
class="ectt-1000">RDEPEND</span>, this is done after the implicit <span
class="ectt-1000">RDEPEND </span>rules in
section&#x00A0;<a
-href="#x1-700007.3.3">7.3.3<!--tex4ht:ref: sec:rdepend-depend --></a> are applied.
+href="#x1-720007.3.3">7.3.3<!--tex4ht:ref: sec:rdepend-depend --></a> are applied.
</p><!--l. 43--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">10.3 </span> <a
- id="x1-11600010.3"></a>EXPORT_FUNCTIONS</h3>
+ id="x1-11800010.3"></a>EXPORT_FUNCTIONS</h3>
<!--l. 45--><p class="noindent" >There is one command available in the eclass environment that is neither available nor meaningful
in ebuilds&#8212;<span
class="ectt-1000">EXPORT_FUNCTIONS</span>. This can be used to alias ebuild phase functions from the eclass so
@@ -5070,18 +5076,20 @@ eclass-defined version from it. The use of it is best illustrated by an example;
listing&#x00A0;<a
-href="#x1-116001r1">10.1<!--tex4ht:ref: lst:export-functions --></a> and is a snippet from a hypothetical <span
+href="#x1-118001r1">10.1<!--tex4ht:ref: lst:export-functions --></a> and is a snippet from a hypothetical <span
class="ectt-1000">foo.eclass</span>.
</p><!--l. 52--><p class="noindent" ><a
- id="x1-116001r1"></a></p><hr class="float" /><div class="float"
+ id="x1-118001r1"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Listing 10.1: </span><span
-class="content">EXPORT_FUNCTIONS example: foo.eclass</span></div><!--tex4ht:label?: x1-116001r1 -->
+class="content"><span
+class="ectt-1000">EXPORT_FUNCTIONS </span>example: <span
+class="ectt-1000">foo.eclass</span></span></div><!--tex4ht:label?: x1-118001r1 -->
<div class="verbatim" id="verbatim-15">
@@ -5123,16 +5131,16 @@ eclass.
</p>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;11</span><br /><a
- id="x1-11700011"></a>The Ebuild Environment</h2>
+ id="x1-11900011"></a>The Ebuild Environment</h2>
<h3 class="sectionHead"><span class="titlemark">11.1 </span> <a
- id="x1-11800011.1"></a>Defined Variables</h3>
+ id="x1-12000011.1"></a>Defined Variables</h3>
<!--l. 4--><p class="noindent" >The package manager must define the following environment variables. Not all variables are
meaningful in all phases; variables that are not meaningful in a given phase may be unset or set to
any value. Ebuilds must not attempt to modify any of these variables, unless otherwise
specified.
</p><!--l. 8--><p class="noindent" >Because of their special meanings, these variables may not be preserved consistently across all
phases as would normally happen due to environment saving (see&#x00A0;<a
-href="#x1-12200011.2">11.2<!--tex4ht:ref: sec:ebuild-env-state --></a>). For example,
+href="#x1-12400011.2">11.2<!--tex4ht:ref: sec:ebuild-env-state --></a>). For example,
<span
class="ectt-1000">EBUILD_PHASE </span>is different for every phase, and <span
class="ectt-1000">ROOT </span>may have changed between the various
@@ -5142,7 +5150,7 @@ variable.
<a
- id="x1-118001r1"></a>
+ id="x1-120001r1"></a>
</p><!--l. 22--><div class="longtable"> <table id="TBL-24" class="longtable"
cellspacing="0" cellpadding="0"
><colgroup id="TBL-24-1g"><col
@@ -5154,8 +5162,8 @@ id="TBL-24-4" /></colgroup>
style="vertical-align:baseline;" id="TBL-24-1-"><td colspan="4" style="white-space:nowrap; text-align:center;" id="TBL-24-1-1"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"> <div class="caption"
><span class="id">Table&#x00A0;11.1: </span><span
-class="content">Defined variables</span></div><!--tex4ht:label?: x1-118001r1 --> </div> <a
- id="x1-118002"></a>
+class="content">Defined variables</span></div><!--tex4ht:label?: x1-120001r1 --> </div> <a
+ id="x1-120002"></a>
</td></tr><tr
style="vertical-align:baseline;" id="TBL-24-2-"><td colspan="4" style="white-space:nowrap; text-align:left;" id="TBL-24-2-1"
class="td11"><!--cmidrule-->
@@ -5188,78 +5196,80 @@ class="td11">
<!--l. 42--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-18-3"
class="td11"> No<span class="footnote-mark"><a
href="#fn2x12" id="fn2x12-bk"><sup class="textsuperscript">2</sup></a></span><a
- id="x1-118003f2"></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-24-18-4"
+ id="x1-120003f2"></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-24-18-4"
class="td11">
<!--l. 44--><p class="noindent" >Package name and version, without the revision part. For example, <span
class="ectt-1000">vim-7.0.174</span>. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-19-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-19-1"
class="td11"> <span
-class="ectt-1000">PN </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-19-2"
+class="ectt-1000">PF </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-19-2"
class="td11">
<!--l. 46--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-19-3"
class="td11"> Ditto </td><td style="white-space:wrap; text-align:left;" id="TBL-24-19-4"
class="td11">
- <!--l. 48--><p class="noindent" >Package name, for example <span
-class="ectt-1000">vim</span>. </p></td>
+ <!--l. 48--><p class="noindent" >Package name, version, and revision (if any), for example <span
+class="ectt-1000">vim-7.0.174-r1</span>. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-20-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-20-1"
class="td11"> <span
-class="ectt-1000">CATEGORY </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-20-2"
+class="ectt-1000">PN </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-20-2"
class="td11">
<!--l. 50--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-20-3"
class="td11"> Ditto </td><td style="white-space:wrap; text-align:left;" id="TBL-24-20-4"
class="td11">
- <!--l. 52--><p class="noindent" >The package&#8217;s category, for example <span
-class="ectt-1000">app-editors</span>. </p></td>
+ <!--l. 52--><p class="noindent" >Package name, for example <span
+class="ectt-1000">vim</span>. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-21-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-21-1"
class="td11"> <span
-class="ectt-1000">PV </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-21-2"
+class="ectt-1000">CATEGORY </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-21-2"
class="td11">
<!--l. 54--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-21-3"
-class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-21-4"
+class="td11"> Ditto </td><td style="white-space:wrap; text-align:left;" id="TBL-24-21-4"
class="td11">
- <!--l. 56--><p class="noindent" >Package version, with no revision. For example <span
-class="ectt-1000">7.0.174</span>. </p></td>
+ <!--l. 56--><p class="noindent" >The package&#8217;s category, for example <span
+class="ectt-1000">app-editors</span>. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-22-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-22-1"
class="td11"> <span
-class="ectt-1000">PR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-22-2"
+class="ectt-1000">PV </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-22-2"
class="td11">
<!--l. 58--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-22-3"
class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-22-4"
class="td11">
- <!--l. 60--><p class="noindent" >Package revision, or <span
-class="ectt-1000">r0 </span>if none exists. </p></td>
+ <!--l. 60--><p class="noindent" >Package version, with no revision. For example <span
+class="ectt-1000">7.0.174</span>. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-23-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-23-1"
class="td11"> <span
-class="ectt-1000">PVR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-23-2"
+class="ectt-1000">PR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-23-2"
class="td11">
<!--l. 62--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-23-3"
class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-23-4"
class="td11">
- <!--l. 64--><p class="noindent" >Package version and revision (if any), for example <span
-class="ectt-1000">7.0.174 </span>or <span
-class="ectt-1000">7.0.174-r1</span>. </p></td>
+ <!--l. 64--><p class="noindent" >Package revision, or <span
+class="ectt-1000">r0 </span>if none exists. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-24-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-24-1"
class="td11"> <span
-class="ectt-1000">PF </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-24-2"
+class="ectt-1000">PVR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-24-2"
class="td11">
<!--l. 66--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-24-3"
class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-24-4"
class="td11">
- <!--l. 68--><p class="noindent" >Package name, version, and revision (if any), for example <span
-class="ectt-1000">vim-7.0.174-r1</span>. </p></td>
+ <!--l. 68--><p class="noindent" >Package version and revision (if any), for example <span
+class="ectt-1000">7.0.174 </span>or <span
+class="ectt-1000">7.0.174-r1</span>. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-25-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-25-1"
class="td11"> <span
class="ectt-1000">A </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-25-2"
class="td11">
<!--l. 70--><p class="noindent" ><span
-class="ectt-1000">src_*</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-25-3"
+class="ectt-1000">src_*</span>,
+ <span
+class="ectt-1000">pkg_nofetch</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-25-3"
class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-25-4"
class="td11">
<!--l. 72--><p class="noindent" >All source files available for the package, whitespace separated with no leading or
@@ -5274,21 +5284,20 @@ class="ectt-1000">SRC_URI </span>ebuild metadata variable.
class="td11"> <span
class="ectt-1000">AA</span><span class="footnote-mark"><a
href="#fn3x12" id="fn3x12-bk"><sup class="textsuperscript">3</sup></a></span><a
- id="x1-118004f3"></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-24-26-2"
+ id="x1-120004f3"></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-24-26-2"
class="td11">
- <!--l. 80--><p class="noindent" ><span
-class="ectt-1000">src_*</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-26-3"
+ <!--l. 80--><p class="noindent" >Ditto </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-26-3"
class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-26-4"
class="td11">
<!--l. 82--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">AA</span></span></span> All source files that could be available for the package, including any that are
+class="eccc1000-"><span
+class="small-caps">aa</span></span></span> All source files that could be available for the package, including any that are
disabled in <span
class="ectt-1000">A </span>because of USE conditionals. The value is calculated from the base
names of each element of the <span
class="ectt-1000">SRC_URI </span>ebuild metadata variable. Only for EAPIs
listed in table&#x00A0;<a
-href="#x1-118008r3">11.3<!--tex4ht:ref: tab:removed-env-vars-table --></a> as supporting <span
+href="#x1-120008r3">11.3<!--tex4ht:ref: tab:removed-env-vars-table --></a> as supporting <span
class="ectt-1000">AA</span>. </p></td>
@@ -5299,55 +5308,87 @@ class="td11"> <span
class="ectt-1000">FILESDIR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-27-2"
class="td11">
<!--l. 87--><p class="noindent" ><span
-class="ectt-1000">src_*</span><span class="footnote-mark"><a
-href="#fn4x12" id="fn4x12-bk"><sup class="textsuperscript">4</sup></a></span> <a
- id="x1-118005f4"></a> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-27-3"
-class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-27-4"
-class="td11">
- <!--l. 89--><p class="noindent" >The full path to the package&#8217;s files directory, used for small support files or
- patches. See section&#x00A0;<a
-href="#x1-340004.3">4.3<!--tex4ht:ref: sec:package-dirs --></a>. May or may not exist; if a repository provides no support
- files for the package in question then an ebuild must be prepared for the situation
- where <span
-class="ectt-1000">FILESDIR </span>points to a non-existent directory. </p></td>
+class="ectt-1000">src_*</span>,
+ global&#x00A0;scope<span class="footnote-mark"><a
+href="#fn4x12" id="fn4x12-bk"><sup class="textsuperscript">4</sup></a></span> <a
+ id="x1-120005f4"></a> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-27-3"
+class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-27-4"
+class="td11">
+ <!--l. 90--><p class="noindent" >The full path to a directory where the files from the package&#8217;s files directory
+ (used for small support files or patches) are available. See section&#x00A0;<a
+href="#x1-360004.3">4.3<!--tex4ht:ref: sec:package-dirs --></a>. May or
+ may not exist; if a repository provides no support files for the package in question
+ then an ebuild must be prepared for the situation where <span
+class="ectt-1000">FILESDIR </span>points to a
+ non-existent directory. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-28-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-28-1"
class="td11"> <span
-class="ectt-1000">PORTDIR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-28-2"
+class="ectt-1000">DISTDIR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-28-2"
class="td11">
- <!--l. 94--><p class="noindent" >Ditto </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-28-3"
-class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-28-4"
+ <!--l. 95--><p class="noindent" >Ditto </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-28-3"
+class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-28-4"
class="td11">
- <!--l. 96--><p class="noindent" >The full path to the master repository&#8217;s base directory. </p></td>
+ <!--l. 97--><p class="noindent" >The full path to the directory in which the files in the <span
+class="ectt-1000">A </span>variable are stored. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-29-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-29-1"
class="td11"> <span
-class="ectt-1000">DISTDIR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-29-2"
+class="ectt-1000">WORKDIR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-29-2"
class="td11">
- <!--l. 98--><p class="noindent" >Ditto </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-29-3"
-class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-29-4"
+ <!--l. 99--><p class="noindent" >Ditto </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-29-3"
+class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-29-4"
class="td11">
- <!--l. 100--><p class="noindent" >The full path to the directory in which the files in the <span
-class="ectt-1000">A </span>variable are stored. </p></td>
+ <!--l. 101--><p class="noindent" >The full path to the ebuild&#8217;s working directory, where all build data should be
+ contained. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-30-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-30-1"
class="td11"> <span
-class="ectt-1000">ECLASSDIR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-30-2"
+class="ectt-1000">S </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-30-2"
class="td11">
- <!--l. 102--><p class="noindent" >Ditto </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-30-3"
-class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-30-4"
+ <!--l. 104--><p class="noindent" ><span
+class="ectt-1000">src_*</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-30-3"
+class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-30-4"
class="td11">
- <!--l. 104--><p class="noindent" >The full path to the master repository&#8217;s eclass directory. </p></td>
+ <!--l. 106--><p class="noindent" >The full path to the temporary build directory, used by <span
+class="ectt-1000">src_compile</span>,
+ <span
+class="ectt-1000">src_install </span>etc. Defaults to <span
+class="ectt-1000">${WORKDIR}/${P}</span>. May be modified by ebuilds. If
+ <span
+class="ectt-1000">S </span>is assigned in the global scope of an ebuild, then the restrictions of section&#x00A0;<a
+href="#x1-12400011.2">11.2<!--tex4ht:ref: sec:ebuild-env-state --></a>
+ for global variables apply. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-31-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-31-1"
class="td11"> <span
-class="ectt-1000">ROOT </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-31-2"
+class="ectt-1000">PORTDIR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-31-2"
class="td11">
- <!--l. 106--><p class="noindent" ><span
-class="ectt-1000">pkg_*</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-31-3"
+ <!--l. 111--><p class="noindent" ><span
+class="ectt-1000">src_*</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-31-3"
class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-31-4"
class="td11">
- <!--l. 108--><p class="noindent" >The absolute path to the root directory into which the package is to be merged.
+ <!--l. 113--><p class="noindent" >The full path to the master repository&#8217;s base directory. </p></td>
+ </tr><tr
+ style="vertical-align:baseline;" id="TBL-24-32-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-32-1"
+class="td11"> <span
+class="ectt-1000">ECLASSDIR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-32-2"
+class="td11">
+ <!--l. 115--><p class="noindent" ><span
+class="ectt-1000">src_*</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-32-3"
+class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-32-4"
+class="td11">
+ <!--l. 117--><p class="noindent" >The full path to the master repository&#8217;s eclass directory. </p></td>
+ </tr><tr
+ style="vertical-align:baseline;" id="TBL-24-33-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-33-1"
+class="td11"> <span
+class="ectt-1000">ROOT </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-33-2"
+class="td11">
+ <!--l. 119--><p class="noindent" ><span
+class="ectt-1000">pkg_*</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-33-3"
+class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-33-4"
+class="td11">
+ <!--l. 121--><p class="noindent" >The absolute path to the root directory into which the package is to be merged.
Phases which run with full filesystem access must not touch any files outside of
the directory given in <span
class="ectt-1000">ROOT</span>. Also of note is that in a cross-compiling environment,
@@ -5356,64 +5397,67 @@ class="ectt-1000">ROOT </span>will not be executable on the build machine, so eb
must not call them. <span
class="ectt-1000">ROOT </span>must be non-empty and end in a trailing slash. </p></td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-24-32-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-32-1"
+ style="vertical-align:baseline;" id="TBL-24-34-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-34-1"
class="td11"> <span
-class="ectt-1000">EROOT </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-32-2"
+class="ectt-1000">EROOT </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-34-2"
class="td11">
- <!--l. 114--><p class="noindent" ><span
-class="ectt-1000">pkg_*</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-32-3"
-class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-32-4"
+ <!--l. 127--><p class="noindent" ><span
+class="ectt-1000">pkg_*</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-34-3"
+class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-34-4"
class="td11">
- <!--l. 116--><p class="noindent" >Contains the path <span
+ <!--l. 129--><p class="noindent" >Contains the path <span
class="ectt-1000">${ROOT%/}${EPREFIX}/ </span>for convenience. See also the <span
class="ectt-1000">EPREFIX</span>
variable. Only for EAPIs listed in table&#x00A0;<a
-href="#x1-118009r4">11.4<!--tex4ht:ref: tab:offset-env-vars-table --></a> as supporting <span
+href="#x1-120009r4">11.4<!--tex4ht:ref: tab:offset-env-vars-table --></a> as supporting <span
class="ectt-1000">EROOT</span>. </p></td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-24-33-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-33-1"
+ style="vertical-align:baseline;" id="TBL-24-35-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-35-1"
class="td11"> <span
-class="ectt-1000">T </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-33-2"
+class="ectt-1000">T </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-35-2"
class="td11">
- <!--l. 120--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-33-3"
+ <!--l. 133--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-35-3"
class="td11"> Partially<span class="footnote-mark"><a
href="#fn5x12" id="fn5x12-bk"><sup class="textsuperscript">5</sup></a></span><a
- id="x1-118006f5"></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-24-33-4"
+ id="x1-120006f5"></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-24-35-4"
class="td11">
- <!--l. 124--><p class="noindent" >The full path to a temporary directory for use by the ebuild. </p></td>
- </tr><tr
- style="vertical-align:baseline;" id="TBL-24-34-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-34-1"
+ <!--l. 137--><p class="noindent" >The full path to a temporary directory for use by the ebuild. </p></td>
+
+
+
+ </tr><tr
+ style="vertical-align:baseline;" id="TBL-24-36-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-36-1"
class="td11"> <span
-class="ectt-1000">TMPDIR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-34-2"
+class="ectt-1000">TMPDIR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-36-2"
class="td11">
- <!--l. 126--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-34-3"
-class="td11"> Ditto </td><td style="white-space:wrap; text-align:left;" id="TBL-24-34-4"
+ <!--l. 139--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-36-3"
+class="td11"> Ditto </td><td style="white-space:wrap; text-align:left;" id="TBL-24-36-4"
class="td11">
- <!--l. 128--><p class="noindent" >Must be set to the location of a usable temporary directory, for any applications
+ <!--l. 141--><p class="noindent" >Must be set to the location of a usable temporary directory, for any applications
called by an ebuild. Must not be used by ebuilds directly; see <span
class="ectt-1000">T </span>above. </p></td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-24-35-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-35-1"
+ style="vertical-align:baseline;" id="TBL-24-37-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-37-1"
class="td11"> <span
-class="ectt-1000">HOME </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-35-2"
+class="ectt-1000">HOME </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-37-2"
class="td11">
- <!--l. 131--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-35-3"
-class="td11"> Ditto </td><td style="white-space:wrap; text-align:left;" id="TBL-24-35-4"
+ <!--l. 144--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-37-3"
+class="td11"> Ditto </td><td style="white-space:wrap; text-align:left;" id="TBL-24-37-4"
class="td11">
- <!--l. 133--><p class="noindent" >The full path to an appropriate temporary directory for use by any programs
+ <!--l. 146--><p class="noindent" >The full path to an appropriate temporary directory for use by any programs
invoked by the ebuild that may read or modify the home directory. </p></td>
-
-
-
- </tr><tr
- style="vertical-align:baseline;" id="TBL-24-36-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-36-1"
+ </tr><tr
+ style="vertical-align:baseline;" id="TBL-24-38-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-38-1"
+class="td11"> </td></tr>
+ <tr
+ style="vertical-align:baseline;" id="TBL-24-39-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-39-1"
class="td11"> <span
-class="ectt-1000">EPREFIX </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-36-2"
+class="ectt-1000">EPREFIX </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-39-2"
class="td11">
- <!--l. 136--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-36-3"
-class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-36-4"
+ <!--l. 149--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-39-3"
+class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-39-4"
class="td11">
- <!--l. 138--><p class="noindent" >The normalised offset-prefix path of an offset installation. When <span
+ <!--l. 151--><p class="noindent" >The normalised offset-prefix path of an offset installation. When <span
class="ectt-1000">EPREFIX </span>is not
set in the calling environment, <span
class="ectt-1000">EPREFIX </span>defaults to the built-in offset-prefix that
@@ -5424,102 +5468,102 @@ class="ectt-1000">EPREFIX</span>
<span
class="ectt-1000">EPREFIX</span>, akin to <span
class="ectt-1000">ROOT</span>. See also&#x00A0;<a
-href="#x1-12100011.1.3">11.1.3<!--tex4ht:ref: sec:offset-vars --></a>. Only for EAPIs listed in table&#x00A0;<a
-href="#x1-118009r4">11.4<!--tex4ht:ref: tab:offset-env-vars-table --></a> as
+href="#x1-12300011.1.3">11.1.3<!--tex4ht:ref: sec:offset-vars --></a>. Only for EAPIs listed in table&#x00A0;<a
+href="#x1-120009r4">11.4<!--tex4ht:ref: tab:offset-env-vars-table --></a> as
supporting <span
class="ectt-1000">EPREFIX</span>. </p></td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-24-37-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-37-1"
+ style="vertical-align:baseline;" id="TBL-24-40-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-40-1"
class="td11"> <span
-class="ectt-1000">D </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-37-2"
+class="ectt-1000">D </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-40-2"
class="td11">
- <!--l. 146--><p class="noindent" ><span
-class="ectt-1000">src_install</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-37-3"
-class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-37-4"
+ <!--l. 159--><p class="noindent" ><span
+class="ectt-1000">src_install</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-40-3"
+class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-40-4"
class="td11">
- <!--l. 148--><p class="noindent" >Contains the full path to the image directory into which the package should be
+ <!--l. 161--><p class="noindent" >Contains the full path to the image directory into which the package should be
installed. Must be non-empty and end in a trailing slash. </p></td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-24-38-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-38-1"
-class="td11"> </td></tr>
- <tr
- style="vertical-align:baseline;" id="TBL-24-39-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-39-1"
+ style="vertical-align:baseline;" id="TBL-24-41-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-41-1"
class="td11"> <span
-class="ectt-1000">D </span>(continued) </td><td style="white-space:wrap; text-align:left;" id="TBL-24-39-2"
+class="ectt-1000">D </span>(continued) </td><td style="white-space:wrap; text-align:left;" id="TBL-24-41-2"
class="td11">
- <!--l. 151--><p class="noindent" ><span
+ <!--l. 164--><p class="noindent" ><span
class="ectt-1000">pkg_preinst</span>,
<span
-class="ectt-1000">pkg_postinst</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-39-3"
-class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-39-4"
+class="ectt-1000">pkg_postinst</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-41-3"
+class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-41-4"
class="td11">
- <!--l. 153--><p class="noindent" >Contains the full path to the image that is about to be or has just been merged.
+ <!--l. 166--><p class="noindent" >Contains the full path to the image that is about to be or has just been merged.
Must be non-empty and end in a trailing slash. </p></td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-24-40-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-40-1"
+ style="vertical-align:baseline;" id="TBL-24-42-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-42-1"
class="td11"> <span
-class="ectt-1000">ED </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-40-2"
+class="ectt-1000">ED </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-42-2"
class="td11">
- <!--l. 156--><p class="noindent" ><span
+ <!--l. 169--><p class="noindent" ><span
class="ectt-1000">src_install</span>,
<span
class="ectt-1000">pkg_preinst</span>,
<span
-class="ectt-1000">pkg_postinst</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-40-3"
+class="ectt-1000">pkg_postinst</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-42-3"
class="td11"> See <span
-class="ectt-1000">D </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-40-4"
+class="ectt-1000">D </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-42-4"
class="td11">
- <!--l. 158--><p class="noindent" >Contains the path <span
+ <!--l. 171--><p class="noindent" >Contains the path <span
class="ectt-1000">${D%/}${EPREFIX}/ </span>for convenience. See also the <span
class="ectt-1000">EPREFIX</span>
variable. Only for EAPIs listed in table&#x00A0;<a
-href="#x1-118009r4">11.4<!--tex4ht:ref: tab:offset-env-vars-table --></a> as supporting <span
+href="#x1-120009r4">11.4<!--tex4ht:ref: tab:offset-env-vars-table --></a> as supporting <span
class="ectt-1000">ED</span>. </p></td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-24-41-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-41-1"
+ style="vertical-align:baseline;" id="TBL-24-43-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-43-1"
class="td11"> <span
-class="ectt-1000">DESTTREE </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-41-2"
+class="ectt-1000">DESTTREE </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-43-2"
class="td11">
- <!--l. 162--><p class="noindent" ><span
-class="ectt-1000">src_install</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-41-3"
-class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-41-4"
+ <!--l. 175--><p class="noindent" ><span
+class="ectt-1000">src_install</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-43-3"
+class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-43-4"
class="td11">
- <!--l. 164--><p class="noindent" >Controls the location where <span
+ <!--l. 177--><p class="noindent" >Controls the location where <span
class="ectt-1000">dobin</span>, <span
class="ectt-1000">dolib</span>, <span
class="ectt-1000">domo</span>, and <span
class="ectt-1000">dosbin </span>install things. </p></td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-24-42-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-42-1"
+ style="vertical-align:baseline;" id="TBL-24-44-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-44-1"
class="td11"> <span
-class="ectt-1000">INSDESTTREE </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-42-2"
+class="ectt-1000">INSDESTTREE </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-44-2"
class="td11">
- <!--l. 166--><p class="noindent" ><span
-class="ectt-1000">src_install</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-42-3"
-class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-42-4"
+ <!--l. 179--><p class="noindent" ><span
+class="ectt-1000">src_install</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-44-3"
+class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-44-4"
class="td11">
- <!--l. 168--><p class="noindent" >Controls the location where <span
+ <!--l. 181--><p class="noindent" >Controls the location where <span
class="ectt-1000">doins </span>installs things. </p></td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-24-43-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-43-1"
+ style="vertical-align:baseline;" id="TBL-24-45-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-45-1"
class="td11"> <span
-class="ectt-1000">USE </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-43-2"
+class="ectt-1000">USE </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-45-2"
class="td11">
- <!--l. 170--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-43-3"
-class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-43-4"
+ <!--l. 183--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-45-3"
+class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-45-4"
class="td11">
- <!--l. 172--><p class="noindent" >A whitespace-delimited list of all active USE flags for this ebuild. See
+ <!--l. 185--><p class="noindent" >A whitespace-delimited list of all active USE flags for this ebuild. See
section&#x00A0;<a
-href="#x1-11900011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a> for details. </p></td>
- </tr><tr
- style="vertical-align:baseline;" id="TBL-24-44-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-44-1"
+href="#x1-12100011.1.1">11.1.1<!--tex4ht:ref: sec:use-iuse-handling --></a> for details. </p></td>
+
+
+
+ </tr><tr
+ style="vertical-align:baseline;" id="TBL-24-46-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-46-1"
class="td11"> <span
-class="ectt-1000">EBUILD_PHASE </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-44-2"
+class="ectt-1000">EBUILD_PHASE </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-46-2"
class="td11">
- <!--l. 175--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-44-3"
-class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-44-4"
+ <!--l. 188--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-46-3"
+class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-46-4"
class="td11">
- <!--l. 177--><p class="noindent" >Takes one of the values <span
+ <!--l. 190--><p class="noindent" >Takes one of the values <span
class="ectt-1000">config</span>, <span
class="ectt-1000">setup</span>, <span
class="ectt-1000">nofetch</span>, <span
@@ -5539,132 +5583,94 @@ class="ectt-1000">pretend</span>
according to the top level ebuild function that was executed by the package
manager. May be unset or any single word that is not any of the above when the
ebuild is being sourced for other (e. g.&#x00A0;metadata or QA) purposes. </p></td>
-
-
-
- </tr><tr
- style="vertical-align:baseline;" id="TBL-24-45-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-45-1"
+ </tr><tr
+ style="vertical-align:baseline;" id="TBL-24-47-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-47-1"
class="td11"> <span
-class="ectt-1000">EBUILD_PHASE_FUNC </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-45-2"
+class="ectt-1000">EBUILD_PHASE_FUNC </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-47-2"
class="td11">
- <!--l. 183--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-45-3"
-class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-45-4"
-class="td11">
- <!--l. 185--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">EBUILD</span>-<span
-class="small-caps">PHASE</span>-<span
-class="small-caps">FUNC</span></span></span> Takes one of the values <span
-class="ectt-1000">pkg_config</span>, <span
-class="ectt-1000">pkg_setup</span>, <span
-class="ectt-1000">pkg_</span>
- <span
-class="ectt-1000">nofetch</span>, <span
-class="ectt-1000">src_unpack</span>, <span
-class="ectt-1000">src_prepare</span>, <span
-class="ectt-1000">src_configure</span>, <span
-class="ectt-1000">src_compile</span>, <span
-class="ectt-1000">src_test</span>,
+ <!--l. 196--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-47-3"
+class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-47-4"
+class="td11">
+ <!--l. 198--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">ebuild-phase-func</span></span></span> Takes one of the values <span
+class="ectt-1000">pkg_config</span>, <span
+class="ectt-1000">pkg_setup</span>,
+ <span
+class="ectt-1000">pkg_nofetch</span>, <span
+class="ectt-1000">src_unpack</span>, <span
+class="ectt-1000">src_prepare</span>, <span
+class="ectt-1000">src_configure</span>, <span
+class="ectt-1000">src_compile</span>,
<span
+class="ectt-1000">src_test</span>, <span
class="ectt-1000">src_install</span>, <span
class="ectt-1000">pkg_preinst</span>, <span
class="ectt-1000">pkg_postinst</span>, <span
class="ectt-1000">pkg_prerm</span>, <span
-class="ectt-1000">pkg_postrm</span>, <span
-class="ectt-1000">pkg_info</span>,
+class="ectt-1000">pkg_postrm</span>,
<span
-class="ectt-1000">pkg_pretend </span>according to the top level ebuild function that was executed by the
- package manager. May be unset or any single word that is not any of the above
- when the ebuild is being sourced for other (e. g.&#x00A0;metadata or QA) purposes. Only
- for EAPIs listed in table&#x00A0;<a
-href="#x1-118007r2">11.2<!--tex4ht:ref: tab:added-env-vars-table --></a> as supporting <span
-class="ectt-1000">EBUILD_PHASE_FUNC</span>. </p></td>
- </tr><tr
- style="vertical-align:baseline;" id="TBL-24-46-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-46-1"
-class="td11"> <span
-class="ectt-1000">WORKDIR </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-46-2"
-class="td11">
- <!--l. 193--><p class="noindent" ><span
-class="ectt-1000">src_*</span>,
- global&#x00A0;scope </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-46-3"
-class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-46-4"
-class="td11">
- <!--l. 195--><p class="noindent" >The full path to the ebuild&#8217;s working directory, in which all build data should be
- contained. </p></td>
- </tr><tr
- style="vertical-align:baseline;" id="TBL-24-47-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-47-1"
-class="td11"> <span
-class="ectt-1000">S </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-47-2"
-class="td11">
- <!--l. 198--><p class="noindent" ><span
-class="ectt-1000">src_*</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-47-3"
-class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-47-4"
-class="td11">
- <!--l. 200--><p class="noindent" >The full path to the temporary build directory, used by <span
-class="ectt-1000">src_compile</span>, <span
-class="ectt-1000">src_</span>
- <span
-class="ectt-1000">install </span>etc. Defaults to <span
-class="ectt-1000">${WORKDIR}/${P}</span>. May be modified by ebuilds. If <span
-class="ectt-1000">S </span>is
- assigned in the global scope of an ebuild, then the restrictions of section&#x00A0;<a
-href="#x1-12200011.2">11.2<!--tex4ht:ref: sec:ebuild-env-state --></a> for
- global variables apply. </p></td>
+class="ectt-1000">pkg_info</span>, <span
+class="ectt-1000">pkg_pretend </span>according to the top level ebuild function that was
+ executed by the package manager. May be unset or any single word that is not any
+ of the above when the ebuild is being sourced for other (e. g.&#x00A0;metadata or QA)
+ purposes. Only for EAPIs listed in table&#x00A0;<a
+href="#x1-120007r2">11.2<!--tex4ht:ref: tab:added-env-vars-table --></a> as supporting <span
+class="ectt-1000">EBUILD_PHASE_FUNC</span>. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-48-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-48-1"
class="td11"> <span
class="ectt-1000">KV </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-48-2"
class="td11">
- <!--l. 205--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-48-3"
+ <!--l. 206--><p class="noindent" >All </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-48-3"
class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-48-4"
class="td11">
- <!--l. 207--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">KV</span></span></span> The version of the running kernel at the time the ebuild was first executed, as
+ <!--l. 208--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">kv</span></span></span> The version of the running kernel at the time the ebuild was first executed, as
returned by the <span
class="ectt-1000">uname&#x00A0;-r </span>command or equivalent. May be modified by ebuilds.
Only for EAPIs listed in table&#x00A0;<a
-href="#x1-118008r3">11.3<!--tex4ht:ref: tab:removed-env-vars-table --></a> as supporting <span
+href="#x1-120008r3">11.3<!--tex4ht:ref: tab:removed-env-vars-table --></a> as supporting <span
class="ectt-1000">KV</span>. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-49-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-49-1"
class="td11"> <span
class="ectt-1000">MERGE_TYPE </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-49-2"
class="td11">
- <!--l. 211--><p class="noindent" ><span
+ <!--l. 212--><p class="noindent" ><span
class="ectt-1000">pkg_*</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-49-3"
class="td11"> No </td><td style="white-space:wrap; text-align:left;" id="TBL-24-49-4"
class="td11">
- <!--l. 213--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">MERGE</span>-<span
-class="small-caps">TYPE</span></span></span> The type of package that is being merged. Possible values are:
+ <!--l. 214--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">merge-type</span></span></span> The type of package that is being merged. Possible values are:
<span
class="ectt-1000">source </span>if building and installing a package from source, <span
class="ectt-1000">binary </span>if installing a
binary package, and <span
class="ectt-1000">buildonly </span>if building a binary package without installing
it. Only for EAPIs listed in table&#x00A0;<a
-href="#x1-118007r2">11.2<!--tex4ht:ref: tab:added-env-vars-table --></a> as supporting <span
+href="#x1-120007r2">11.2<!--tex4ht:ref: tab:added-env-vars-table --></a> as supporting <span
class="ectt-1000">MERGE_TYPE</span>. </p></td>
</tr><tr
style="vertical-align:baseline;" id="TBL-24-50-"><td style="white-space:nowrap; text-align:left;" id="TBL-24-50-1"
class="td11"> <span
class="ectt-1000">REPLACING_VERSIONS </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-50-2"
class="td11">
- <!--l. 218--><p class="noindent" ><span
+ <!--l. 219--><p class="noindent" ><span
class="ectt-1000">pkg_*</span>
(see
text) </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-50-3"
class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-50-4"
class="td11">
- <!--l. 220--><p class="noindent" >A whitespace-separated list of versions of this package (including revision, if
- specified) that are being replaced (uninstalled or overwritten) as a result of this
- install. See section&#x00A0;<a
-href="#x1-12000011.1.2">11.1.2<!--tex4ht:ref: sec:replacing-versions --></a>. Only for EAPIs listed in table&#x00A0;<a
-href="#x1-118007r2">11.2<!--tex4ht:ref: tab:added-env-vars-table --></a> as supporting
- <span
-class="ectt-1000">REPLACING_VERSIONS</span>. </p></td>
+ <!--l. 221--><p class="noindent" >A list of all versions of this package (including revision, if specified), whitespace
+ separated with no leading or trailing whitespace, that are being replaced
+ (uninstalled or overwritten) as a result of this install. See section&#x00A0;<a
+href="#x1-12200011.1.2">11.1.2<!--tex4ht:ref: sec:replacing-versions --></a>. Only
+ for EAPIs listed in table&#x00A0;<a
+href="#x1-120007r2">11.2<!--tex4ht:ref: tab:added-env-vars-table --></a> as supporting <span
+class="ectt-1000">REPLACING_VERSIONS</span>. </p></td>
@@ -5673,17 +5679,17 @@ class="ectt-1000">REPLACING_VERSIONS</span>.
class="td11"> <span
class="ectt-1000">REPLACED_BY_VERSION </span></td><td style="white-space:wrap; text-align:left;" id="TBL-24-51-2"
class="td11">
- <!--l. 225--><p class="noindent" ><span
+ <!--l. 226--><p class="noindent" ><span
class="ectt-1000">pkg_prerm</span>,
<span
class="ectt-1000">pkg_postrm</span> </p></td><td style="white-space:nowrap; text-align:left;" id="TBL-24-51-3"
class="td11"> Yes </td><td style="white-space:wrap; text-align:left;" id="TBL-24-51-4"
class="td11">
- <!--l. 227--><p class="noindent" >The single version of this package (including revision, if specified) that is
+ <!--l. 228--><p class="noindent" >The single version of this package (including revision, if specified) that is
replacing us, if we are being uninstalled as part of an install, or an empty string
otherwise. See section&#x00A0;<a
-href="#x1-12000011.1.2">11.1.2<!--tex4ht:ref: sec:replacing-versions --></a>. Only for EAPIs listed in table&#x00A0;<a
-href="#x1-118007r2">11.2<!--tex4ht:ref: tab:added-env-vars-table --></a> as supporting
+href="#x1-12200011.1.2">11.1.2<!--tex4ht:ref: sec:replacing-versions --></a>. Only for EAPIs listed in table&#x00A0;<a
+href="#x1-120007r2">11.2<!--tex4ht:ref: tab:added-env-vars-table --></a> as supporting
<span
class="ectt-1000">REPLACED_BY_VERSION</span>. </p></td>
</tr><tr
@@ -5712,14 +5718,14 @@ class="td11"> </td></tr>
<div class="table">
-<!--l. 235--><p class="noindent" ><a
- id="x1-118007r2"></a></p><hr class="float" /><div class="float"
+<!--l. 236--><p class="noindent" ><a
+ id="x1-120007r2"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.2: </span><span
-class="content">EAPIs supporting various added env variables</span></div><!--tex4ht:label?: x1-118007r2 -->
+class="content">EAPIs supporting various added env variables</span></div><!--tex4ht:label?: x1-120007r2 -->
<div class="tabular">
<table id="TBL-25" class="tabular"
cellspacing="0" cellpadding="0"
@@ -5776,14 +5782,14 @@ class="td11"> </td></tr></table></div>
<div class="table">
-<!--l. 253--><p class="noindent" ><a
- id="x1-118008r3"></a></p><hr class="float" /><div class="float"
+<!--l. 254--><p class="noindent" ><a
+ id="x1-120008r3"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.3: </span><span
-class="content">EAPIs supporting various removed env variables</span></div><!--tex4ht:label?: x1-118008r3 -->
+class="content">EAPIs supporting various removed env variables</span></div><!--tex4ht:label?: x1-120008r3 -->
<div class="tabular">
<table id="TBL-26" class="tabular"
cellspacing="0" cellpadding="0"
@@ -5821,14 +5827,14 @@ class="td11"> </td></tr></table></div>
<div class="table">
-<!--l. 268--><p class="noindent" ><a
- id="x1-118009r4"></a></p><hr class="float" /><div class="float"
+<!--l. 269--><p class="noindent" ><a
+ id="x1-120009r4"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.4: </span><span
-class="content">EAPIs supporting offset-prefix env variables</span></div><!--tex4ht:label?: x1-118009r4 -->
+class="content">EAPIs supporting offset-prefix env variables</span></div><!--tex4ht:label?: x1-120009r4 -->
<div class="tabular">
<table id="TBL-27" class="tabular"
cellspacing="0" cellpadding="0"
@@ -5869,7 +5875,7 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
-<!--l. 283--><p class="noindent" >Except where otherwise noted, all variables set in the active profiles&#8217; <span
+<!--l. 284--><p class="noindent" >Except where otherwise noted, all variables set in the active profiles&#8217; <span
class="ectt-1000">make.defaults </span>files must be
exported to the ebuild environment. <span
class="ectt-1000">CHOST</span>, <span
@@ -5877,11 +5883,11 @@ class="ectt-1000">CBUILD </span>and <span
class="ectt-1000">CTARGET</span>, if not set by profiles, must
contain either an appropriate machine tuple (the definition of appropriate is beyond the scope of
this specification) or be unset.
-</p><!--l. 288--><p class="noindent" ><span
+</p><!--l. 289--><p class="noindent" ><span
class="ectt-1000">PATH </span>must be initialized by the package manager to a &#8220;usable&#8221; default. The exact value here is left
up to interpretation, but it should include the equivalent &#8220;sbin&#8221; and &#8220;bin&#8221; and any package
manager specific directories.
-</p><!--l. 292--><p class="noindent" ><span
+</p><!--l. 293--><p class="noindent" ><span
class="ectt-1000">GZIP</span>, <span
class="ectt-1000">BZIP</span>, <span
class="ectt-1000">BZIP2</span>, <span
@@ -5890,28 +5896,27 @@ class="ectt-1000">GREP_OPTIONS</span>, <span
class="ectt-1000">GREP_COLOR </span>and <span
class="ectt-1000">GLOBIGNORE </span>must not be
set.
-</p><!--l. 295--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">LOCALE</span>-<span
-class="small-caps">SETTINGS</span></span></span> The package manager must ensure that the <span
+</p><!--l. 296--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">locale-settings</span></span></span> The package manager must ensure that the <span
class="ectt-1000">LC_CTYPE </span>and <span
class="ectt-1000">LC_COLLATE</span>
locale categories are equivalent to the POSIX locale, as far as characters in the ASCII
range (U+0000 to U+007F) are concerned. Only for EAPIs listed in such a manner in
table&#x00A0;<a
-href="#x1-118010r5">11.5<!--tex4ht:ref: tab:locale-settings --></a>.
+href="#x1-120010r5">11.5<!--tex4ht:ref: tab:locale-settings --></a>.
</p>
<div class="table">
-<!--l. 301--><p class="noindent" ><a
- id="x1-118010r5"></a></p><hr class="float" /><div class="float"
+<!--l. 302--><p class="noindent" ><a
+ id="x1-120010r5"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.5: </span><span
-class="content">Locale settings for EAPIs</span></div><!--tex4ht:label?: x1-118010r5 -->
+class="content">Locale settings for EAPIs</span></div><!--tex4ht:label?: x1-120010r5 -->
<div class="tabular">
<table id="TBL-28" class="tabular"
cellspacing="0" cellpadding="0"
@@ -5943,8 +5948,8 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">11.1.1 </span> <a
- id="x1-11900011.1.1"></a>USE and IUSE Handling</h4>
-<!--l. 317--><p class="nopar" >This section discusses the handling of four variables:
+ id="x1-12100011.1.1"></a>USE and IUSE handling</h4>
+<!--l. 318--><p class="nopar" >This section discusses the handling of four variables:
</p><dl class="description"><dt class="description">
<span
class="ecbx-1000">IUSE</span> </dt><dd
@@ -5962,24 +5967,23 @@ class="ectt-1000">IUSE_REFERENCEABLE </span>may legally be used in queries
</dd><dt class="description">
<span
class="ecbx-1000">IUSE_EFFECTIVE</span> </dt><dd
-class="description">is another conceptual, unexported variable. Values in <span
-class="ectt-1000">IUSE_</span>
- <span
-class="ectt-1000">EFFECTIVE </span>are those which an ebuild may legally use in queries about itself (for
- example, for the <span
-class="ectt-1000">use </span>function, and for use in dependency specification conditional
- blocks).
+class="description">is another
+ conceptual, unexported variable. Values in <span
+class="ectt-1000">IUSE_EFFECTIVE </span>are those which an ebuild
+ may legally use in queries about itself (for example, for the <span
+class="ectt-1000">use </span>function, and for use
+ in dependency specification conditional blocks).
</dd><dt class="description">
<span
class="ecbx-1000">USE</span> </dt><dd
class="description">is a variable calculated by the package manager and exported to the ebuild
environment.</dd></dl>
-<!--l. 331--><p class="noindent" >In all cases, the values of <span
+<!--l. 332--><p class="noindent" >In all cases, the values of <span
class="ectt-1000">IUSE_REFERENCEABLE </span>and <span
class="ectt-1000">IUSE_EFFECTIVE </span>are undefined during
metadata generation.
-</p><!--l. 334--><p class="noindent" >For EAPIs listed in table&#x00A0;<a
-href="#x1-60001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as not supporting profile defined <span
+</p><!--l. 335--><p class="noindent" >For EAPIs listed in table&#x00A0;<a
+href="#x1-62001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as not supporting profile defined <span
class="ectt-1000">IUSE </span>injection, <span
class="ectt-1000">IUSE_REFERENCEABLE </span>is
equal to the calculated <span
@@ -5988,12 +5992,12 @@ class="ectt-1000">IUSE </span>injection is supported,
<span
class="ectt-1000">IUSE_REFERENCEABLE </span>is equal to <span
class="ectt-1000">IUSE_EFFECTIVE</span>.
-</p><!--l. 339--><p class="noindent" >For EAPIs listed in table&#x00A0;<a
-href="#x1-60001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as not supporting profile defined <span
+</p><!--l. 340--><p class="noindent" >For EAPIs listed in table&#x00A0;<a
+href="#x1-62001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as not supporting profile defined <span
class="ectt-1000">IUSE </span>injection, <span
class="ectt-1000">IUSE_EFFECTIVE</span>
contains the following values:
-</p><!--l. 343--><p class="noindent" >
+</p><!--l. 344--><p class="noindent" >
</p><ul>
<li class="compactitem">All values in the calculated <span
class="ectt-1000">IUSE </span>value.
@@ -6004,16 +6008,14 @@ class="ectt-1000">ARCH </span>variable.
<li class="compactitem">All legal use flag names whose name starts with the lowercase equivalent of any value
in the profile <span
class="ectt-1000">USE_EXPAND </span>variable followed by an underscore.</li></ul>
-<!--l. 349--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">PROFILE</span>-<span
-class="small-caps">IUSE</span>-<span
-class="small-caps">INJECT</span></span></span> For EAPIs listed in table&#x00A0;<a
-href="#x1-60001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as supporting profile defined <span
+<!--l. 350--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">profile-iuse-inject</span></span></span> For EAPIs listed in table&#x00A0;<a
+href="#x1-62001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as supporting profile defined <span
class="ectt-1000">IUSE </span>injection,
<span
class="ectt-1000">IUSE_EFFECTIVE </span>contains the following values:
-</p><!--l. 353--><p class="noindent" >
+</p><!--l. 354--><p class="noindent" >
</p><ul>
<li class="compactitem">All values in the calculated <span
class="ectt-1000">IUSE </span>value.
@@ -6023,12 +6025,11 @@ class="ectt-1000">IUSE_IMPLICIT </span>variable.
</li>
<li class="compactitem">All values in the profile variable named <span
class="ectt-1000">USE_EXPAND_VALUES_${v}</span>, where <span
-class="ectt-1000">${v} </span>is
- any value in the intersection of the profile <span
-class="ectt-1000">USE_EXPAND_UNPREFIXED </span>and <span
-class="ectt-1000">USE_EXPAND_</span>
+class="ectt-1000">${v}</span>
+ is any value in the intersection of the profile <span
+class="ectt-1000">USE_EXPAND_UNPREFIXED </span>and
<span
-class="ectt-1000">IMPLICIT </span>variables.
+class="ectt-1000">USE_EXPAND_IMPLICIT </span>variables.
</li>
@@ -6044,43 +6045,39 @@ class="ectt-1000">USE_EXPAND_IMPLICIT </span>variables and <span
class="ectt-1000">${lower_v} </span>is the lowercase
equivalent of <span
class="ectt-1000">${v}</span>.</li></ul>
-<!--l. 364--><p class="noindent" >The <span
+<!--l. 365--><p class="noindent" >The <span
class="ectt-1000">USE </span>variable is set by the package manager. For each value in <span
class="ectt-1000">IUSE_EFFECTIVE</span>, <span
class="ectt-1000">USE </span>shall
contain that value if the flag is to be enabled for the ebuild in question, and shall not contain
that value if it is to be disabled. In EAPIs listed in table&#x00A0;<a
-href="#x1-60001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as not supporting profile
+href="#x1-62001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as not supporting profile
defined <span
class="ectt-1000">IUSE </span>injection, <span
class="ectt-1000">USE </span>may contain other flag names that are not relevant for the
ebuild.
-</p><!--l. 370--><p class="noindent" >For EAPIs listed in table&#x00A0;<a
-href="#x1-60001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as supporting profile defined <span
+</p><!--l. 371--><p class="noindent" >For EAPIs listed in table&#x00A0;<a
+href="#x1-62001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as supporting profile defined <span
class="ectt-1000">IUSE </span>injection, the variables named in
<span
class="ectt-1000">USE_EXPAND </span>and <span
class="ectt-1000">USE_EXPAND_UNPREFIXED </span>shall have their profile-provided values reduced to
contain only those values that are present in <span
class="ectt-1000">IUSE_EFFECTIVE</span>.
-</p><!--l. 375--><p class="noindent" >For EAPIs listed in table&#x00A0;<a
-href="#x1-60001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as supporting profile defined <span
+</p><!--l. 376--><p class="noindent" >For EAPIs listed in table&#x00A0;<a
+href="#x1-62001r2">5.2<!--tex4ht:ref: tab:profile-iuse-injection-table --></a> as supporting profile defined <span
class="ectt-1000">IUSE </span>injection, the package manager
must save the calculated value of <span
class="ectt-1000">IUSE_EFFECTIVE </span>when installing a package. Details are beyond
the scope of this specification.
-</p><!--l. 379--><p class="nopar" >
+</p><!--l. 380--><p class="nopar" >
</p>
<h4 class="subsectionHead"><span class="titlemark">11.1.2 </span> <a
- id="x1-12000011.1.2"></a><span
-class="ectt-1000">REPLACING_VERSIONS </span>and <span
-class="ectt-1000">REPLACED_BY_VERSION</span></h4>
-<!--l. 382--><p class="nopar" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">REPLACE</span>-<span
-class="small-caps">VERSION</span>-<span
-class="small-caps">VARS</span></span></span> In EAPIs listed in table&#x00A0;<a
-href="#x1-118007r2">11.2<!--tex4ht:ref: tab:added-env-vars-table --></a> as supporting it, the <span
+ id="x1-12200011.1.2"></a>REPLACING_VERSIONS and REPLACED_BY_VERSION</h4>
+<!--l. 383--><p class="nopar" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">replace-version-vars</span></span></span> In EAPIs listed in table&#x00A0;<a
+href="#x1-120007r2">11.2<!--tex4ht:ref: tab:added-env-vars-table --></a> as supporting it, the <span
class="ectt-1000">REPLACING_VERSIONS</span>
variable shall be defined in <span
class="ectt-1000">pkg_preinst </span>and <span
@@ -6090,36 +6087,33 @@ class="ecti-1000">may </span>be defined in
class="ectt-1000">pkg_pretend </span>and <span
class="ectt-1000">pkg_setup</span>, although ebuild authors should take care to handle binary package
creation and installation correctly when using it in these phases.
-</p><!--l. 388--><p class="noindent" ><span
+</p><!--l. 389--><p class="noindent" ><span
class="ectt-1000">REPLACING_VERSIONS </span>is a list, not a single optional value, to handle pathological cases such as
installing <span
class="ectt-1000">foo-2:2 </span>to replace <span
class="ectt-1000">foo-2:1 </span>and <span
class="ectt-1000">foo-3:2</span>.
-</p><!--l. 391--><p class="noindent" >In EAPIs listed in table&#x00A0;<a
-href="#x1-118007r2">11.2<!--tex4ht:ref: tab:added-env-vars-table --></a> as supporting it, the <span
+</p><!--l. 392--><p class="noindent" >In EAPIs listed in table&#x00A0;<a
+href="#x1-120007r2">11.2<!--tex4ht:ref: tab:added-env-vars-table --></a> as supporting it, the <span
class="ectt-1000">REPLACED_BY_VERSION </span>variable shall be defined
in <span
class="ectt-1000">pkg_prerm </span>and <span
class="ectt-1000">pkg_postrm</span>. It shall contain at most one value.
-</p><!--l. 395--><p class="nopar" >
+</p><!--l. 396--><p class="nopar" >
</p>
<h4 class="subsectionHead"><span class="titlemark">11.1.3 </span> <a
- id="x1-12100011.1.3"></a>Offset-prefix variables <span
-class="ectt-1000">EPREFIX</span>, <span
-class="ectt-1000">EROOT </span>and <span
-class="ectt-1000">ED</span></h4>
+ id="x1-12300011.1.3"></a>Offset-prefix variables</h4>
<div class="table">
-<!--l. 399--><p class="noindent" ><a
- id="x1-121001r6"></a></p><hr class="float" /><div class="float"
+<!--l. 400--><p class="noindent" ><a
+ id="x1-123001r6"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.6: </span><span
-class="content">EAPIs supporting offset-prefix</span></div><!--tex4ht:label?: x1-121001r6 -->
+class="content">EAPIs supporting offset-prefix</span></div><!--tex4ht:label?: x1-123001r6 -->
<div class="tabular">
<table id="TBL-29" class="tabular"
cellspacing="0" cellpadding="0"
@@ -6147,12 +6141,10 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
-<!--l. 412--><p class="nopar" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">OFFSET</span>-<span
-class="small-caps">PREFIX</span>-<span
-class="small-caps">VARS</span></span></span> Table&#x00A0;<a
-href="#x1-121001r6">11.6<!--tex4ht:ref: tab:offset-support-table --></a> lists the EAPIs which support offset-prefix installations. This
+<!--l. 413--><p class="nopar" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">offset-prefix-vars</span></span></span> Table&#x00A0;<a
+href="#x1-123001r6">11.6<!--tex4ht:ref: tab:offset-support-table --></a> lists the EAPIs which support offset-prefix installations. This
support was initially added in EAPI 3, in the form of three extra variables. Two of these, <span
class="ectt-1000">EROOT</span>
and <span
@@ -6171,13 +6163,13 @@ class="ectt-1000">EROOT </span>properly
set, though.
</p>
<h3 class="sectionHead"><span class="titlemark">11.2 </span> <a
- id="x1-12200011.2"></a>The state of variables between functions</h3>
+ id="x1-12400011.2"></a>The State of Variables Between Functions</h3>
<!--l. 4--><p class="nopar" >Exported and default scope variables are saved between functions. A non-local variable set in a
function earlier in the call sequence must have its value preserved for later functions, including
functions executed as part of a later uninstall.
</p>
<!--l. 8--><p class="nopar" ><span class="paragraphHead"><a
- id="x1-12300011.2"></a><span
+ id="x1-12500011.2"></a><span
class="ecbx-1000">Note:</span></span>
<span
class="ectt-1000">pkg_pretend </span>is <span
@@ -6187,21 +6179,21 @@ saving.
visibility may retain default visibility or be exported.
</p><!--l. 14--><p class="noindent" >Variables with special meanings to the package manager are excluded from this rule.
</p><!--l. 16--><p class="noindent" >Global variables must only contain invariant values (see&#x00A0;<a
-href="#x1-650007.1">7.1<!--tex4ht:ref: sec:metadata-invariance --></a>). If a global variable&#8217;s value is
+href="#x1-670007.1">7.1<!--tex4ht:ref: sec:metadata-invariance --></a>). If a global variable&#8217;s value is
invariant, it may have the value that would be generated at any given point in the build
sequence.
</p><!--l. 20--><p class="noindent" >This is demonstrated by code listing&#x00A0;<a
-href="#x1-123001r1">11.1<!--tex4ht:ref: lst:env-saving --></a>.
+href="#x1-125001r1">11.1<!--tex4ht:ref: lst:env-saving --></a>.
</p><!--l. 23--><p class="noindent" ><a
- id="x1-123001r1"></a></p><hr class="float" /><div class="float"
+ id="x1-125001r1"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Listing 11.1: </span><span
-class="content">Environment state between functions</span></div><!--tex4ht:label?: x1-123001r1 -->
+class="content">Environment state between functions</span></div><!--tex4ht:label?: x1-125001r1 -->
<div class="verbatim" id="verbatim-16">
@@ -6238,20 +6230,20 @@ GLOBAL_VARIABLE="a"
</p>
</div><hr class="endfloat" />
<h3 class="sectionHead"><span class="titlemark">11.3 </span> <a
- id="x1-12400011.3"></a>Available commands</h3>
-<!--l. 4--><p class="nopar" >This section documents the commands available to an ebuild. Unless otherwise specified, they may
+ id="x1-12600011.3"></a>Available Commands</h3>
+<!--l. 3--><p class="nopar" >This section documents the commands available to an ebuild. Unless otherwise specified, they may
be aliases, shell functions, or executables in the ebuild&#8217;s <span
class="ectt-1000">PATH</span>.
-</p><!--l. 7--><p class="noindent" >When an ebuild is being sourced for metadata querying rather than for a build (that is to say,
+</p><!--l. 6--><p class="noindent" >When an ebuild is being sourced for metadata querying rather than for a build (that is to say,
when none of the <span
class="ectt-1000">src_ </span>or <span
class="ectt-1000">pkg_ </span>functions are to be called), no external command may be executed.
The package manager may take steps to enforce this.
-</p><!--l. 11--><p class="nopar" >
+</p><!--l. 10--><p class="nopar" >
</p>
<h4 class="subsectionHead"><span class="titlemark">11.3.1 </span> <a
- id="x1-12500011.3.1"></a>System commands</h4>
-<!--l. 13--><p class="nopar" >Any ebuild not listed in the system set for the active profile(s) may assume the presence of every
+ id="x1-12700011.3.1"></a>System commands</h4>
+<!--l. 12--><p class="nopar" >Any ebuild not listed in the system set for the active profile(s) may assume the presence of every
command that is always provided by the system set for that profile. However, it must target the
lowest common denominator of all systems on which it might be installed&#8212;in most
cases this means that the only packages that can be assumed to be present are those
@@ -6260,15 +6252,15 @@ class="ectt-1000">base </span>profile or equivalent, which is inherited by all a
ebuild requires any applications not provided by the system profile, or that are provided
conditionally based on USE flags, appropriate dependencies must be used to ensure their
presence.
-</p><!--l. 21--><p class="nopar" >
+</p><!--l. 20--><p class="nopar" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.1.1 </span> <a
- id="x1-12600011.3.1.1"></a>Guaranteed system commands</h5>
-<!--l. 24--><p class="nopar" >The following commands must always be available in the ebuild environment:
+ id="x1-12800011.3.1.1"></a>Guaranteed system commands</h5>
+<!--l. 23--><p class="nopar" >The following commands must always be available in the ebuild environment:
</p><ul>
<li class="compactitem">All builtin commands in GNU bash, version as listed in table&#x00A0;<a
-href="#x1-62001r1">6.1<!--tex4ht:ref: tab:bash-version --></a> on page&#x00A0;<a
-href="#x1-62001r1">77<!--tex4ht:ref: tab:bash-version --></a>.
+href="#x1-64001r1">6.1<!--tex4ht:ref: tab:bash-version --></a> on page&#x00A0;<a
+href="#x1-64001r1">80<!--tex4ht:ref: tab:bash-version --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">sed </span>must be available, and must support all forms of invocations valid for GNU sed
@@ -6278,22 +6270,21 @@ class="ectt-1000">sed </span>must be available, and must support all forms of in
class="ectt-1000">patch </span>must be available, and must support all inputs valid for GNU patch.
</li>
<li class="compactitem"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">GNU</span>-<span
-class="small-caps">FIND</span></span></span> <span
+class="eccc1000-"><span
+class="small-caps">gnu-find</span></span></span> <span
class="ectt-1000">find </span>and <span
class="ectt-1000">xargs </span>must be available, and must support all forms of invocations
valid for GNU findutils version 4.4 or later. Only for EAPIs listed in table&#x00A0;<a
-href="#x1-127001r7">11.7<!--tex4ht:ref: tab:system-commands-table --></a> as
+href="#x1-129001r7">11.7<!--tex4ht:ref: tab:system-commands-table --></a> as
requiring GNU find.</li></ul>
-<!--l. 36--><p class="nopar" >
+<!--l. 35--><p class="nopar" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.1.2 </span> <a
- id="x1-12700011.3.1.2"></a>Shell options</h5>
-<!--l. 38--><p class="nopar" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">FAILGLOB</span></span></span> For EAPIs listed such in table&#x00A0;<a
-href="#x1-127001r7">11.7<!--tex4ht:ref: tab:system-commands-table --></a>, the <span
+ id="x1-12900011.3.1.2"></a>Shell options</h5>
+<!--l. 37--><p class="nopar" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">failglob</span></span></span> For EAPIs listed such in table&#x00A0;<a
+href="#x1-129001r7">11.7<!--tex4ht:ref: tab:system-commands-table --></a>, the <span
class="ectt-1000">failglob </span>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.
@@ -6303,14 +6294,14 @@ the ebuild is being sourced.
<div class="table">
-<!--l. 43--><p class="noindent" ><a
- id="x1-127001r7"></a></p><hr class="float" /><div class="float"
+<!--l. 42--><p class="noindent" ><a
+ id="x1-129001r7"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.7: </span><span
-class="content">System commands for EAPIs</span></div><!--tex4ht:label?: x1-127001r7 -->
+class="content">System commands for EAPIs</span></div><!--tex4ht:label?: x1-129001r7 -->
<div class="tabular">
<table id="TBL-30" class="tabular"
cellspacing="0" cellpadding="0"
@@ -6351,15 +6342,15 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">11.3.2 </span> <a
- id="x1-12800011.3.2"></a>Commands provided by package dependencies</h4>
-<!--l. 60--><p class="nopar" >In some cases a package&#8217;s build process will require the availability of executables not provided by
+ id="x1-13000011.3.2"></a>Commands provided by package dependencies</h4>
+<!--l. 59--><p class="nopar" >In some cases a package&#8217;s build process will require the availability of executables not provided by
the core system, a common example being autotools. The availability of commands provided by the
particular types of dependencies is explained in section&#x00A0;<a
-href="#x1-750008.1">8.1<!--tex4ht:ref: sec:dependency-classes --></a>.
-</p><!--l. 64--><p class="nopar" >
+href="#x1-770008.1">8.1<!--tex4ht:ref: sec:dependency-classes --></a>.
+</p><!--l. 63--><p class="nopar" >
</p>
<h4 class="subsectionHead"><span class="titlemark">11.3.3 </span> <a
- id="x1-12900011.3.3"></a>Ebuild-specific Commands</h4>
+ id="x1-13100011.3.3"></a>Ebuild-specific commands</h4>
<!--l. 3--><p class="nopar" >The following commands will always be available in the ebuild environment, provided by the
package manager. Except where otherwise noted, they may be internal (shell functions or aliases)
or external commands available in <span
@@ -6369,26 +6360,24 @@ either behaviour.
</p><!--l. 10--><p class="nopar" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.1 </span> <a
- id="x1-13000011.3.3.1"></a>Failure behaviour and related commands</h5>
+ id="x1-13200011.3.3.1"></a>Failure behaviour and related commands</h5>
<!--l. 13--><p class="nopar" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">DIE</span>-<span
-class="small-caps">ON</span>-<span
-class="small-caps">FAILURE</span></span></span> Where a command is listed as having EAPI dependent failure behaviour, a failure
+class="eccc1000-"><span
+class="small-caps">die-on-failure</span></span></span> Where a command is listed as having EAPI dependent failure behaviour, a failure
shall either result in a non-zero exit status or abort the build process, as determined by
table&#x00A0;<a
-href="#x1-130001r8">11.8<!--tex4ht:ref: tab:commands-die-table --></a>.
+href="#x1-132001r8">11.8<!--tex4ht:ref: tab:commands-die-table --></a>.
</p><!--l. 17--><p class="noindent" >The following commands affect this behaviour:
</p><dl class="description"><dt class="description">
<span
class="ecbx-1000">nonfatal</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">NONFATAL</span></span></span> Executes the remainder of its arguments as a command, preserving the
+class="eccc1000-"><span
+class="small-caps">nonfatal</span></span></span> Executes the remainder of its arguments as a command, preserving the
exit status. If this results in a command being called that would normally abort the
build process due to a failure, instead a non-zero exit status shall be returned. Only in
EAPIs listed in table&#x00A0;<a
-href="#x1-130001r8">11.8<!--tex4ht:ref: tab:commands-die-table --></a> as supporting <span
+href="#x1-132001r8">11.8<!--tex4ht:ref: tab:commands-die-table --></a> as supporting <span
class="ectt-1000">nonfatal</span>.
<!--l. 24--><p class="noindent" >Explicit <span
class="ectt-1000">die </span>or <span
@@ -6396,18 +6385,18 @@ class="ectt-1000">assert </span>commands only respect <span
class="ectt-1000">nonfatal </span>when called with the <span
class="ectt-1000">-n</span>
option and in EAPIs supporting this option, see table&#x00A0;<a
-href="#x1-135001r10">11.10<!--tex4ht:ref: tab:commands-die-table --></a>.</p></dd></dl>
+href="#x1-137001r11">11.11<!--tex4ht:ref: tab:commands-die-table --></a>.</p></dd></dl>
<div class="table">
<!--l. 29--><p class="noindent" ><a
- id="x1-130001r8"></a></p><hr class="float" /><div class="float"
+ id="x1-132001r8"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.8: </span><span
-class="content">EAPI Command Failure Behaviour</span></div><!--tex4ht:label?: x1-130001r8 -->
+class="content">EAPI command failure behaviour</span></div><!--tex4ht:label?: x1-132001r8 -->
<div class="tabular">
<table id="TBL-31" class="tabular"
cellspacing="0" cellpadding="0"
@@ -6443,24 +6432,23 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.2 </span> <a
- id="x1-13100011.3.3.2"></a>Banned commands</h5>
+ id="x1-13300011.3.3.2"></a>Banned commands</h5>
<!--l. 46--><p class="nopar" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">BANNED</span>-<span
-class="small-caps">COMMANDS</span></span></span> Some commands are banned in some EAPIs. If a banned command is called,
+class="eccc1000-"><span
+class="small-caps">banned-commands</span></span></span> Some commands are banned in some EAPIs. If a banned command is called,
the package manager must abort the build process indicating an error.
</p>
<div class="table">
<!--l. 50--><p class="noindent" ><a
- id="x1-131001r9"></a></p><hr class="float" /><div class="float"
+ id="x1-133001r9"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.9: </span><span
-class="content">Banned commands</span></div><!--tex4ht:label?: x1-131001r9 -->
+class="content">Banned commands</span></div><!--tex4ht:label?: x1-133001r9 -->
<div class="tabular">
<table id="TBL-32" class="tabular"
cellspacing="0" cellpadding="0"
@@ -6509,7 +6497,7 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.3 </span> <a
- id="x1-13200011.3.3.3"></a>Sandbox commands</h5>
+ id="x1-13400011.3.3.3"></a>Sandbox commands</h5>
<!--l. 69--><p class="nopar" >These commands affect the behaviour of the sandbox. Each command takes a single directory as
argument. Ebuilds must not run any of these commands once the current phase function has
returned.
@@ -6533,16 +6521,14 @@ class="description">Add a directory to the deny list.</dd></dl>
<!--l. 79--><p class="nopar" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.4 </span> <a
- id="x1-13300011.3.3.4"></a>Package manager query commands</h5>
+ id="x1-13500011.3.3.4"></a>Package manager query commands</h5>
<!--l. 80--><p class="nopar" >These commands are used to extract information about the system. Ebuilds must not run any of
these commands in parallel with any other package manager command. Ebuilds must not run any
of these commands once the current phase function has returned.
</p><!--l. 84--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">HOST</span>-<span
-class="small-caps">ROOT</span>-<span
-class="small-caps">OPTION</span></span></span> In EAPIs listed in table&#x00A0;<a
-href="#x1-138023r18">11.18<!--tex4ht:ref: tab:foo-version-host-root-table --></a> as supporting option <span
+class="eccc1000-"><span
+class="small-caps">host-root-option</span></span></span> In EAPIs listed in table&#x00A0;<a
+href="#x1-135001r10">11.10<!--tex4ht:ref: tab:foo-version-host-root-table --></a> as supporting option <span
class="ectt-1000">--host-root</span>,
this flag as the first argument will cause the query to apply to the host root instead of
<span
@@ -6560,11 +6546,52 @@ class="description">Takes exactly one package dependency specification as
a matching package is installed, prints the category, package name and version of
the highest matching version; otherwise, prints an empty string. The exit code is
unspecified.</dd></dl>
-<!--l. 95--><p class="nopar" >
-</p>
+<div class="table">
+
+
+<!--l. 96--><p class="noindent" ><a
+ id="x1-135001r10"></a></p><hr class="float" /><div class="float"
+>
+
+
+ <div class="caption"
+><span class="id">Table&#x00A0;11.10: </span><span
+class="content">EAPIs supporting <span
+class="ectt-1000">--host-root </span>for <span
+class="ectt-1000">*_version </span>commands</span></div><!--tex4ht:label?: x1-135001r10 -->
+<div class="tabular">
+ <table id="TBL-33" class="tabular"
+cellspacing="0" cellpadding="0"
+><colgroup id="TBL-33-1g"><col
+id="TBL-33-1" /><col
+id="TBL-33-2" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-33-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-33-1-1"
+class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
+class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-33-1-2"
+class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
+class="ectt-1000">*_version </span><span
+class="ecbx-1000">supports </span><span
+class="ectt-1000">--host-root</span><span
+class="ecbx-1000">?</span></div>
+</td></tr><tr
+ style="vertical-align:baseline;" id="TBL-33-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-2-1"
+class="td11"> 0, 1, 2, 3, 4 </td><td style="white-space:nowrap; text-align:left;" id="TBL-33-2-2"
+class="td11"> No </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-33-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-3-1"
+class="td11"> 5, 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-33-3-2"
+class="td11"> Yes </td>
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-33-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-4-1"
+class="td11"> </td></tr></table></div>
+
+
+</div><hr class="endfloat" />
+</div>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.5 </span> <a
- id="x1-13400011.3.3.5"></a>Output commands</h5>
-<!--l. 96--><p class="nopar" >These commands display messages to the user. Unless otherwise stated, the entire argument list is
+ id="x1-13600011.3.3.5"></a>Output commands</h5>
+<!--l. 110--><p class="nopar" >These commands display messages to the user. Unless otherwise stated, the entire argument list is
used as a message, with backslash-escaped characters interpreted as for the <span
class="ectt-1000">echo -e </span>command of
bash, notably <span
@@ -6574,8 +6601,6 @@ class="ectt-1000">\\ </span>for a literal backslash. Ebuilds
must not run any of these commands once the current phase function has returned.
Unless otherwise noted, output may be sent to stdout, stderr or some other appropriate
facility.
-
-
</p><dl class="description"><dt class="description">
<span
class="ecbx-1000">einfo</span> </dt><dd
@@ -6614,26 +6639,25 @@ class="ectt-1000">ebegin </span>message has completed. Takes
subsequent arguments. If the first argument is 0, prints a success indicator; otherwise,
prints the message followed by a failure indicator. Returns its first argument as exit
status.</dd></dl>
-<!--l. 118--><p class="nopar" >
+<!--l. 132--><p class="nopar" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.6 </span> <a
- id="x1-13500011.3.3.6"></a>Error commands</h5>
-<!--l. 119--><p class="nopar" >These commands are used when an error is detected that will prevent the build process from
+ id="x1-13700011.3.3.6"></a>Error commands</h5>
+<!--l. 133--><p class="nopar" >These commands are used when an error is detected that will prevent the build process from
completing. Ebuilds must not run any of these commands once the current phase function has
returned.
</p><dl class="description"><dt class="description">
<span
class="ecbx-1000">die</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">NONFATAL</span>-<span
-class="small-caps">DIE</span></span></span> If called under the <span
+class="eccc1000-"><span
+class="small-caps">nonfatal-die</span></span></span> If called under the <span
class="ectt-1000">nonfatal </span>command (as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>) and
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>) and
with <span
class="ectt-1000">-n </span>as its first parameter, displays a failure message provided in its following
argument and then returns a non-zero exit status. Only in EAPIs listed in table&#x00A0;<a
-href="#x1-135001r10">11.10<!--tex4ht:ref: tab:nonfatal-die --></a>
+href="#x1-137001r11">11.11<!--tex4ht:ref: tab:nonfatal-die --></a>
as supporting option&#x00A0;<span
class="ectt-1000">-n</span>. Otherwise, displays a failure message provided in its first
and only argument, and then aborts the build process. <span
@@ -6646,29 +6670,31 @@ class="ecbx-1000">assert</span> </dt><dd
class="description">Checks the value of the shell&#8217;s pipe status variable, and if any component is non-zero
(indicating failure), calls <span
class="ectt-1000">die</span>, passing any parameters to it.</dd></dl>
+
+
<div class="table">
-<!--l. 133--><p class="noindent" ><a
- id="x1-135001r10"></a></p><hr class="float" /><div class="float"
+<!--l. 147--><p class="noindent" ><a
+ id="x1-137001r11"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
-><span class="id">Table&#x00A0;11.10: </span><span
+><span class="id">Table&#x00A0;11.11: </span><span
class="content">EAPIs supporting <span
class="ectt-1000">-n </span>for <span
class="ectt-1000">die </span>and <span
-class="ectt-1000">assert </span>commands</span></div><!--tex4ht:label?: x1-135001r10 -->
+class="ectt-1000">assert </span>commands</span></div><!--tex4ht:label?: x1-137001r11 -->
<div class="tabular">
- <table id="TBL-33" class="tabular"
+ <table id="TBL-34" class="tabular"
cellspacing="0" cellpadding="0"
-><colgroup id="TBL-33-1g"><col
-id="TBL-33-1" /><col
-id="TBL-33-2" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-33-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-33-1-1"
+><colgroup id="TBL-34-1g"><col
+id="TBL-34-1" /><col
+id="TBL-34-2" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-34-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-34-1-1"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-33-1-2"
+class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-34-1-2"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
class="ectt-1000">die </span><span
class="ecbx-1000">and </span><span
@@ -6677,23 +6703,23 @@ class="ecbx-1000">support </span><span
class="ectt-1000">-n</span><span
class="ecbx-1000">?</span></div>
</td></tr><tr
- style="vertical-align:baseline;" id="TBL-33-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-2-1"
-class="td11"> 0, 1, 2, 3, 4, 5 </td><td style="white-space:nowrap; text-align:left;" id="TBL-33-2-2"
+ style="vertical-align:baseline;" id="TBL-34-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-2-1"
+class="td11"> 0, 1, 2, 3, 4, 5 </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-2-2"
class="td11"> No </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-33-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-3-1"
-class="td11"> 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-33-3-2"
+ style="vertical-align:baseline;" id="TBL-34-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-3-1"
+class="td11"> 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-3-2"
class="td11"> Yes </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-33-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-33-4-1"
+ style="vertical-align:baseline;" id="TBL-34-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-4-1"
class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.7 </span> <a
- id="x1-13600011.3.3.7"></a>Patch commands</h5>
-<!--l. 147--><p class="nopar" >These commands are used during the <span
+ id="x1-13800011.3.3.7"></a>Patch commands</h5>
+<!--l. 161--><p class="nopar" >These commands are used during the <span
class="ectt-1000">src_prepare </span>phase to apply patches to the package&#8217;s
sources. Ebuilds must not run any of these commands once the current phase function has
returned.
@@ -6701,267 +6727,241 @@ returned.
<span
class="ecbx-1000">eapply</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">EAPPLY</span></span></span> Takes zero or more GNU patch options, followed by one or more file or
+class="eccc1000-"><span
+class="small-caps">eapply</span></span></span> Takes zero or more GNU patch options, followed by one or more file or
directory paths. Processes options and applies all patches found in specified locations
according to Algorithm&#x00A0;<a
-href="#x1-136001r1">11.1<!--tex4ht:ref: alg:eapply --></a>. If applying the patches fails, it aborts the build using
+href="#x1-138001r1">11.1<!--tex4ht:ref: alg:eapply --></a>. If applying the patches fails, it aborts the build using
<span
class="ectt-1000">die</span>, unless run using <span
class="ectt-1000">nonfatal</span>, in which case it returns non-zero exit status. Only
available in EAPIs listed in table&#x00A0;<a
-href="#x1-136033r11">11.11<!--tex4ht:ref: tab:patch-commands --></a> as supporting <span
+href="#x1-138033r12">11.12<!--tex4ht:ref: tab:patch-commands --></a> as supporting <span
class="ectt-1000">eapply</span>.
- </dd><dt class="description">
-<span
-class="ecbx-1000">eapply_user</span> </dt><dd
-class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">EAPPLY</span>-<span
-class="small-caps">USER</span></span></span> Takes no arguments. Package managers supporting it apply
- user-provided patches to the source tree in the current working directory. Exact
- behaviour is implementation defined and beyond the scope of this specification. Package
- managers not supporting it must implement the command as a no-op. Returns shell
- true (0) if patches applied successfully, or if no patches were provided. Otherwise,
- aborts the build process, unless run using <span
-class="ectt-1000">nonfatal</span>, in which case it returns non-zero
- exit status. Only available in EAPIs listed in table&#x00A0;<a
-href="#x1-136033r11">11.11<!--tex4ht:ref: tab:patch-commands --></a> as supporting <span
-class="ectt-1000">eapply_user</span>.
- In EAPIs where it is supported, <span
-class="ectt-1000">eapply_user </span>must be called once in the <span
-class="ectt-1000">src_prepare</span>
- phase. For any subsequent calls, the command will do nothing and return&#x00A0;0.</dd></dl>
-<div class="algorithm">
-
-
-<!--l. 169--><p class="noindent" ><a
- id="x1-136001r1"></a></p><hr class="float" /><div class="float"
+ <div class="algorithm">
+ <!--l. 172--><p class="noindent" ><a
+ id="x1-138001r1"></a></p><hr class="float" /><div class="float"
>
-
-
<div class="caption"
><span class="id">Algorithm 11.1: </span><span
-class="content">eapply logic</span></div><!--tex4ht:label?: x1-136001r1 -->
+class="content"><span
+class="ectt-1000">eapply </span>logic</span></div><!--tex4ht:label?: x1-138001r1 -->
<div class="algorithmic">
<a
- id="x1-136002r115"></a>
- <span class="ALCitem"><span class="ecrm-0800">&#x2007;1:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-138002r115"></a>
+ <span class="ALCitem">1:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;any parameter is equal to <span
class="ectt-1000">"--"</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-136003r116"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;2:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> collect all parameters before the first <span
+ id="x1-138003r116"></a>
+ <br /><span class="ALCitem">2:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> collect all parameters before the first <span
class="ectt-1000">"--" </span>in the <span
class="ectt-1000">options </span>array <a
- id="x1-136004r117"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;3:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> collect all parameters after the first <span
+ id="x1-138004r117"></a>
+ <br /><span class="ALCitem">3:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> collect all parameters after the first <span
class="ectt-1000">"--" </span>in the <span
class="ectt-1000">files </span>array
</span><a
- id="x1-136005r118"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;4:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-138005r118"></a>
+ <br /><span class="ALCitem">4:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;any parameter that begins with a hyphen follows one that does not&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-136006r119"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;5:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> abort the build process with an error
+ id="x1-138006r119"></a>
+ <br /><span class="ALCitem">5:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> abort the build process with an error
</span><a
- id="x1-136007r120"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;6:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-138007r120"></a>
+ <br /><span class="ALCitem">6:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span><span class="else-body">
<a
- id="x1-136008r121"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;7:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> collect all parameters beginning with a hyphen in the <span
+ id="x1-138008r121"></a>
+ <br /><span class="ALCitem">7:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> collect all parameters beginning with a hyphen in the <span
class="ectt-1000">options </span>array <a
- id="x1-136009r122"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;8:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> collect all remaining parameters in the <span
+ id="x1-138009r122"></a>
+ <br /><span class="ALCitem">8:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> collect all remaining parameters in the <span
class="ectt-1000">files </span>array
</span><a
- id="x1-136010r123"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;9:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-138010r123"></a>
+ <br /><span class="ALCitem">9:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-136011r124"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">10:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-138011r124"></a>
+<br /><span class="ALCitem">10:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;the <span
class="ectt-1000">files </span>array is empty&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-136012r125"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">11:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> abort the build process with an error
+ id="x1-138012r125"></a>
+<br /><span class="ALCitem">11:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> abort the build process with an error
</span><a
- id="x1-136013r126"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">12:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-138013r126"></a>
+<br /><span class="ALCitem">12:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-136014r127"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">13:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-138014r127"></a>
+<br /><span class="ALCitem">13:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">for all</span>&#x00A0;<span
class="ectt-1000">x </span>in the <span
class="ectt-1000">files </span>array&#x00A0;<span
class="ecbx-1000">do</span><span class="for-body">
<a
- id="x1-136015r128"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">14:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-138015r128"></a>
+<br /><span class="ALCitem">14:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="ectt-1000">$x </span>is a directory&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-136016r129"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">15:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-138016r129"></a>
+<br /><span class="ALCitem">15:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;<span
class="ecbx-1000">not </span>any files match <span
class="ectt-1000">$x/*.diff </span>or <span
class="ectt-1000">$x/*.patch</span>&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-136017r130"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">16:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:34.99146pt;">&nbsp;</span> abort the build process with an error
+ id="x1-138017r130"></a>
+<br /><span class="ALCitem">16:</span><span class="ALIndent" style="width:34.99146pt;">&nbsp;</span> abort the build process with an error
</span><a
- id="x1-136018r131"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">17:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-138018r131"></a>
+<br /><span class="ALCitem">17:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-136019r132"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">18:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-138019r132"></a>
+<br /><span class="ALCitem">18:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">for all</span>&#x00A0;files <span
class="ectt-1000">f </span>matching <span
class="ectt-1000">$x/*.diff </span>or <span
class="ectt-1000">$x/*.patch</span>, sorted in POSIX locale&#x00A0;<span
class="ecbx-1000">do</span><span class="for-body">
<a
- id="x1-136020r133"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">19:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:34.99146pt;">&nbsp;</span> call <span
+ id="x1-138020r133"></a>
+<br /><span class="ALCitem">19:</span><span class="ALIndent" style="width:34.99146pt;">&nbsp;</span> call <span
class="ectt-1000">patch -p1 -f -g0 --no-backup-if-mismatch "${options[@]}" &#x003C; "$f"</span> <a
- id="x1-136021r134"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">20:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:34.99146pt;">&nbsp;</span> <span
+ id="x1-138021r134"></a>
+<br /><span class="ALCitem">20:</span><span class="ALIndent" style="width:34.99146pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;child process returned with non-zero exit status&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-136022r135"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">21:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:44.98901pt;">&nbsp;</span> <span
+ id="x1-138022r135"></a>
+
+
+<br /><span class="ALCitem">21:</span><span class="ALIndent" style="width:44.98901pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;immediately with that status
</span><a
- id="x1-136023r136"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">22:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:34.99146pt;">&nbsp;</span> <span
+ id="x1-138023r136"></a>
+<br /><span class="ALCitem">22:</span><span class="ALIndent" style="width:34.99146pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-136024r137"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">23:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-138024r137"></a>
+<br /><span class="ALCitem">23:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">for</span>
</span><a
- id="x1-136025r138"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">24:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-138025r138"></a>
+<br /><span class="ALCitem">24:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">else</span><span class="else-body">
<a
- id="x1-136026r139"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">25:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> call <span
+ id="x1-138026r139"></a>
+<br /><span class="ALCitem">25:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> call <span
class="ectt-1000">patch -p1 -f -g0 --no-backup-if-mismatch "${options[@]}" &#x003C; "$x"</span> <a
- id="x1-136027r140"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">26:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-138027r140"></a>
+<br /><span class="ALCitem">26:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;child process returned with non-zero exit status&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-136028r141"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">27:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:34.99146pt;">&nbsp;</span> <span
+ id="x1-138028r141"></a>
+<br /><span class="ALCitem">27:</span><span class="ALIndent" style="width:34.99146pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;immediately with that status
</span><a
- id="x1-136029r142"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">28:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-138029r142"></a>
+<br /><span class="ALCitem">28:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-136030r143"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">29:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-138030r143"></a>
+<br /><span class="ALCitem">29:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-136031r144"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">30:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-138031r144"></a>
+<br /><span class="ALCitem">30:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">for</span><a
- id="x1-136032r145"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">31:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-138032r145"></a>
+<br /><span class="ALCitem">31:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;shell true (0)
-</div>
-
-
-</div><hr class="endfloat" />
-</div>
+ </div> </div><hr class="endfloat" />
+ </div>
+ </dd><dt class="description">
+<span
+class="ecbx-1000">eapply_user</span> </dt><dd
+class="description"><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">eapply-user</span></span></span> Takes no arguments. Package managers supporting it apply
+ user-provided patches to the source tree in the current working directory. Exact
+ behaviour is implementation defined and beyond the scope of this specification.
+ Package managers not supporting it must implement the command as a no-op.
+ Returns shell true (0) if patches applied successfully, or if no patches were provided.
+ Otherwise, aborts the build process, unless run using <span
+class="ectt-1000">nonfatal</span>, in which case it returns
+ non-zero exit status. Only available in EAPIs listed in table&#x00A0;<a
+href="#x1-138033r12">11.12<!--tex4ht:ref: tab:patch-commands --></a> as supporting
+ <span
+class="ectt-1000">eapply_user</span>. In EAPIs where it is supported, <span
+class="ectt-1000">eapply_user </span>must be called once in the
+ <span
+class="ectt-1000">src_prepare </span>phase. For any subsequent calls, the command will do nothing and
+ return&#x00A0;0.</dd></dl>
<div class="table">
-<!--l. 206--><p class="noindent" ><a
- id="x1-136033r11"></a></p><hr class="float" /><div class="float"
+<!--l. 220--><p class="noindent" ><a
+ id="x1-138033r12"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
-><span class="id">Table&#x00A0;11.11: </span><span
-class="content">Patch commands for EAPIs</span></div><!--tex4ht:label?: x1-136033r11 -->
+><span class="id">Table&#x00A0;11.12: </span><span
+class="content">Patch commands for EAPIs</span></div><!--tex4ht:label?: x1-138033r12 -->
<div class="tabular">
- <table id="TBL-34" class="tabular"
+ <table id="TBL-35" class="tabular"
cellspacing="0" cellpadding="0"
-><colgroup id="TBL-34-1g"><col
-id="TBL-34-1" /><col
-id="TBL-34-2" /><col
-id="TBL-34-3" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-34-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-34-1-1"
+><colgroup id="TBL-35-1g"><col
+id="TBL-35-1" /><col
+id="TBL-35-2" /><col
+id="TBL-35-3" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-35-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-35-1-1"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-34-1-2"
+class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-35-1-2"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
class="ectt-1000">eapply</span><span
-class="ecbx-1000">?</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-34-1-3"
+class="ecbx-1000">?</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-35-1-3"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
class="ectt-1000">eapply_user</span><span
class="ecbx-1000">?</span></div>
</td></tr><tr
- style="vertical-align:baseline;" id="TBL-34-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-2-1"
-class="td11"> 0, 1, 2, 3, 4, 5 </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-2-2"
-class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-2-3"
+ style="vertical-align:baseline;" id="TBL-35-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-2-1"
+class="td11"> 0, 1, 2, 3, 4, 5 </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-2-2"
+class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-2-3"
class="td11"> No </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-34-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-3-1"
-class="td11"> 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-3-2"
-class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-34-3-3"
+ style="vertical-align:baseline;" id="TBL-35-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-3-1"
+class="td11"> 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-3-2"
+class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-3-3"
class="td11"> Yes </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-34-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-34-4-1"
+ style="vertical-align:baseline;" id="TBL-35-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-4-1"
class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.8 </span> <a
- id="x1-13700011.3.3.8"></a>Build commands</h5>
-<!--l. 221--><p class="nopar" >These commands are used during the <span
+ id="x1-13900011.3.3.8"></a>Build commands</h5>
+<!--l. 235--><p class="nopar" >These commands are used during the <span
class="ectt-1000">src_configure</span>, <span
class="ectt-1000">src_compile</span>, and <span
class="ectt-1000">src_install </span>phases to
@@ -6979,13 +6979,12 @@ class="ectt-1000">./configure</span>, after the default options below. <span
class="ectt-1000">econf </span>will look in the current
working directory for a configure script unless the <span
class="ectt-1000">ECONF_SOURCE </span>environment variable
- is set, in which case it is taken to be the directory containing it. <span
-class="ectt-1000">econf </span>must pass the
- following options to the configure script:
- <!--l. 233--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">ECONF</span>-<span
-class="small-caps">OPTIONS</span></span></span> </p>
+ is set, in which case it is taken to be the directory containing it.
+ <!--l. 246--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">econf-options</span></span></span> <span
+class="ectt-1000">econf </span>must pass the following options to the configure script:
+ </p>
<ul class="itemize1">
<li class="itemize">--prefix must default to <span
class="ectt-1000">${EPREFIX}/usr </span>unless overridden by <span
@@ -7009,7 +7008,7 @@ class="ectt-1000">${EPREFIX}/var/lib</span>
<li class="itemize">--docdir must be <span
class="ectt-1000">${EPREFIX}/usr/share/doc/${PF}</span>, if the EAPI is listed in
table&#x00A0;<a
-href="#x1-137001r12">11.12<!--tex4ht:ref: tab:foo-version-host-root-table --></a> as using it. This option will only be passed if the string <span
+href="#x1-139001r13">11.13<!--tex4ht:ref: tab:foo-version-host-root-table --></a> as using it. This option will only be passed if the string <span
class="ectt-1000">--docdir</span>
occurs in the output of <span
class="ectt-1000">configure --help</span>.
@@ -7017,7 +7016,7 @@ class="ectt-1000">configure --help</span>.
<li class="itemize">--htmldir must be <span
class="ectt-1000">${EPREFIX}/usr/share/doc/${PF}/html</span>, if the EAPI is listed
in table&#x00A0;<a
-href="#x1-137001r12">11.12<!--tex4ht:ref: tab:foo-version-host-root-table --></a> as using it. This option will only be passed if the string <span
+href="#x1-139001r13">11.13<!--tex4ht:ref: tab:foo-version-host-root-table --></a> as using it. This option will only be passed if the string <span
class="ectt-1000">--htmldir</span>
occurs in the output of <span
class="ectt-1000">configure --help</span>.
@@ -7026,17 +7025,17 @@ class="ectt-1000">configure --help</span>.
class="ectt-1000">CHOST </span>environment variable.
</li>
<li class="itemize">--libdir must be set according to Algorithm&#x00A0;<a
-href="#x1-137002r2">11.2<!--tex4ht:ref: tab:foo-version-host-root-table --></a>.
+href="#x1-139002r2">11.2<!--tex4ht:ref: tab:foo-version-host-root-table --></a>.
</li>
<li class="itemize">--disable-dependency-tracking, if the EAPI is listed in table&#x00A0;<a
-href="#x1-137001r12">11.12<!--tex4ht:ref: tab:foo-version-host-root-table --></a> as using it.
+href="#x1-139001r13">11.13<!--tex4ht:ref: tab:foo-version-host-root-table --></a> as using it.
This option will only be passed if the string <span
class="ectt-1000">--disable-dependency-tracking</span>
occurs in the output of <span
class="ectt-1000">configure --help</span>.
</li>
<li class="itemize">--disable-silent-rules, if the EAPI is listed in table&#x00A0;<a
-href="#x1-137001r12">11.12<!--tex4ht:ref: tab:foo-version-host-root-table --></a> as using it. This option
+href="#x1-139001r13">11.13<!--tex4ht:ref: tab:foo-version-host-root-table --></a> as using it. This option
will only be passed if the string <span
class="ectt-1000">--disable-silent-rules </span>occurs in the output
@@ -7044,75 +7043,75 @@ class="ectt-1000">--disable-silent-rules </span>occurs in the output
of <span
class="ectt-1000">configure --help</span>.</li></ul>
<div class="table">
- <!--l. 258--><p class="noindent" ><a
- id="x1-137001r12"></a></p><hr class="float" /><div class="float"
+ <!--l. 271--><p class="noindent" ><a
+ id="x1-139001r13"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
-><span class="id">Table&#x00A0;11.12: </span><span
+><span class="id">Table&#x00A0;11.13: </span><span
class="content">Extra <span
-class="ectt-1000">econf </span>arguments for EAPIs</span></div><!--tex4ht:label?: x1-137001r12 -->
+class="ectt-1000">econf </span>arguments for EAPIs</span></div><!--tex4ht:label?: x1-139001r13 -->
<div class="tabular">
- <table id="TBL-35" class="tabular"
+ <table id="TBL-36" class="tabular"
cellspacing="0" cellpadding="0"
-><colgroup id="TBL-35-1g"><col
-id="TBL-35-1" /><col
-id="TBL-35-2" /><col
-id="TBL-35-3" /><col
-id="TBL-35-4" /><col
-id="TBL-35-5" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-35-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-35-1-1"
+><colgroup id="TBL-36-1g"><col
+id="TBL-36-1" /><col
+id="TBL-36-2" /><col
+id="TBL-36-3" /><col
+id="TBL-36-4" /><col
+id="TBL-36-5" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-36-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-36-1-1"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-35-1-2"
+class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-36-1-2"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ecbx-1000">--disable-dependency-tracking</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-35-1-3"
+class="ecbx-1000">--disable-dependency-tracking</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-36-1-3"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ecbx-1000">--disable-silent-rules</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-35-1-4"
+class="ecbx-1000">--disable-silent-rules</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-36-1-4"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ecbx-1000">--docdir</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-35-1-5"
+class="ecbx-1000">--docdir</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-36-1-5"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
class="ecbx-1000">--htmldir</span></div>
</td></tr><tr
- style="vertical-align:baseline;" id="TBL-35-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-2-1"
-class="td11"> 0, 1, 2, 3 </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-2-2"
-class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-2-3"
-class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-2-4"
-class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-2-5"
+ style="vertical-align:baseline;" id="TBL-36-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-2-1"
+class="td11"> 0, 1, 2, 3 </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-2-2"
+class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-2-3"
+class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-2-4"
+class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-2-5"
class="td11"> No </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-35-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-3-1"
-class="td11"> 4 </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-3-2"
-class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-3-3"
-class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-3-4"
-class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-3-5"
+ style="vertical-align:baseline;" id="TBL-36-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-3-1"
+class="td11"> 4 </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-3-2"
+class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-3-3"
+class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-3-4"
+class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-3-5"
class="td11"> No </td></tr><tr
- style="vertical-align:baseline;" id="TBL-35-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-4-1"
-class="td11"> 5 </td> <td style="white-space:nowrap; text-align:left;" id="TBL-35-4-2"
-class="td11"> Yes </td> <td style="white-space:nowrap; text-align:left;" id="TBL-35-4-3"
-class="td11"> Yes </td> <td style="white-space:nowrap; text-align:left;" id="TBL-35-4-4"
-class="td11"> No </td> <td style="white-space:nowrap; text-align:left;" id="TBL-35-4-5"
+ style="vertical-align:baseline;" id="TBL-36-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-4-1"
+class="td11"> 5 </td> <td style="white-space:nowrap; text-align:left;" id="TBL-36-4-2"
+class="td11"> Yes </td> <td style="white-space:nowrap; text-align:left;" id="TBL-36-4-3"
+class="td11"> Yes </td> <td style="white-space:nowrap; text-align:left;" id="TBL-36-4-4"
+class="td11"> No </td> <td style="white-space:nowrap; text-align:left;" id="TBL-36-4-5"
class="td11"> No</td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-35-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-5-1"
-class="td11"> 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-5-2"
-class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-5-3"
-class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-5-4"
-class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-35-5-5"
+ style="vertical-align:baseline;" id="TBL-36-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-5-1"
+class="td11"> 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-5-2"
+class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-5-3"
+class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-5-4"
+class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-5-5"
class="td11"> Yes </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-35-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-35-6-1"
+ style="vertical-align:baseline;" id="TBL-36-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-6-1"
class="td11"> </td></tr></table></div></div><hr class="endfloat" />
</div>
- <!--l. 276--><p class="noindent" >Note that the <span
+ <!--l. 289--><p class="noindent" >Note that the <span
class="ectt-1000">${EPREFIX} </span>component represents the same offset-prefix as described in
Table&#x00A0;<a
-href="#x1-118001r1">11.1<!--tex4ht:ref: tab:defined_vars --></a>. It facilitates offset-prefix installations which is supported by EAPIs listed in
+href="#x1-120001r1">11.1<!--tex4ht:ref: tab:defined_vars --></a>. It facilitates offset-prefix installations which is supported by EAPIs listed in
Table&#x00A0;<a
-href="#x1-118009r4">11.4<!--tex4ht:ref: tab:offset-env-vars-table --></a>. When no offset-prefix installation is in effect, <span
+href="#x1-120009r4">11.4<!--tex4ht:ref: tab:offset-env-vars-table --></a>. When no offset-prefix installation is in effect, <span
class="ectt-1000">EPREFIX </span>becomes the empty string,
making the behaviour of <span
class="ectt-1000">econf </span>equal for both offset-prefix supporting and agnostic
EAPIs.
- </p><!--l. 282--><p class="noindent" ><span
+ </p><!--l. 295--><p class="noindent" ><span
class="ectt-1000">econf </span>must be implemented internally&#8212;that is, as a bash function and not an external
script. Should any portion of it fail, it must abort the build using <span
class="ectt-1000">die</span>, unless run using
@@ -7120,69 +7119,65 @@ class="ectt-1000">die</span>, unless run using
class="ectt-1000">nonfatal</span>, in which case it must return non-zero exit status.
</p>
<div class="algorithm">
- <!--l. 287--><p class="noindent" ><a
- id="x1-137002r2"></a></p><hr class="float" /><div class="float"
+ <!--l. 300--><p class="noindent" ><a
+ id="x1-139002r2"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Algorithm 11.2: </span><span
-class="content">econf --libdir logic</span></div><!--tex4ht:label?: x1-137002r2 -->
+class="content"><span
+class="ectt-1000">econf --libdir </span>logic</span></div><!--tex4ht:label?: x1-139002r2 -->
<div class="algorithmic">
<a
- id="x1-137003r146"></a>
- <span class="ALCitem"><span class="ecrm-0800">&#x2007;1:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> let prefix=${EPREFIX}/usr <a
- id="x1-137004r147"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;2:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-139003r146"></a>
+ <span class="ALCitem">1:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> let prefix=${EPREFIX}/usr <a
+ id="x1-139004r147"></a>
+ <br /><span class="ALCitem">2:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;the caller specified --prefix=$p&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-137005r148"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;3:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> let prefix=$p
+ id="x1-139005r148"></a>
+ <br /><span class="ALCitem">3:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> let prefix=$p
</span><a
- id="x1-137006r149"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;4:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-139006r149"></a>
+ <br /><span class="ALCitem">4:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-137007r150"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;5:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> let libdir= <a
- id="x1-137008r151"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;6:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-139007r150"></a>
+ <br /><span class="ALCitem">5:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> let libdir= <a
+ id="x1-139008r151"></a>
+ <br /><span class="ALCitem">6:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;the ABI environment variable is set&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-137009r152"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;7:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> let libvar=LIBDIR_$ABI <a
- id="x1-137010r153"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;8:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-139009r152"></a>
+ <br /><span class="ALCitem">7:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> let libvar=LIBDIR_$ABI <a
+ id="x1-139010r153"></a>
+ <br /><span class="ALCitem">8:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;the environment variable named by libvar is set&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-137011r154"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;9:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> let libdir=the value of the variable named by libvar
+ id="x1-139011r154"></a>
+ <br /><span class="ALCitem">9:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> let libdir=the value of the variable named by libvar
</span><a
- id="x1-137012r155"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">10:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-139012r155"></a>
+<br /><span class="ALCitem">10:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-137013r156"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">11:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-139013r156"></a>
+<br /><span class="ALCitem">11:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-137014r157"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">12:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-139014r157"></a>
+<br /><span class="ALCitem">12:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;libdir is non-empty&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-137015r158"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">13:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> pass --libdir=$prefix/$libdir to configure
+ id="x1-139015r158"></a>
+<br /><span class="ALCitem">13:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> pass --libdir=$prefix/$libdir to configure
</span><a
- id="x1-137016r159"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">14:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-139016r159"></a>
+<br /><span class="ALCitem">14:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</div> </div><hr class="endfloat" />
@@ -7197,50 +7192,51 @@ class="ectt-1000">MAKE </span>variable is unset. Any arguments given
class="ectt-1000">MAKEOPTS</span>. Arguments
given to <span
class="ectt-1000">emake </span>override user configuration. See also section&#x00A0;<a
-href="#x1-12600011.3.1.1">11.3.1.1<!--tex4ht:ref: sec:guaranteed-system-commands --></a>. <span
+href="#x1-12800011.3.1.1">11.3.1.1<!--tex4ht:ref: sec:guaranteed-system-commands --></a>. <span
class="ectt-1000">emake </span>must be an
external program and cannot be a function or alias&#8212;it must be callable from e. g.&#x00A0;<span
class="ectt-1000">xargs</span>.
Failure behaviour is EAPI dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">einstall</span> </dt><dd
class="description">A shortcut for the command given in Listing&#x00A0;<a
-href="#x1-137017r2">11.2<!--tex4ht:ref: lst:einstall --></a>. Any arguments given to <span
+href="#x1-139017r2">11.2<!--tex4ht:ref: lst:einstall --></a>. Any arguments given to <span
class="ectt-1000">einstall </span>are
passed verbatim to <span
class="ectt-1000">emake</span>, as shown. Failure behaviour is EAPI dependent as per
section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>. In EAPIs listed in table&#x00A0;<a
-href="#x1-131001r9">11.9<!--tex4ht:ref: tab:banned-commands-table --></a>, this command is banned as per
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>. In EAPIs listed in table&#x00A0;<a
+href="#x1-133001r9">11.9<!--tex4ht:ref: tab:banned-commands-table --></a>, this command is banned as per
section&#x00A0;<a
-href="#x1-13100011.3.3.2">11.3.3.2<!--tex4ht:ref: sec:banned-commands --></a>.
- <!--l. 318--><p class="noindent" >The variable <span
+href="#x1-13300011.3.3.2">11.3.3.2<!--tex4ht:ref: sec:banned-commands --></a>.
+ <!--l. 331--><p class="noindent" >The variable <span
class="ectt-1000">ED </span>is defined as in Table&#x00A0;<a
-href="#x1-118001r1">11.1<!--tex4ht:ref: tab:defined_vars --></a> and depends on the use of an offset-prefix.
+href="#x1-120001r1">11.1<!--tex4ht:ref: tab:defined_vars --></a> and depends on the use of an offset-prefix.
When such offset-prefix is absent, <span
class="ectt-1000">ED </span>is equivalent to <span
class="ectt-1000">D</span>. <span
class="ectt-1000">ED </span>is always available in
EAPIs that support offset-prefix installations as listed in Table&#x00A0;<a
-href="#x1-118009r4">11.4<!--tex4ht:ref: tab:offset-env-vars-table --></a>, hence EAPIs
+href="#x1-120009r4">11.4<!--tex4ht:ref: tab:offset-env-vars-table --></a>, hence EAPIs
lacking offset-prefix support should use <span
class="ectt-1000">D </span>instead of <span
class="ectt-1000">ED </span>in the command given in
Listing&#x00A0;<a
-href="#x1-137017r2">11.2<!--tex4ht:ref: lst:einstall --></a>. Variable <span
+href="#x1-139017r2">11.2<!--tex4ht:ref: lst:einstall --></a>. Variable <span
class="ectt-1000">libdir </span>is an auxiliary local variable whose value is determined by
Algorithm&#x00A0;<a
-href="#x1-138001r3">11.3<!--tex4ht:ref: alg:ebuild-libdir --></a>.
- </p><!--l. 326--><p class="noindent" ><a
- id="x1-137017r2"></a></p><hr class="float" /><div class="float"
+href="#x1-140001r3">11.3<!--tex4ht:ref: alg:ebuild-libdir --></a>.
+ </p><!--l. 339--><p class="noindent" ><a
+ id="x1-139017r2"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Listing 11.2: </span><span
-class="content">einstall command</span></div><!--tex4ht:label?: x1-137017r2 -->
+class="content"><span
+class="ectt-1000">einstall </span>command</span></div><!--tex4ht:label?: x1-139017r2 -->
<div class="verbatim" id="verbatim-17">
@@ -7255,13 +7251,13 @@ emake&#x00A0;\
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;-j1&#x00A0;\
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;"$@"&#x00A0;\
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;install</div>
- <!--l. 340--><p class="nopar" ></p></div><hr class="endfloat" />
+ <!--l. 353--><p class="nopar" ></p></div><hr class="endfloat" />
</dd></dl>
-<!--l. 345--><p class="nopar" >
+<!--l. 358--><p class="nopar" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.9 </span> <a
- id="x1-13800011.3.3.9"></a>Installation commands</h5>
-<!--l. 346--><p class="nopar" >These commands are used to install files into the staging area, in cases where the package&#8217;s
+ id="x1-14000011.3.3.9"></a>Installation commands</h5>
+<!--l. 359--><p class="nopar" >These commands are used to install files into the staging area, in cases where the package&#8217;s
<span
class="ectt-1000">make install </span>target cannot be used or does not install all needed files. Except where
otherwise stated, all filenames created or modified are relative to the staging directory
@@ -7288,34 +7284,34 @@ class="ectt-1000">0755 </span>and transfers file ownership to the superuser or i
class="ectt-1000">root:root</span>, while on an offset-prefix aware installation
this may be <span
class="ectt-1000">joe:users</span>. Failure behaviour is EAPI dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">doconfd</span> </dt><dd
class="description">Installs the given config files into <span
class="ectt-1000">/etc/conf.d/</span>, by default with file mode <span
-class="ectt-1000">0644</span>.
- This can be overridden by setting <span
-class="ectt-1000">INSOPTIONS </span>with the <span
-class="ectt-1000">insopts </span>function. Failure
- behaviour is EAPI dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+class="ectt-1000">0644</span>,
+ or with the <span
+class="ectt-1000">install </span>options set by the most recent <span
+class="ectt-1000">insopts </span>call. Failure behaviour is
+ EAPI dependent as per section&#x00A0;<a
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">dodir</span> </dt><dd
class="description">Creates the given directories, by default with file mode <span
-class="ectt-1000">0755</span>. This can be overridden
- by setting <span
-class="ectt-1000">DIROPTIONS </span>with the <span
-class="ectt-1000">diropts </span>function. Failure behaviour is EAPI
- dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+class="ectt-1000">0755</span>, or with the <span
+class="ectt-1000">install</span>
+ options set by the most recent <span
+class="ectt-1000">diropts </span>call. Failure behaviour is EAPI dependent as
+ per section&#x00A0;<a
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">dodoc</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">DODOC</span></span></span> Installs the given files into a subdirectory under <span
+class="eccc1000-"><span
+class="small-caps">dodoc</span></span></span> Installs the given files into a subdirectory under <span
class="ectt-1000">/usr/share/doc/${PF}/</span>
with file mode <span
class="ectt-1000">0644</span>. The subdirectory is set by the most recent call to
@@ -7324,13 +7320,13 @@ class="ectt-1000">docinto</span>. If <span
class="ectt-1000">docinto </span>has not yet been called, instead installs to the directory
<span
class="ectt-1000">/usr/share/doc/${PF}/</span>. For EAPIs listed in table&#x00A0;<a
-href="#x1-138018r13">11.13<!--tex4ht:ref: tab:dodoc-table --></a> as supporting <span
+href="#x1-140018r14">11.14<!--tex4ht:ref: tab:dodoc-table --></a> as supporting <span
class="ectt-1000">-r</span>, if the first
argument is <span
class="ectt-1000">-r</span>, any subsequent arguments that are directories are installed recursively
to the appropriate location; in any other case, it is an error for a directory to be
specified. Failure behaviour is EAPI dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
@@ -7339,49 +7335,53 @@ class="ecbx-1000">doenvd</span> </dt><dd
class="description">Installs the given environment files into <span
class="ectt-1000">/etc/env.d/</span>, by default with file mode
<span
-class="ectt-1000">0644</span>. This can be overridden by setting <span
-class="ectt-1000">INSOPTIONS </span>with the <span
-class="ectt-1000">insopts </span>function. Failure
+class="ectt-1000">0644</span>, or with the <span
+class="ectt-1000">install </span>options set by the most recent <span
+class="ectt-1000">insopts </span>call. Failure
behaviour is EAPI dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">doexe</span> </dt><dd
class="description">Installs the given files into the directory specified by the most recent <span
-class="ectt-1000">exeinto </span>call,
- by default with file mode <span
-class="ectt-1000">0755</span>. This can be overridden by setting <span
-class="ectt-1000">EXEOPTIONS </span>with the
+class="ectt-1000">exeinto </span>call. If
<span
-class="ectt-1000">exeopts </span>function. If <span
-class="ectt-1000">exeinto </span>has not yet been called, behaviour is undefined. Failure
- behaviour is EAPI dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+class="ectt-1000">exeinto </span>has not yet been called, behaviour is undefined. Files are installed by default
+ with file mode <span
+class="ectt-1000">0755</span>, or with the <span
+class="ectt-1000">install </span>options set by the most recent <span
+class="ectt-1000">exeopts </span>call.
+ Failure behaviour is EAPI dependent as per section&#x00A0;<a
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">dohard</span> </dt><dd
-class="description">Takes two parameters. Creates a hardlink from the second to the first. In EAPIs
- listed in table&#x00A0;<a
-href="#x1-131001r9">11.9<!--tex4ht:ref: tab:banned-commands-table --></a>, this command is banned as per section&#x00A0;<a
-href="#x1-13100011.3.3.2">11.3.3.2<!--tex4ht:ref: sec:banned-commands --></a>.
+class="description">Takes two parameters. Creates a hardlink from the second to the first. Both paths
+ are relative to the staging directory including the offset-prefix <span
+class="ectt-1000">ED </span>in offset-prefix aware
+ EAPIs, or just the staging directory <span
+class="ectt-1000">D </span>in offset-prefix agnostic EAPIs. In EAPIs listed
+ in table&#x00A0;<a
+href="#x1-133001r9">11.9<!--tex4ht:ref: tab:banned-commands-table --></a>, this command is banned as per section&#x00A0;<a
+href="#x1-13300011.3.3.2">11.3.3.2<!--tex4ht:ref: sec:banned-commands --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">doheader</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">DOHEADER</span></span></span> Installs the given header files into <span
-class="ectt-1000">/usr/include/</span>, by default with file
- mode <span
-class="ectt-1000">0644</span>. This can be overridden by setting <span
-class="ectt-1000">INSOPTIONS </span>with the <span
-class="ectt-1000">insopts </span>function.
+class="eccc1000-"><span
+class="small-caps">doheader</span></span></span> Installs the given header files into <span
+class="ectt-1000">/usr/include/</span>, by default with
+ file mode <span
+class="ectt-1000">0644</span>, or with the <span
+class="ectt-1000">install </span>options set by the most recent <span
+class="ectt-1000">insopts </span>call.
If the first argument is <span
class="ectt-1000">-r</span>, then operates recursively, descending into any directories
given. Only available in EAPIs listed in table&#x00A0;<a
-href="#x1-138019r14">11.14<!--tex4ht:ref: tab:doheader-table --></a> as supporting <span
+href="#x1-140019r15">11.15<!--tex4ht:ref: tab:doheader-table --></a> as supporting <span
class="ectt-1000">doheader</span>. Failure
behaviour is EAPI dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">dohtml</span> </dt><dd
@@ -7434,9 +7434,9 @@ class="ectt-1000">-r</span>).
class="description"><span
class="ectt-1000">-p </span>&#8212; sets a document prefix for installed files, not to be confused with the global
offset-prefix.</dd></dl>
- <!--l. 418--><p class="noindent" >Failure behaviour is EAPI dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
- </p><!--l. 420--><p class="noindent" >It is undefined whether a failure shall occur if <span
+ <!--l. 434--><p class="noindent" >Failure behaviour is EAPI dependent as per section&#x00A0;<a
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+ </p><!--l. 436--><p class="noindent" >It is undefined whether a failure shall occur if <span
class="ectt-1000">-r </span>is not specified and a directory is
encountered. Ebuilds must not rely upon any particular behaviour.
</p></dd><dt class="description">
@@ -7446,161 +7446,153 @@ class="description">Installs the given GNU Info files into the <span
class="ectt-1000">/usr/share/info </span>area with file mode <span
class="ectt-1000">0644</span>.
Failure behaviour is EAPI dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">doinitd</span> </dt><dd
class="description">Installs the given initscript files into <span
class="ectt-1000">/etc/init.d</span>, by default with file mode <span
-class="ectt-1000">0755</span>. This
- can be overridden by setting <span
-class="ectt-1000">EXEOPTIONS </span>with the <span
-class="ectt-1000">exeopts </span>function. Failure behaviour is
- EAPI dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+class="ectt-1000">0755</span>, or
+ with the <span
+class="ectt-1000">install </span>options set by the most recent <span
+class="ectt-1000">exeopts </span>call. Failure behaviour is EAPI
+ dependent as per section&#x00A0;<a
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">doins</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">DOINS</span></span></span> Takes one or more files as arguments and installs them into <span
+class="eccc1000-"><span
+class="small-caps">doins</span></span></span> Takes one or more files as arguments and installs them into <span
class="ectt-1000">INSDESTTREE</span>, by default
with file mode <span
-class="ectt-1000">0644</span>. This can be overridden by setting <span
-class="ectt-1000">INSOPTIONS </span>with the <span
-class="ectt-1000">insopts</span>
- function. If the first argument is <span
-class="ectt-1000">-r</span>, then operates recursively, descending into any directories
- given. For EAPIs listed in table&#x00A0;<a
-href="#x1-138020r15">11.15<!--tex4ht:ref: tab:doins-table --></a>, <span
-class="ectt-1000">doins </span>must install symlinks as symlinks; for other
- EAPIs, behaviour is undefined if any symlink is encountered. Failure behaviour is EAPI
- dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+class="ectt-1000">0644</span>, or with the <span
+class="ectt-1000">install </span>options set by the most recent <span
+class="ectt-1000">insopts </span>call. If the
+ first argument is <span
+class="ectt-1000">-r</span>, then operates recursively, descending into any directories given. For
+ EAPIs listed in table&#x00A0;<a
+href="#x1-140020r16">11.16<!--tex4ht:ref: tab:doins-table --></a>, <span
+class="ectt-1000">doins </span>must install symlinks as symlinks; for other EAPIs,
+ behaviour is undefined if any symlink is encountered. Failure behaviour is EAPI dependent as
+ per section&#x00A0;<a
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">dolib</span> </dt><dd
class="description">For each argument, installs it into the appropriate library subdirectory under <span
class="ectt-1000">DESTTREE</span>, as
determined by Algorithm&#x00A0;<a
-href="#x1-138001r3">11.3<!--tex4ht:ref: alg:ebuild-libdir --></a>. The file mode is <span
-class="ectt-1000">0644 </span>by default. This can be overridden by
- setting <span
-class="ectt-1000">LIBOPTIONS </span>with the <span
-class="ectt-1000">libopts </span>function. Any symlinks are installed into the same
- directory as relative links to their original target. Failure behaviour is EAPI dependent as per
- section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+href="#x1-140001r3">11.3<!--tex4ht:ref: alg:ebuild-libdir --></a>. Files are installed by default with file mode <span
+class="ectt-1000">0644</span>, or with the
+ <span
+class="ectt-1000">install </span>options set by the most recent <span
+class="ectt-1000">libopts </span>call. Any symlinks are installed into the
+ same directory as relative links to their original target. Failure behaviour is EAPI dependent
+ as per section&#x00A0;<a
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
-class="ecbx-1000">dolib.so</span> </dt><dd
+class="ecbx-1000">dolib.a</span> </dt><dd
class="description">As for <span
class="ectt-1000">dolib </span>except each file is installed with mode <span
-class="ectt-1000">0755</span>.
+class="ectt-1000">0644</span>.
</dd><dt class="description">
<span
-class="ecbx-1000">dolib.a</span> </dt><dd
+class="ecbx-1000">dolib.so</span> </dt><dd
class="description">As for <span
class="ectt-1000">dolib </span>except each file is installed with mode <span
-class="ectt-1000">0644</span>.
+class="ectt-1000">0755</span>.
<div class="algorithm">
- <!--l. 449--><p class="noindent" ><a
- id="x1-138001r3"></a></p><hr class="float" /><div class="float"
+ <!--l. 465--><p class="noindent" ><a
+ id="x1-140001r3"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Algorithm 11.3: </span><span
-class="content">Determining the library directory</span></div><!--tex4ht:label?: x1-138001r3 -->
+class="content">Determining the library directory</span></div><!--tex4ht:label?: x1-140001r3 -->
<div class="algorithmic">
<a
- id="x1-138002r160"></a>
- <span class="ALCitem"><span class="ecrm-0800">&#x2007;1:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-140002r160"></a>
+ <span class="ALCitem">1:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;CONF_LIBDIR_OVERRIDE is set in the environment&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-138003r161"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;2:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> return CONF_LIBDIR_OVERRIDE
+ id="x1-140003r161"></a>
+ <br /><span class="ALCitem">2:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> return CONF_LIBDIR_OVERRIDE
</span><a
- id="x1-138004r162"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;3:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-140004r162"></a>
+ <br /><span class="ALCitem">3:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-138005r163"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;4:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-140005r163"></a>
+ <br /><span class="ALCitem">4:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;CONF_LIBDIR is set in the environment&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-138006r164"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;5:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> let LIBDIR_default=CONF_LIBDIR
+ id="x1-140006r164"></a>
+ <br /><span class="ALCitem">5:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> let LIBDIR_default=CONF_LIBDIR
</span><a
- id="x1-138007r165"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;6:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-140007r165"></a>
+ <br /><span class="ALCitem">6:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span><span class="else-body">
<a
- id="x1-138008r166"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;7:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> let LIBDIR_default=&#8220;lib&#8221;
+ id="x1-140008r166"></a>
+ <br /><span class="ALCitem">7:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> let LIBDIR_default=&#8220;lib&#8221;
</span><a
- id="x1-138009r167"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;8:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-140009r167"></a>
+ <br /><span class="ALCitem">8:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-138010r168"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;9:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-140010r168"></a>
+ <br /><span class="ALCitem">9:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;ABI is set in the environment&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-138011r169"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">10:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> let abi=ABI
+ id="x1-140011r169"></a>
+<br /><span class="ALCitem">10:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> let abi=ABI
</span><a
- id="x1-138012r170"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">11:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-140012r170"></a>
+<br /><span class="ALCitem">11:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;DEFAULT_ABI is set in the environment&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-138013r171"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">12:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> let abi=DEFAULT_ABI
+ id="x1-140013r171"></a>
+<br /><span class="ALCitem">12:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> let abi=DEFAULT_ABI
</span><a
- id="x1-138014r172"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">13:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-140014r172"></a>
+<br /><span class="ALCitem">13:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span><span class="else-body">
<a
- id="x1-138015r173"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">14:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> let abi=&#8220;default&#8221;
+ id="x1-140015r173"></a>
+<br /><span class="ALCitem">14:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> let abi=&#8220;default&#8221;
</span><a
- id="x1-138016r174"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">15:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-140016r174"></a>
+<br /><span class="ALCitem">15:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-138017r175"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">16:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> return the value of LIBDIR_$abi
+ id="x1-140017r175"></a>
+<br /><span class="ALCitem">16:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> return the value of LIBDIR_$abi
</div> </div><hr class="endfloat" />
</div>
+
+
</dd><dt class="description">
<span
class="ecbx-1000">doman</span> </dt><dd
class="description">Installs the given man pages into the appropriate subdirectory of <span
class="ectt-1000">/usr/share/man </span>depending
-
-
upon its apparent section suffix (e. g.&#x00A0;<span
class="ectt-1000">foo.1 </span>goes to <span
class="ectt-1000">/usr/share/man/man1/foo.1</span>) with file
mode <span
class="ectt-1000">0644</span>.
- <!--l. 474--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">DOMAN</span>-<span
-class="small-caps">LANGS</span></span></span> In EAPIs listed in table&#x00A0;<a
-href="#x1-138021r16">11.16<!--tex4ht:ref: tab:doman-table --></a> as supporting language detection by filename, a
+ <!--l. 490--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">doman-langs</span></span></span> In EAPIs listed in table&#x00A0;<a
+href="#x1-140021r17">11.17<!--tex4ht:ref: tab:doman-table --></a> as supporting language detection by filename, a
man page with name of the form <span
class="ectt-1000">foo.</span><span
class="ecti-1000">lang</span><span
@@ -7612,8 +7604,8 @@ class="ectt-1000">/man1/foo.1</span>,
class="ecti-1000">lang </span>refers to a pair of lower-case ASCII letters optionally followed by an underscore
and a pair of upper-case ASCII letters. Failure behaviour is EAPI dependent as per
section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
- </p><!--l. 480--><p class="noindent" >With option <span
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+ </p><!--l. 496--><p class="noindent" >With option <span
class="ectt-1000">-i18n=</span><span
class="ecti-1000">lang</span>, a man page shall be installed into an appropriate subdirectory of
<span
@@ -7627,7 +7619,7 @@ class="ectt-1000">foo.pl.1</span>). The <span
class="ecti-1000">lang </span>subdirectory level is skipped if <span
class="ecti-1000">lang </span>is the empty string. In EAPIs
specified by table&#x00A0;<a
-href="#x1-138021r16">11.16<!--tex4ht:ref: tab:doman-table --></a>, the <span
+href="#x1-140021r17">11.17<!--tex4ht:ref: tab:doman-table --></a>, the <span
class="ectt-1000">-i18n </span>option takes precedence over the language code in the
filename.
</p></dd><dt class="description">
@@ -7644,7 +7636,7 @@ class="ectt-1000">/LC_MESSAGES</span>. The name of the installed files is the
package name with <span
class="ectt-1000">.mo </span>appended. Failure behaviour is EAPI dependent as per
section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">dosbin</span> </dt><dd
@@ -7657,32 +7649,41 @@ class="ecbx-1000">dosym</span> </dt><dd
class="description">Creates a symbolic link named as for its second parameter, pointing to the first. If the
directory containing the new link does not exist, creates it. Failure behaviour is EAPI
dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">fowners</span> </dt><dd
class="description">Acts as for <span
class="ectt-1000">chown</span>, but takes paths relative to the image directory. Failure behaviour is
EAPI dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">fperms</span> </dt><dd
class="description">Acts as for <span
class="ectt-1000">chmod</span>, but takes paths relative to the image directory. Failure behaviour is
EAPI dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+ </dd><dt class="description">
+<span
+class="ecbx-1000">keepdir</span> </dt><dd
+class="description">Creates a directory as for <span
+class="ectt-1000">dodir</span>, and an empty file whose name starts with <span
+class="ectt-1000">.keep </span>in that
+ directory to ensure that the directory does not get removed by the package manager
+ should it be empty at any point. Failure behaviour is EAPI dependent as per
+ section&#x00A0;<a
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">newbin</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">NEWFOO</span>-<span
-class="small-caps">STDIN</span></span></span> As for <span
+class="eccc1000-"><span
+class="small-caps">newfoo-stdin</span></span></span> As for <span
class="ectt-1000">dobin</span>, but takes two parameters. The first is the file to install; the
second is the new filename under which it will be installed. In EAPIs specified by
table&#x00A0;<a
-href="#x1-138022r17">11.17<!--tex4ht:ref: tab:newfoo-stdin-table --></a>, standard input is read when the first parameter is <span
+href="#x1-140022r18">11.18<!--tex4ht:ref: tab:newfoo-stdin-table --></a>, standard input is read when the first parameter is <span
class="ectt-1000">- </span>(a hyphen). In this case, it
is an error if standard input is a terminal.
</dd><dt class="description">
@@ -7706,6 +7707,8 @@ class="ectt-1000">doenvd</span>.
class="ecbx-1000">newexe</span> </dt><dd
class="description">As above, for <span
class="ectt-1000">doexe</span>.
+
+
</dd><dt class="description">
<span
class="ecbx-1000">newheader</span> </dt><dd
@@ -7721,8 +7724,6 @@ class="ectt-1000">doinitd</span>.
class="ecbx-1000">newins</span> </dt><dd
class="description">As above, for <span
class="ectt-1000">doins</span>.
-
-
</dd><dt class="description">
<span
class="ecbx-1000">newlib.a</span> </dt><dd
@@ -7743,53 +7744,43 @@ class="ectt-1000">doman</span>.
class="ecbx-1000">newsbin</span> </dt><dd
class="description">As above, for <span
class="ectt-1000">dosbin</span>.
- </dd><dt class="description">
-<span
-class="ecbx-1000">keepdir</span> </dt><dd
-class="description">Creates a directory as for <span
-class="ectt-1000">dodir</span>, and an empty file whose name starts with <span
-class="ectt-1000">.keep </span>in that
- directory to ensure that the directory does not get removed by the package manager
- should it be empty at any point. Failure behaviour is EAPI dependent as per
- section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd></dl>
<div class="table">
-<!--l. 539--><p class="noindent" ><a
- id="x1-138018r13"></a></p><hr class="float" /><div class="float"
+<!--l. 555--><p class="noindent" ><a
+ id="x1-140018r14"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
-><span class="id">Table&#x00A0;11.13: </span><span
+><span class="id">Table&#x00A0;11.14: </span><span
class="content">EAPIs supporting <span
-class="ectt-1000">dodoc -r</span></span></div><!--tex4ht:label?: x1-138018r13 -->
+class="ectt-1000">dodoc -r</span></span></div><!--tex4ht:label?: x1-140018r14 -->
<div class="tabular">
- <table id="TBL-36" class="tabular"
+ <table id="TBL-37" class="tabular"
cellspacing="0" cellpadding="0"
-><colgroup id="TBL-36-1g"><col
-id="TBL-36-1" /><col
-id="TBL-36-2" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-36-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-36-1-1"
+><colgroup id="TBL-37-1g"><col
+id="TBL-37-1" /><col
+id="TBL-37-2" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-37-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-37-1-1"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-36-1-2"
+class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-37-1-2"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
class="ecbx-1000">Supports </span><span
class="ectt-1000">dodoc -r</span><span
class="ecbx-1000">?</span></div>
</td></tr><tr
- style="vertical-align:baseline;" id="TBL-36-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-2-1"
-class="td11"> 0, 1, 2, 3 </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-2-2"
+ style="vertical-align:baseline;" id="TBL-37-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-2-1"
+class="td11"> 0, 1, 2, 3 </td><td style="white-space:nowrap; text-align:left;" id="TBL-37-2-2"
class="td11"> No </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-36-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-3-1"
-class="td11"> 4, 5, 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-36-3-2"
+ style="vertical-align:baseline;" id="TBL-37-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-3-1"
+class="td11"> 4, 5, 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-37-3-2"
class="td11"> Yes </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-36-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-36-4-1"
+ style="vertical-align:baseline;" id="TBL-37-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-4-1"
class="td11"> </td></tr></table></div>
@@ -7798,25 +7789,25 @@ class="td11"> </td></tr></table></div>
<div class="table">
-<!--l. 553--><p class="noindent" ><a
- id="x1-138019r14"></a></p><hr class="float" /><div class="float"
+<!--l. 569--><p class="noindent" ><a
+ id="x1-140019r15"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
-><span class="id">Table&#x00A0;11.14: </span><span
+><span class="id">Table&#x00A0;11.15: </span><span
class="content">EAPIs supporting <span
class="ectt-1000">doheader </span>and <span
-class="ectt-1000">newheader</span></span></div><!--tex4ht:label?: x1-138019r14 -->
+class="ectt-1000">newheader</span></span></div><!--tex4ht:label?: x1-140019r15 -->
<div class="tabular">
- <table id="TBL-37" class="tabular"
+ <table id="TBL-38" class="tabular"
cellspacing="0" cellpadding="0"
-><colgroup id="TBL-37-1g"><col
-id="TBL-37-1" /><col
-id="TBL-37-2" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-37-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-37-1-1"
+><colgroup id="TBL-38-1g"><col
+id="TBL-38-1" /><col
+id="TBL-38-2" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-38-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-38-1-1"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-37-1-2"
+class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-38-1-2"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
class="ecbx-1000">Supports </span><span
class="ectt-1000">doheader </span><span
@@ -7824,16 +7815,16 @@ class="ecbx-1000">and </span><span
class="ectt-1000">newheader</span><span
class="ecbx-1000">?</span></div>
</td></tr><tr
- style="vertical-align:baseline;" id="TBL-37-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-2-1"
-class="td11"> 0, 1, 2, 3, 4 </td><td style="white-space:nowrap; text-align:left;" id="TBL-37-2-2"
+ style="vertical-align:baseline;" id="TBL-38-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-2-1"
+class="td11"> 0, 1, 2, 3, 4 </td><td style="white-space:nowrap; text-align:left;" id="TBL-38-2-2"
class="td11"> No </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-37-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-3-1"
-class="td11"> 5, 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-37-3-2"
+ style="vertical-align:baseline;" id="TBL-38-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-3-1"
+class="td11"> 5, 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-38-3-2"
class="td11"> Yes </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-37-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-37-4-1"
+ style="vertical-align:baseline;" id="TBL-38-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-4-1"
class="td11"> </td></tr></table></div>
@@ -7842,38 +7833,38 @@ class="td11"> </td></tr></table></div>
<div class="table">
-<!--l. 567--><p class="noindent" ><a
- id="x1-138020r15"></a></p><hr class="float" /><div class="float"
+<!--l. 583--><p class="noindent" ><a
+ id="x1-140020r16"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
-><span class="id">Table&#x00A0;11.15: </span><span
+><span class="id">Table&#x00A0;11.16: </span><span
class="content">EAPIs supporting symlinks for <span
-class="ectt-1000">doins</span></span></div><!--tex4ht:label?: x1-138020r15 -->
+class="ectt-1000">doins</span></span></div><!--tex4ht:label?: x1-140020r16 -->
<div class="tabular">
- <table id="TBL-38" class="tabular"
+ <table id="TBL-39" class="tabular"
cellspacing="0" cellpadding="0"
-><colgroup id="TBL-38-1g"><col
-id="TBL-38-1" /><col
-id="TBL-38-2" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-38-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-38-1-1"
+><colgroup id="TBL-39-1g"><col
+id="TBL-39-1" /><col
+id="TBL-39-2" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-39-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-39-1-1"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-38-1-2"
+class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-39-1-2"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
class="ectt-1000">doins </span><span
class="ecbx-1000">supports symlinks?</span></div>
</td></tr><tr
- style="vertical-align:baseline;" id="TBL-38-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-2-1"
-class="td11"> 0, 1, 2, 3 </td><td style="white-space:nowrap; text-align:left;" id="TBL-38-2-2"
+ style="vertical-align:baseline;" id="TBL-39-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-2-1"
+class="td11"> 0, 1, 2, 3 </td><td style="white-space:nowrap; text-align:left;" id="TBL-39-2-2"
class="td11"> No </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-38-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-3-1"
-class="td11"> 4, 5, 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-38-3-2"
+ style="vertical-align:baseline;" id="TBL-39-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-3-1"
+class="td11"> 4, 5, 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-39-3-2"
class="td11"> Yes </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-38-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-38-4-1"
+ style="vertical-align:baseline;" id="TBL-39-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-4-1"
class="td11"> </td></tr></table></div>
@@ -7882,49 +7873,49 @@ class="td11"> </td></tr></table></div>
<div class="table">
-<!--l. 581--><p class="noindent" ><a
- id="x1-138021r16"></a></p><hr class="float" /><div class="float"
+<!--l. 597--><p class="noindent" ><a
+ id="x1-140021r17"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
-><span class="id">Table&#x00A0;11.16: </span><span
+><span class="id">Table&#x00A0;11.17: </span><span
class="content"><span
-class="ectt-1000">doman </span>language support options for EAPIs</span></div><!--tex4ht:label?: x1-138021r16 -->
+class="ectt-1000">doman </span>language support options for EAPIs</span></div><!--tex4ht:label?: x1-140021r17 -->
<div class="tabular">
- <table id="TBL-39" class="tabular"
+ <table id="TBL-40" class="tabular"
cellspacing="0" cellpadding="0"
-><colgroup id="TBL-39-1g"><col
-id="TBL-39-1" /><col
-id="TBL-39-2" /><col
-id="TBL-39-3" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-39-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-39-1-1"
+><colgroup id="TBL-40-1g"><col
+id="TBL-40-1" /><col
+id="TBL-40-2" /><col
+id="TBL-40-3" /></colgroup><tr
+ style="vertical-align:baseline;" id="TBL-40-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-40-1-1"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-39-1-2"
+class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-40-1-2"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ecbx-1000">Language detection by filename?</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-39-1-3"
+class="ecbx-1000">Language detection by filename?</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-40-1-3"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
class="ecbx-1000">Option </span><span
class="ectt-1000">-i18n </span><span
class="ecbx-1000">takes precedence?</span></div>
</td></tr><tr
- style="vertical-align:baseline;" id="TBL-39-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-2-1"
-class="td11"> 0, 1 </td><td style="white-space:nowrap; text-align:left;" id="TBL-39-2-2"
-class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-39-2-3"
+ style="vertical-align:baseline;" id="TBL-40-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-2-1"
+class="td11"> 0, 1 </td><td style="white-space:nowrap; text-align:left;" id="TBL-40-2-2"
+class="td11"> No </td><td style="white-space:nowrap; text-align:left;" id="TBL-40-2-3"
class="td11"> Not applicable </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-39-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-3-1"
-class="td11"> 2, 3 </td><td style="white-space:nowrap; text-align:left;" id="TBL-39-3-2"
-class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-39-3-3"
+ style="vertical-align:baseline;" id="TBL-40-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-3-1"
+class="td11"> 2, 3 </td><td style="white-space:nowrap; text-align:left;" id="TBL-40-3-2"
+class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-40-3-3"
class="td11"> No </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-39-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-4-1"
-class="td11"> 4, 5, 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-39-4-2"
-class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-39-4-3"
+ style="vertical-align:baseline;" id="TBL-40-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-4-1"
+class="td11"> 4, 5, 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-40-4-2"
+class="td11"> Yes </td><td style="white-space:nowrap; text-align:left;" id="TBL-40-4-3"
class="td11"> Yes </td>
</tr><tr
- style="vertical-align:baseline;" id="TBL-39-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-39-5-1"
+ style="vertical-align:baseline;" id="TBL-40-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-5-1"
class="td11"> </td></tr></table></div>
@@ -7933,56 +7924,15 @@ class="td11"> </td></tr></table></div>
<div class="table">
-<!--l. 597--><p class="noindent" ><a
- id="x1-138022r17"></a></p><hr class="float" /><div class="float"
->
-
-
- <div class="caption"
-><span class="id">Table&#x00A0;11.17: </span><span
-class="content">EAPIs supporting stdin for <span
-class="ectt-1000">new* </span>commands</span></div><!--tex4ht:label?: x1-138022r17 -->
-<div class="tabular">
- <table id="TBL-40" class="tabular"
-cellspacing="0" cellpadding="0"
-><colgroup id="TBL-40-1g"><col
-id="TBL-40-1" /><col
-id="TBL-40-2" /></colgroup><tr
- style="vertical-align:baseline;" id="TBL-40-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-40-1-1"
-class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-40-1-2"
-class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ectt-1000">new* </span><span
-class="ecbx-1000">can read from stdin?</span></div>
-</td></tr><tr
- style="vertical-align:baseline;" id="TBL-40-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-2-1"
-class="td11"> 0, 1, 2, 3, 4 </td><td style="white-space:nowrap; text-align:left;" id="TBL-40-2-2"
-class="td11"> No </td>
-</tr><tr
- style="vertical-align:baseline;" id="TBL-40-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-3-1"
-class="td11"> 5, 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-40-3-2"
-class="td11"> Yes </td>
-
-</tr><tr
- style="vertical-align:baseline;" id="TBL-40-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-40-4-1"
-class="td11"> </td></tr></table></div>
-
-
-</div><hr class="endfloat" />
-</div>
-<div class="table">
-
-
-<!--l. 611--><p class="noindent" ><a
- id="x1-138023r18"></a></p><hr class="float" /><div class="float"
+<!--l. 613--><p class="noindent" ><a
+ id="x1-140022r18"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.18: </span><span
-class="content">EAPIs supporting <span
-class="ectt-1000">--host-root </span>for <span
-class="ectt-1000">*_version </span>commands</span></div><!--tex4ht:label?: x1-138023r18 -->
+class="content">EAPIs supporting stdin for <span
+class="ectt-1000">new* </span>commands</span></div><!--tex4ht:label?: x1-140022r18 -->
<div class="tabular">
<table id="TBL-41" class="tabular"
cellspacing="0" cellpadding="0"
@@ -7993,18 +7943,16 @@ id="TBL-41-2" /></colgroup><tr
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
class="ecbx-1000">EAPI</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-41-1-2"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
-class="ectt-1000">*_version </span><span
-class="ecbx-1000">supports </span><span
-class="ectt-1000">--host-root</span><span
-class="ecbx-1000">?</span></div>
+class="ectt-1000">new* </span><span
+class="ecbx-1000">can read from stdin?</span></div>
</td></tr><tr
style="vertical-align:baseline;" id="TBL-41-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-2-1"
class="td11"> 0, 1, 2, 3, 4 </td><td style="white-space:nowrap; text-align:left;" id="TBL-41-2-2"
-class="td11"> No </td>
+class="td11"> No </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-41-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-3-1"
class="td11"> 5, 6 </td><td style="white-space:nowrap; text-align:left;" id="TBL-41-3-2"
-class="td11"> Yes </td>
+class="td11"> Yes </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-41-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-41-4-1"
@@ -8014,8 +7962,8 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.10 </span> <a
- id="x1-13900011.3.3.10"></a>Commands affecting install destinations</h5>
-<!--l. 625--><p class="nopar" >The following commands are used to set the various destination trees, all relative to <span
+ id="x1-14100011.3.3.10"></a>Commands affecting install destinations</h5>
+<!--l. 627--><p class="nopar" >The following commands are used to set the various destination trees, all relative to <span
class="ectt-1000">${ED} </span>in
offset-prefix aware EAPIs and relative to <span
class="ectt-1000">${D} </span>in offset-prefix agnostic EAPIs, used by the above
@@ -8033,7 +7981,7 @@ class="ectt-1000">${D} </span>in offset-prefix
agnostic EAPIs, using <span
class="ectt-1000">install -d </span>with no additional options, if it does not already
exist. Failure behaviour is EAPI dependent as per section&#x00A0;<a
-href="#x1-13000011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
+href="#x1-13200011.3.3.1">11.3.3.1<!--tex4ht:ref: sec:failure-behaviour --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">insinto</span> </dt><dd
@@ -8081,21 +8029,19 @@ class="description">Sets the options passed by <span
class="ectt-1000">dolib </span>et al.&#x00A0;to the <span
class="ectt-1000">install </span>command.
</dd></dl>
-<!--l. 659--><p class="nopar" >
+<!--l. 661--><p class="nopar" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.11 </span> <a
- id="x1-14000011.3.3.11"></a>Commands affecting install compression</h5>
-<!--l. 661--><p class="nopar" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">DOCOMPRESS</span></span></span> In EAPIs listed in table&#x00A0;<a
-href="#x1-140001r19">11.19<!--tex4ht:ref: tab:compression-table --></a> as supporting controllable compression, the
-package manager may optionally compress a subset of the files under the <span
-class="ectt-1000">ED </span>directory in
-offset-prefix aware EAPIs or the <span
-class="ectt-1000">D </span>directory in offset-prefix agnostic EAPIs. To control which
+ id="x1-14200011.3.3.11"></a>Commands affecting install compression</h5>
+<!--l. 663--><p class="nopar" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">docompress</span></span></span> In EAPIs listed in table&#x00A0;<a
+href="#x1-142001r19">11.19<!--tex4ht:ref: tab:compression-table --></a> as supporting controllable compression, the package
+manager may optionally compress a subset of the files under the <span
+class="ectt-1000">ED </span>directory. To control which
directories may or may not be compressed, the package manager shall maintain two
lists:
-</p><!--l. 668--><p class="noindent" >
+</p><!--l. 669--><p class="noindent" >
</p><ul>
<li class="compactitem">An inclusion list, which initially contains <span
class="ectt-1000">/usr/share/doc</span>, <span
@@ -8107,13 +8053,11 @@ class="ectt-1000">/usr/share/man</span>.
</li>
<li class="compactitem">An exclusion list, which initially contains <span
class="ectt-1000">/usr/share/doc/${PF}/html</span>.</li></ul>
-<!--l. 673--><p class="noindent" >The optional compression shall be carried out after <span
+<!--l. 674--><p class="noindent" >The optional compression shall be carried out after <span
class="ectt-1000">src_install </span>has completed, and before the
execution of any subsequent phase function. For each item in the inclusion list, pretend it has the
value of the <span
-class="ectt-1000">ED </span>variable in offset-prefix aware EAPIs or the <span
-class="ectt-1000">D </span>variable in offset-prefix agnostic
-EAPIs prepended, then:
+class="ectt-1000">ED </span>variable prepended, then:
</p><!--l. 679--><p class="noindent" >
</p><ul>
<li class="compactitem">If it is a directory, act as if every file or directory immediately under this directory
@@ -8125,10 +8069,8 @@ EAPIs prepended, then:
<li class="compactitem">If the item does not exist, it is ignored.</li></ul>
<!--l. 685--><p class="noindent" >Whether an item is to be excluded is determined as follows: For each item in the exclusion list,
pretend it has the value of the <span
-class="ectt-1000">ED </span>variable in offset-prefix aware EAPIs or the <span
-class="ectt-1000">D </span>variable in
-offset-prefix agnostic EAPIs prepended, then:
-</p><!--l. 690--><p class="noindent" >
+class="ectt-1000">ED </span>variable prepended, then:
+</p><!--l. 689--><p class="noindent" >
</p><ul>
<li class="compactitem">If it is a directory, act as if every file or directory immediately under this directory
were in the exclusion list.
@@ -8136,10 +8078,10 @@ offset-prefix agnostic EAPIs prepended, then:
<li class="compactitem">If the item is a file, it shall not be compressed.
</li>
<li class="compactitem">If the item does not exist, it is ignored.</li></ul>
-<!--l. 696--><p class="noindent" >The package manager shall take appropriate steps to ensure that its compression mechanisms
+<!--l. 695--><p class="noindent" >The package manager shall take appropriate steps to ensure that its compression mechanisms
behave sensibly even if an item is listed in the inclusion list multiple times, if an item is a symlink,
or if a file is already compressed.
-</p><!--l. 700--><p class="noindent" >The following commands may be used in <span
+</p><!--l. 699--><p class="noindent" >The following commands may be used in <span
class="ectt-1000">src_install </span>to alter these lists. It is an error to call any
of these functions from any other phase.
</p><dl class="description"><dt class="description">
@@ -8149,19 +8091,19 @@ class="description">If the first argument is <span
class="ectt-1000">-x</span>, add each of its subsequent arguments to the
exclusion list. Otherwise, add each argument to the inclusion list. Only available in
EAPIs listed in table&#x00A0;<a
-href="#x1-140001r19">11.19<!--tex4ht:ref: tab:compression-table --></a> as supporting <span
+href="#x1-142001r19">11.19<!--tex4ht:ref: tab:compression-table --></a> as supporting <span
class="ectt-1000">docompress</span>.</dd></dl>
<div class="table">
-<!--l. 710--><p class="noindent" ><a
- id="x1-140001r19"></a></p><hr class="float" /><div class="float"
+<!--l. 709--><p class="noindent" ><a
+ id="x1-142001r19"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.19: </span><span
-class="content">EAPIs supporting controllable compression</span></div><!--tex4ht:label?: x1-140001r19 -->
+class="content">EAPIs supporting controllable compression</span></div><!--tex4ht:label?: x1-142001r19 -->
<div class="tabular">
<table id="TBL-42" class="tabular"
cellspacing="0" cellpadding="0"
@@ -8197,15 +8139,15 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.12 </span> <a
- id="x1-14100011.3.3.12"></a>Use List Functions</h5>
-<!--l. 725--><p class="nopar" >These functions provide behaviour based upon set or unset use flags. Ebuilds must not run any of
+ id="x1-14300011.3.3.12"></a>USE list functions</h5>
+<!--l. 724--><p class="nopar" >These functions provide behaviour based upon set or unset use flags. Ebuilds must not run any of
these commands once the current phase function has returned. It is an error if an ebuild calls any
of these functions in global scope.
-</p><!--l. 729--><p class="noindent" >Unless otherwise noted, if any of these functions is called with a flag value that is not
+</p><!--l. 728--><p class="noindent" >Unless otherwise noted, if any of these functions is called with a flag value that is not
included in <span
class="ectt-1000">IUSE_EFFECTIVE</span>, either behaviour is undefined or it is an error as decided by
table&#x00A0;<a
-href="#x1-141001r20">11.20<!--tex4ht:ref: tab:use-list-strictness --></a>.
+href="#x1-143001r20">11.20<!--tex4ht:ref: tab:use-list-strictness --></a>.
</p><dl class="description"><dt class="description">
<span
class="ecbx-1000">use</span> </dt><dd
@@ -8228,16 +8170,15 @@ class="ectt-1000">use</span>.
<span
class="ecbx-1000">use_with</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">USE</span>-<span
-class="small-caps">WITH</span></span></span> Has one-, two-, and three-argument forms. The first argument is a
+class="eccc1000-"><span
+class="small-caps">use-with</span></span></span> Has one-, two-, and three-argument forms. The first argument is a
USE flag name, the second a <span
class="ectt-1000">configure </span>option name (<span
class="ectt-1000">${opt}</span>), defaulting to the same
as the first argument if not provided, and the third is a string value (<span
class="ectt-1000">${value}</span>). For
EAPIs listed in table&#x00A0;<a
-href="#x1-141002r21">11.21<!--tex4ht:ref: tab:use-with-third-arg --></a> as not supporting it, an empty third argument is treated
+href="#x1-143002r21">11.21<!--tex4ht:ref: tab:use-with-third-arg --></a> as not supporting it, an empty third argument is treated
as if it weren&#8217;t provided. If the USE flag is set, outputs <span
class="ectt-1000">--with-${opt}=${value} </span>if
the third argument was provided, and <span
@@ -8258,8 +8199,8 @@ class="ectt-1000">--without-</span>.
<span
class="ecbx-1000">usex</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">USEX</span></span></span> Accepts at least one and at most five arguments. The first argument is a USE
+class="eccc1000-"><span
+class="small-caps">usex</span></span></span> Accepts at least one and at most five arguments. The first argument is a USE
flag name, any subsequent arguments (<span
class="ectt-1000">${arg2} </span>to <span
class="ectt-1000">${arg5}</span>) are string values. If not
@@ -8276,32 +8217,32 @@ class="ectt-1000">${arg2}${arg4}</span>.
class="ectt-1000">${arg3}${arg5}</span>. The condition is inverted if the flag name is
prefixed with&#x00A0;<span
class="ectt-1000">!</span>. Only available in EAPIs listed in table&#x00A0;<a
-href="#x1-141003r22">11.22<!--tex4ht:ref: tab:use-list-functions --></a> as supporting <span
+href="#x1-143003r22">11.22<!--tex4ht:ref: tab:use-list-functions --></a> as supporting <span
class="ectt-1000">usex</span>.
</dd><dt class="description">
<span
class="ecbx-1000">in_iuse</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">IN</span>-<span
-class="small-caps">IUSE</span></span></span> Returns shell true (0) if the first argument (a <span
+class="eccc1000-"><span
+class="small-caps">in-iuse</span></span></span> Returns shell true (0) if the first argument (a <span
class="ectt-1000">USE </span>flag name) is included
in <span
class="ectt-1000">IUSE_EFFECTIVE</span>, false otherwise. Only available in EAPIs listed in table&#x00A0;<a
-href="#x1-141003r22">11.22<!--tex4ht:ref: tab:use-list-functions --></a> as
+href="#x1-143003r22">11.22<!--tex4ht:ref: tab:use-list-functions --></a> as
supporting <span
class="ectt-1000">in_iuse</span>.</dd></dl>
<div class="table">
-<!--l. 763--><p class="noindent" ><a
- id="x1-141001r20"></a></p><hr class="float" /><div class="float"
+<!--l. 762--><p class="noindent" ><a
+ id="x1-143001r20"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.20: </span><span
-class="content">EAPI Behaviour for Use Queries not in IUSE_EFFECTIVE</span></div><!--tex4ht:label?: x1-141001r20 -->
+class="content">EAPI behaviour for use queries not in <span
+class="ectt-1000">IUSE_EFFECTIVE</span></span></div><!--tex4ht:label?: x1-143001r20 -->
<div class="tabular">
<table id="TBL-43" class="tabular"
cellspacing="0" cellpadding="0"
@@ -8332,8 +8273,8 @@ class="td11"> </td></tr></table></div>
<div class="table">
-<!--l. 777--><p class="noindent" ><a
- id="x1-141002r21"></a></p><hr class="float" /><div class="float"
+<!--l. 776--><p class="noindent" ><a
+ id="x1-143002r21"></a></p><hr class="float" /><div class="float"
>
@@ -8341,7 +8282,7 @@ class="td11"> </td></tr></table></div>
><span class="id">Table&#x00A0;11.21: </span><span
class="content">EAPIs supporting empty third argument in <span
class="ectt-1000">use_with </span>and <span
-class="ectt-1000">use_enable</span></span></div><!--tex4ht:label?: x1-141002r21 -->
+class="ectt-1000">use_enable</span></span></div><!--tex4ht:label?: x1-143002r21 -->
<div class="tabular">
<table id="TBL-44" class="tabular"
cellspacing="0" cellpadding="0"
@@ -8372,8 +8313,8 @@ class="td11"> </td></tr></table></div>
<div class="table">
-<!--l. 791--><p class="noindent" ><a
- id="x1-141003r22"></a></p><hr class="float" /><div class="float"
+<!--l. 790--><p class="noindent" ><a
+ id="x1-143003r22"></a></p><hr class="float" /><div class="float"
>
@@ -8381,7 +8322,7 @@ class="td11"> </td></tr></table></div>
><span class="id">Table&#x00A0;11.22: </span><span
class="content">EAPIs supporting <span
class="ectt-1000">usex </span>and <span
-class="ectt-1000">in_iuse</span></span></div><!--tex4ht:label?: x1-141003r22 -->
+class="ectt-1000">in_iuse</span></span></div><!--tex4ht:label?: x1-143003r22 -->
<div class="tabular">
<table id="TBL-45" class="tabular"
cellspacing="0" cellpadding="0"
@@ -8421,8 +8362,8 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.13 </span> <a
- id="x1-14200011.3.3.13"></a>Text List Functions</h5>
-<!--l. 807--><p class="nopar" >These functions check whitespace-separated lists for a particular value.
+ id="x1-14400011.3.3.13"></a>Text list functions</h5>
+<!--l. 806--><p class="nopar" >These functions check whitespace-separated lists for a particular value.
</p><dl class="description"><dt class="description">
<span
class="ecbx-1000">has</span> </dt><dd
@@ -8438,11 +8379,11 @@ class="ectt-1000">has</span>, but also prints the first argument if found.
class="ecbx-1000">hasq</span> </dt><dd
class="description">Deprecated synonym for <span
class="ectt-1000">has</span>.</dd></dl>
-<!--l. 816--><p class="nopar" >
+<!--l. 815--><p class="nopar" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.14 </span> <a
- id="x1-14300011.3.3.14"></a>Misc Commands</h5>
-<!--l. 817--><p class="nopar" >The following commands are always available in the ebuild environment, but don&#8217;t really fit in any
+ id="x1-14500011.3.3.14"></a>Misc commands</h5>
+<!--l. 816--><p class="nopar" >The following commands are always available in the ebuild environment, but don&#8217;t really fit in any
of the above categories. Ebuilds must not run any of these commands once the current phase
function has returned.
</p><dl class="description"><dt class="description">
@@ -8460,9 +8401,9 @@ class="ectt-1000">sed </span>is run with the current expression on that
class="ectt-1000">s:${ED}::g </span>in offset-prefix aware EAPIs and <span
class="ectt-1000">s:${D}::g </span>in
offset-prefix agnostic EAPIs. In EAPIs listed in table&#x00A0;<a
-href="#x1-131001r9">11.9<!--tex4ht:ref: tab:banned-commands-table --></a>, this command is banned
+href="#x1-133001r9">11.9<!--tex4ht:ref: tab:banned-commands-table --></a>, this command is banned
as per section&#x00A0;<a
-href="#x1-13100011.3.3.2">11.3.3.2<!--tex4ht:ref: sec:banned-commands --></a>.
+href="#x1-13300011.3.3.2">11.3.3.2<!--tex4ht:ref: sec:banned-commands --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">unpack</span> </dt><dd
@@ -8472,38 +8413,36 @@ class="description">Unpacks one or more source archives, in order, into the curr
class="ectt-1000">a+r,u+w,go-w </span>and that
all directories under the current working directory additionally have permissions <span
class="ectt-1000">a+x</span>.
- <!--l. 835--><p class="noindent" >Arguments to <span
-class="ectt-1000">unpack </span>are interpreted as follows: </p>
- <ul class="itemize1">
- <li class="itemize">A filename without path (i. e., not containing any slash) is looked up in <span
+ <!--l. 834--><p class="noindent" >Arguments to <span
+class="ectt-1000">unpack </span>are interpreted as follows:
+ </p><ul>
+ <li class="compactitem">A filename without path (i. e., not containing any slash) is looked up in <span
class="ectt-1000">DISTDIR</span>.
</li>
- <li class="itemize">An argument starting with the string <span
+ <li class="compactitem">An argument starting with the string <span
class="ectt-1000">./ </span>is a path relative to the working directory.
</li>
- <li class="itemize"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">UNPACK</span>-<span
-class="small-caps">ABSOLUTE</span></span></span> Otherwise, for EAPIs listed in table&#x00A0;<a
-href="#x1-143001r23">11.23<!--tex4ht:ref: tab:unpack-behaviour --></a> as supporting
+ <li class="compactitem"><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">unpack-absolute</span></span></span> Otherwise, for EAPIs listed in table&#x00A0;<a
+href="#x1-145001r23">11.23<!--tex4ht:ref: tab:unpack-behaviour --></a> as supporting
absolute and relative paths, the argument is interpreted as a literal path (absolute,
or relative to the working directory); for EAPIs listed as <span
class="ecti-1000">not </span>supporting such
paths, <span
class="ectt-1000">unpack </span>shall abort the build process.</li></ul>
-
-
- <!--l. 845--><p class="noindent" >Any unrecognised file format shall be skipped silently. If unpacking a supported file format
+ <!--l. 844--><p class="noindent" >Any unrecognised file format shall be skipped silently. If unpacking a supported file format
fails, <span
class="ectt-1000">unpack </span>shall abort the build process.
- </p><!--l. 848--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">UNPACK</span>-<span
-class="small-caps">EXTENSIONS</span></span></span> Must be able to unpack the following file formats, if the relevant
+
+
+ </p><!--l. 847--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">unpack-extensions</span></span></span> Must be able to unpack the following file formats, if the relevant
binaries are available: </p>
<ul class="itemize1">
<li class="itemize">tar files (<span
-class="ectt-1000">*.tar</span>). Ebuilds must ensure that GNU tar installed.
+class="ectt-1000">*.tar</span>). Ebuilds must ensure that GNU tar is installed.
</li>
<li class="itemize">gzip-compressed files (<span
class="ectt-1000">*.gz, *.Z</span>). Ebuilds must ensure that GNU gzip is
@@ -8544,46 +8483,44 @@ class="ectt-1000">*.deb</span>). Ebuilds must ensure that the deb2targz program
ensure that GNU binutils is installed.
</li>
<li class="itemize">lzma-compressed files (<span
-class="ectt-1000">*.lzma</span>). Ebuilds must ensure that LZMA Utils is installed.
+class="ectt-1000">*.lzma</span>). Ebuilds must ensure that XZ Utils is installed.
</li>
<li class="itemize">lzma-compressed tar files (<span
-class="ectt-1000">*.tar.lzma</span>). Ebuilds must ensure that LZMA Utils
- and GNU tar are installed.
+class="ectt-1000">*.tar.lzma</span>). Ebuilds must ensure that XZ Utils and
+ GNU tar are installed.
</li>
<li class="itemize">xz-compressed files (<span
class="ectt-1000">*.xz</span>). Ebuilds must ensure that XZ Utils is installed. Only
for EAPIs listed in table&#x00A0;<a
-href="#x1-143002r24">11.24<!--tex4ht:ref: sec:banned-commands --></a> as supporting <span
+href="#x1-145002r24">11.24<!--tex4ht:ref: sec:banned-commands --></a> as supporting <span
class="ectt-1000">.xz</span>.
</li>
<li class="itemize">xz-compressed tar files (<span
class="ectt-1000">*.tar.xz, *.txz</span>). Ebuilds must ensure that XZ Utils
and GNU tar are installed. Only for EAPIs listed in table&#x00A0;<a
-href="#x1-143002r24">11.24<!--tex4ht:ref: sec:banned-commands --></a> as supporting
+href="#x1-145002r24">11.24<!--tex4ht:ref: sec:banned-commands --></a> as supporting
<span
class="ectt-1000">.tar.xz </span>or <span
class="ectt-1000">.txz</span>.</li></ul>
- <!--l. 876--><p class="nopar" >It is up to the ebuild to ensure that the relevant external utilities are available, whether by
+ <!--l. 875--><p class="nopar" >It is up to the ebuild to ensure that the relevant external utilities are available, whether by
being in the system set or via dependencies.
-
-
- </p><!--l. 879--><p class="noindent" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">UNPACK</span>-<span
-class="small-caps">IGNORE</span>-<span
-class="small-caps">CASE</span></span></span> <span
+ </p><!--l. 878--><p class="noindent" ><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">unpack-ignore-case</span></span></span> <span
class="ectt-1000">unpack </span>matches filename extensions in a case-insensitive manner, for
EAPIs listed such in table&#x00A0;<a
-href="#x1-143001r23">11.23<!--tex4ht:ref: tab:unpack-behaviour --></a>.
+href="#x1-145001r23">11.23<!--tex4ht:ref: tab:unpack-behaviour --></a>.
</p>
+
+
<div class="table">
- <!--l. 883--><p class="noindent" ><a
- id="x1-143001r23"></a></p><hr class="float" /><div class="float"
+ <!--l. 882--><p class="noindent" ><a
+ id="x1-145001r23"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.23: </span><span
class="content"><span
-class="ectt-1000">unpack </span>behaviour for EAPIs</span></div><!--tex4ht:label?: x1-143001r23 -->
+class="ectt-1000">unpack </span>behaviour for EAPIs</span></div><!--tex4ht:label?: x1-145001r23 -->
<div class="tabular">
<table id="TBL-46" class="tabular"
cellspacing="0" cellpadding="0"
@@ -8613,13 +8550,13 @@ class="td11"> Yes </td>
class="td11"> </td></tr></table></div></div><hr class="endfloat" />
</div>
<div class="table">
- <!--l. 898--><p class="noindent" ><a
- id="x1-143002r24"></a></p><hr class="float" /><div class="float"
+ <!--l. 897--><p class="noindent" ><a
+ id="x1-145002r24"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.24: </span><span
class="content"><span
-class="ectt-1000">unpack </span>extensions for EAPIs</span></div><!--tex4ht:label?: x1-143002r24 -->
+class="ectt-1000">unpack </span>extensions for EAPIs</span></div><!--tex4ht:label?: x1-145002r24 -->
<div class="tabular">
<table id="TBL-47" class="tabular"
cellspacing="0" cellpadding="0"
@@ -8666,96 +8603,81 @@ class="td11"> </td></tr></table></div></div><hr class="endfloat" />
<span
class="ecbx-1000">inherit</span> </dt><dd
class="description">See section&#x00A0;<a
-href="#x1-11400010.1">10.1<!--tex4ht:ref: sec:inherit --></a>.
+href="#x1-11600010.1">10.1<!--tex4ht:ref: sec:inherit --></a>.
</dd><dt class="description">
<span
class="ecbx-1000">default</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">DEFAULT</span>-<span
-class="small-caps">FUNC</span></span></span> Calls the <span
+class="eccc1000-"><span
+class="small-caps">default-func</span></span></span> Calls the <span
class="ectt-1000">default_ </span>function for the current phase (see section&#x00A0;<a
-href="#x1-1110009.1.17">9.1.17<!--tex4ht:ref: sec:default-phase-funcs --></a>).
+href="#x1-1130009.1.17">9.1.17<!--tex4ht:ref: sec:default-phase-funcs --></a>).
Must not be called if the <span
class="ectt-1000">default_ </span>function does not exist for the current phase in
the current EAPI. Only available in EAPIs listed in table&#x00A0;<a
-href="#x1-143034r25">11.25<!--tex4ht:ref: tab:misc-commands --></a> as supporting
+href="#x1-145034r25">11.25<!--tex4ht:ref: tab:misc-commands --></a> as supporting
<span
class="ectt-1000">default</span>.
</dd><dt class="description">
<span
class="ecbx-1000">einstalldocs</span> </dt><dd
class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">EINSTALLDOCS</span></span></span> Takes no arguments. Installs the files specified by the <span
+class="eccc1000-"><span
+class="small-caps">einstalldocs</span></span></span> Takes no arguments. Installs the files specified by the <span
class="ectt-1000">DOCS </span>and
<span
class="ectt-1000">HTML_DOCS </span>variables or a default set of files, according to Algorithm&#x00A0;<a
-href="#x1-143003r4">11.4<!--tex4ht:ref: alg:einstalldocs --></a>. If called using
+href="#x1-145003r4">11.4<!--tex4ht:ref: alg:einstalldocs --></a>. If called using
<span
class="ectt-1000">nonfatal </span>and any of the called commands returns a non-zero exit status, returns
immediately with the same exit status. Only available in EAPIs listed in table&#x00A0;<a
-href="#x1-143034r25">11.25<!--tex4ht:ref: tab:misc-commands --></a> as
+href="#x1-145034r25">11.25<!--tex4ht:ref: tab:misc-commands --></a> as
supporting <span
class="ectt-1000">einstalldocs</span>.
- </dd><dt class="description">
-<span
-class="ecbx-1000">get_libdir</span> </dt><dd
-class="description"><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">GET</span>-<span
-class="small-caps">LIBDIR</span></span></span> Prints the libdir name obtained according to Algorithm&#x00A0;<a
-href="#x1-143025r5">11.5<!--tex4ht:ref: alg:get-libdir --></a>. Only
- available in EAPIs listed in table&#x00A0;<a
-href="#x1-143034r25">11.25<!--tex4ht:ref: tab:misc-commands --></a> as supporting <span
-class="ectt-1000">get_libdir</span>.</dd></dl>
-<div class="algorithm">
-
-
-<!--l. 934--><p class="noindent" ><a
- id="x1-143003r4"></a></p><hr class="float" /><div class="float"
+ <div class="algorithm">
+ <!--l. 928--><p class="noindent" ><a
+ id="x1-145003r4"></a></p><hr class="float" /><div class="float"
>
-
-
<div class="caption"
><span class="id">Algorithm 11.4: </span><span
-class="content">einstalldocs logic</span></div><!--tex4ht:label?: x1-143003r4 -->
+class="content"><span
+class="ectt-1000">einstalldocs </span>logic</span></div><!--tex4ht:label?: x1-145003r4 -->
<div class="algorithmic">
<a
- id="x1-143004r176"></a>
- <span class="ALCitem"><span class="ecrm-0800">&#x2007;1:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> save the value of the install directory for <span
+ id="x1-145004r176"></a>
+ <span class="ALCitem">1:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> save the value of the install directory for <span
class="ectt-1000">dodoc</span> <a
- id="x1-143005r177"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;2:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> set the install directory for <span
+ id="x1-145005r177"></a>
+ <br /><span class="ALCitem">2:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> set the install directory for <span
class="ectt-1000">dodoc </span>to <span
class="ectt-1000">/usr/share/doc/${PF}</span> <a
- id="x1-143006r178"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;3:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-145006r178"></a>
+ <br /><span class="ALCitem">3:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;the DOCS variable is a non-empty array&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-143007r179"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;4:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> call <span
+ id="x1-145007r179"></a>
+ <br /><span class="ALCitem">4:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> call <span
class="ectt-1000">dodoc -r "${DOCS[@]}"</span>
</span><a
- id="x1-143008r180"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;5:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-145008r180"></a>
+ <br /><span class="ALCitem">5:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;the DOCS variable is a non-empty scalar&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-143009r181"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;6:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> call <span
+ id="x1-145009r181"></a>
+ <br /><span class="ALCitem">6:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> call <span
class="ectt-1000">dodoc -r ${DOCS}</span>
</span><a
- id="x1-143010r182"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;7:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-145010r182"></a>
+ <br /><span class="ALCitem">7:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;the DOCS variable is unset&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-143011r183"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;8:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-145011r183"></a>
+ <br /><span class="ALCitem">8:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">for all</span>&#x00A0;<span
class="cmmi-10">d </span>matching the filename expansion of <span
class="ectt-1000">README* ChangeLog AUTHORS NEWS TODO</span>
@@ -8763,138 +8685,130 @@ class="ectt-1000">README* ChangeLog AUTHORS NEWS TODO</span>
class="ectt-1000">CHANGES THANKS BUGS FAQ CREDITS CHANGELOG</span>&#x00A0;<span
class="ecbx-1000">do</span><span class="for-body">
<a
- id="x1-143012r184"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;9:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-145012r184"></a>
+ <br /><span class="ALCitem">9:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;file <span
class="cmmi-10">d </span>exists and has a size greater than zero&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-143013r185"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">10:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:34.99146pt;">&nbsp;</span> call <span
+ id="x1-145013r185"></a>
+<br /><span class="ALCitem">10:</span><span class="ALIndent" style="width:34.99146pt;">&nbsp;</span> call <span
class="ectt-1000">dodoc </span>with <span
class="cmmi-10">d </span>as argument
</span><a
- id="x1-143014r186"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">11:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> <span
+ id="x1-145014r186"></a>
+
+
+<br /><span class="ALCitem">11:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-143015r187"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">12:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-145015r187"></a>
+<br /><span class="ALCitem">12:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">for</span>
</span><a
- id="x1-143016r188"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">13:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-145016r188"></a>
+<br /><span class="ALCitem">13:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-143017r189"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">14:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> set the install directory for <span
+ id="x1-145017r189"></a>
+<br /><span class="ALCitem">14:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> set the install directory for <span
class="ectt-1000">dodoc </span>to <span
class="ectt-1000">/usr/share/doc/${PF}/html</span> <a
- id="x1-143018r190"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">15:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-145018r190"></a>
+<br /><span class="ALCitem">15:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;the HTML_DOCS variable is a non-empty array&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-143019r191"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">16:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> call <span
+ id="x1-145019r191"></a>
+<br /><span class="ALCitem">16:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> call <span
class="ectt-1000">dodoc -r "${HTML_DOCS[@]}"</span>
</span><a
- id="x1-143020r192"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">17:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-145020r192"></a>
+<br /><span class="ALCitem">17:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">else</span>&#x00A0;<span
class="ecbx-1000">if</span>&#x00A0;the HTML_DOCS variable is a non-empty scalar&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-143021r193"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">18:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> call <span
+ id="x1-145021r193"></a>
+<br /><span class="ALCitem">18:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> call <span
class="ectt-1000">dodoc -r ${HTML_DOCS}</span>
</span><a
- id="x1-143022r194"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">19:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-145022r194"></a>
+<br /><span class="ALCitem">19:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-143023r195"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">20:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> restore the value of the install directory for <span
+ id="x1-145023r195"></a>
+<br /><span class="ALCitem">20:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> restore the value of the install directory for <span
class="ectt-1000">dodoc</span> <a
- id="x1-143024r196"></a>
-<br /><span class="ALCitem"><span
-class="ecrm-0800">21:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-145024r196"></a>
+<br /><span class="ALCitem">21:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">return </span>&#x00A0;shell true (0)
-</div>
-
-
-</div><hr class="endfloat" />
-</div>
-<div class="algorithm">
-
-
-<!--l. 962--><p class="noindent" ><a
- id="x1-143025r5"></a></p><hr class="float" /><div class="float"
+ </div> </div><hr class="endfloat" />
+ </div>
+ </dd><dt class="description">
+<span
+class="ecbx-1000">get_libdir</span> </dt><dd
+class="description"><span class="fbox"><span
+class="eccc1000-"><span
+class="small-caps">get-libdir</span></span></span> Prints the libdir name obtained according to Algorithm&#x00A0;<a
+href="#x1-145025r5">11.5<!--tex4ht:ref: alg:get-libdir --></a>. Only
+ available in EAPIs listed in table&#x00A0;<a
+href="#x1-145034r25">11.25<!--tex4ht:ref: tab:misc-commands --></a> as supporting <span
+class="ectt-1000">get_libdir</span>.
+ <div class="algorithm">
+ <!--l. 960--><p class="noindent" ><a
+ id="x1-145025r5"></a></p><hr class="float" /><div class="float"
>
-
-
<div class="caption"
><span class="id">Algorithm 11.5: </span><span
-class="content">get_libdir logic</span></div><!--tex4ht:label?: x1-143025r5 -->
+class="content"><span
+class="ectt-1000">get_libdir </span>logic</span></div><!--tex4ht:label?: x1-145025r5 -->
<div class="algorithmic">
<a
- id="x1-143026r197"></a>
- <span class="ALCitem"><span class="ecrm-0800">&#x2007;1:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> let libdir=lib <a
- id="x1-143027r198"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;2:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-145026r197"></a>
+ <span class="ALCitem">1:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> let libdir=lib <a
+ id="x1-145027r198"></a>
+ <br /><span class="ALCitem">2:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;the ABI environment variable is set&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-143028r199"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;3:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> let libvar=LIBDIR_$ABI <a
- id="x1-143029r200"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;4:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-145028r199"></a>
+ <br /><span class="ALCitem">3:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> let libvar=LIBDIR_$ABI <a
+ id="x1-145029r200"></a>
+ <br /><span class="ALCitem">4:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">if</span>&#x00A0;the environment variable named by libvar is set&#x00A0;<span
class="ecbx-1000">then</span><span class="if-body">
<a
- id="x1-143030r201"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;5:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:24.9939pt;">&nbsp;</span> let libdir=the value of the variable named by libvar
+ id="x1-145030r201"></a>
+ <br /><span class="ALCitem">5:</span><span class="ALIndent" style="width:24.9939pt;">&nbsp;</span> let libdir=the value of the variable named by libvar
</span><a
- id="x1-143031r202"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;6:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:14.99634pt;">&nbsp;</span> <span
+ id="x1-145031r202"></a>
+ <br /><span class="ALCitem">6:</span><span class="ALIndent" style="width:14.99634pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span>
</span><a
- id="x1-143032r203"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;7:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> <span
+ id="x1-145032r203"></a>
+ <br /><span class="ALCitem">7:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> <span
class="ecbx-1000">end</span>&#x00A0;<span
class="ecbx-1000">if</span><a
- id="x1-143033r204"></a>
- <br /><span class="ALCitem"><span class="ecrm-0800">&#x2007;8:</span></span><span style="display:-moz-inline-box;display:inline-block;height:1px;width:4.99878pt;">&nbsp;</span> print the value of libdir
-</div>
-
-
-</div><hr class="endfloat" />
-</div>
+ id="x1-145033r204"></a>
+ <br /><span class="ALCitem">8:</span><span class="ALIndent" style="width:4.99878pt;">&nbsp;</span> print the value of libdir
+ </div> </div><hr class="endfloat" />
+ </div>
+ </dd></dl>
<div class="table">
<!--l. 976--><p class="noindent" ><a
- id="x1-143034r25"></a></p><hr class="float" /><div class="float"
+ id="x1-145034r25"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;11.25: </span><span
-class="content">Misc commands for EAPIs</span></div><!--tex4ht:label?: x1-143034r25 -->
+class="content">Misc commands for EAPIs</span></div><!--tex4ht:label?: x1-145034r25 -->
<div class="tabular">
<table id="TBL-48" class="tabular"
cellspacing="0" cellpadding="0"
@@ -8941,7 +8855,7 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.15 </span> <a
- id="x1-14400011.3.3.15"></a>Debug Commands</h5>
+ id="x1-14600011.3.3.15"></a>Debug commands</h5>
<!--l. 993--><p class="nopar" >The following commands are available for debugging. Normally all of these commands should be no
ops; a package manager may provide a special debug mode where these commands instead do
something. Ebuilds must not run any of these commands once the current phase function has
@@ -8967,7 +8881,7 @@ class="ectt-1000">now in section $*</span>.</dd></dl>
<!--l. 1005--><p class="nopar" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">11.3.3.16 </span> <a
- id="x1-14500011.3.3.16"></a>Reserved Commands and Variables</h5>
+ id="x1-14700011.3.3.16"></a>Reserved commands and variables</h5>
<!--l. 1007--><p class="nopar" >Except where documented otherwise, all functions and variables that contain any of the following
strings (ignoring case) are reserved for package manager use and may not be used or relied upon by
ebuilds:
@@ -8999,11 +8913,11 @@ class="ectt-1000">prep</span></li></ul>
<!--l. 1--><p class="nopar" >
</p>
<h3 class="sectionHead"><span class="titlemark">11.4 </span> <a
- id="x1-14600011.4"></a>The state of the system between functions</h3>
+ id="x1-14800011.4"></a>The State of the System Between Functions</h3>
-<!--l. 4--><p class="nopar" >For the sake of this section:
-</p><!--l. 7--><p class="noindent" >
+<!--l. 3--><p class="nopar" >For the sake of this section:
+</p><!--l. 6--><p class="noindent" >
</p><ul>
<li class="compactitem">Variancy is any package manager action that modifies either <span
class="ectt-1000">ROOT </span>or <span
@@ -9020,19 +8934,18 @@ class="ectt-1000">DISTDIR </span>do not count as variancy.
<li class="compactitem">The <span
class="ectt-1000">pkg_setup </span>function may be assumed not to introduce variancy. Thus, ebuilds
must not perform variant actions in this phase.</li></ul>
-<!--l. 17--><p class="noindent" >The following exclusivity and invariancy requirements are mandated:
-</p><!--l. 20--><p class="noindent" >
+<!--l. 16--><p class="noindent" >The following exclusivity and invariancy requirements are mandated:
+</p><!--l. 19--><p class="noindent" >
</p><ul>
<li class="compactitem">No variancy shall be introduced at any point between a package&#8217;s <span
class="ectt-1000">pkg_setup </span>being
started up to the point that that package is merged, except for any variancy introduced
by that package.
</li>
- <li class="compactitem">There must be no variancy between a package&#8217;s <span
-class="ectt-1000">pkg_setup </span>and a package&#8217;s <span
-class="ectt-1000">pkg_</span>
+ <li class="compactitem">There must be no variancy between a package&#8217;s <span
+class="ectt-1000">pkg_setup </span>and a package&#8217;s
<span
-class="ectt-1000">postinst</span>, except for any variancy introduced by that package.
+class="ectt-1000">pkg_postinst</span>, except for any variancy introduced by that package.
</li>
<li class="compactitem">Any non-default <span
class="ectt-1000">pkg </span>phase function must be run exclusively.
@@ -9046,9 +8959,9 @@ class="ectt-1000">pkg </span>phase function must be run exclusively.
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;12</span><br /><a
- id="x1-14700012"></a>Merging and Unmerging</h2>
+ id="x1-14900012"></a>Merging and Unmerging</h2>
<!--l. 3--><p class="nopar" ><span class="paragraphHead"><a
- id="x1-14800012"></a><span
+ id="x1-15000012"></a><span
class="ecbx-1000">Note:</span></span>
In this chapter, <span
class="ecti-1000">file </span>and <span
@@ -9056,7 +8969,7 @@ class="ecti-1000">regular file </span>have their Unix meanings.
</p><!--l. 5--><p class="nopar" >
</p>
<h3 class="sectionHead"><span class="titlemark">12.1 </span> <a
- id="x1-14900012.1"></a>Overview</h3>
+ id="x1-15100012.1"></a>Overview</h3>
<!--l. 7--><p class="nopar" >The merge process merges the contents of the <span
class="ectt-1000">D </span>directory onto the filesystem under <span
class="ectt-1000">ROOT</span>. This is
@@ -9066,7 +8979,7 @@ specification.
</p><!--l. 13--><p class="nopar" >
</p>
<h3 class="sectionHead"><span class="titlemark">12.2 </span> <a
- id="x1-15000012.2"></a>Directories</h3>
+ id="x1-15200012.2"></a>Directories</h3>
<!--l. 15--><p class="nopar" >Directories are merged recursively onto the filesystem. The method used to perform the merge is
not specified, so long as the end result is correct. In particular, merging a directory may alter or
remove the source directory under <span
@@ -9076,7 +8989,7 @@ directory or a symlink to a directory.
</p><!--l. 22--><p class="nopar" >
</p>
<h4 class="subsectionHead"><span class="titlemark">12.2.1 </span> <a
- id="x1-15100012.2.1"></a>Permissions</h4>
+ id="x1-15300012.2.1"></a>Permissions</h4>
<!--l. 24--><p class="nopar" >The owner, group and mode (including set*id and sticky bits) of the directory must be preserved,
except as follows:
</p><!--l. 28--><p class="noindent" >
@@ -9091,7 +9004,7 @@ including modification time, may be discarded.
</p><!--l. 36--><p class="nopar" >
</p>
<h4 class="subsectionHead"><span class="titlemark">12.2.2 </span> <a
- id="x1-15200012.2.2"></a>Empty Directories</h4>
+ id="x1-15400012.2.2"></a>Empty directories</h4>
<!--l. 38--><p class="nopar" >Behaviour upon encountering an empty directory is undefined. Ebuilds must not attempt to install
@@ -9099,7 +9012,7 @@ an empty directory.
</p><!--l. 41--><p class="nopar" >
</p>
<h3 class="sectionHead"><span class="titlemark">12.3 </span> <a
- id="x1-15300012.3"></a>Regular Files</h3>
+ id="x1-15500012.3"></a>Regular Files</h3>
<!--l. 43--><p class="nopar" >Regular files are merged onto the filesystem (but see the notes on configuration file protection,
below). The method used to perform the merge is not specified, so long as the end result is
correct. In particular, merging a regular file may alter or remove the source file under
@@ -9110,7 +9023,7 @@ regular file or a symlink to a regular file.
</p><!--l. 50--><p class="nopar" >
</p>
<h4 class="subsectionHead"><span class="titlemark">12.3.1 </span> <a
- id="x1-15400012.3.1"></a>Permissions</h4>
+ id="x1-15600012.3.1"></a>Permissions</h4>
<!--l. 52--><p class="nopar" >The owner, group and mode (including set*id and sticky bits) of the file must be preserved, except
as follows:
</p><!--l. 56--><p class="noindent" >
@@ -9128,12 +9041,11 @@ discarded.
</p><!--l. 66--><p class="nopar" >
</p>
<h4 class="subsectionHead"><span class="titlemark">12.3.2 </span> <a
- id="x1-15500012.3.2"></a>File modification times</h4>
+ id="x1-15700012.3.2"></a>File modification times</h4>
<!--l. 68--><p class="nopar" ><span class="fbox"><span
-class="eccc-1000"><span
-class="small-caps">MTIME</span>-<span
-class="small-caps">PRESERVE</span></span></span> In EAPIs listed in table&#x00A0;<a
-href="#x1-155001r1">12.1<!--tex4ht:ref: tab:mtime-preserve --></a>, the package manager must preserve modification
+class="eccc1000-"><span
+class="small-caps">mtime-preserve</span></span></span> In EAPIs listed in table&#x00A0;<a
+href="#x1-157001r1">12.1<!--tex4ht:ref: tab:mtime-preserve --></a>, the package manager must preserve modification
times of regular files. This includes files being compressed before merging. Exceptions to this are
files newly created by the package manager and binary object files being stripped of
symbols.
@@ -9161,13 +9073,13 @@ image directory.
<!--l. 90--><p class="noindent" ><a
- id="x1-155001r1"></a></p><hr class="float" /><div class="float"
+ id="x1-157001r1"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Table&#x00A0;12.1: </span><span
-class="content">Preservation of file modification times (mtimes)</span></div><!--tex4ht:label?: x1-155001r1 -->
+class="content">Preservation of file modification times (mtimes)</span></div><!--tex4ht:label?: x1-157001r1 -->
<div class="tabular">
<table id="TBL-49" class="tabular"
cellspacing="0" cellpadding="0"
@@ -9196,13 +9108,13 @@ class="td11"> </td></tr></table></div>
</div><hr class="endfloat" />
</div>
<h4 class="subsectionHead"><span class="titlemark">12.3.3 </span> <a
- id="x1-15600012.3.3"></a>Configuration File Protection</h4>
+ id="x1-15800012.3.3"></a>Configuration file protection</h4>
<!--l. 106--><p class="nopar" >The package manager must provide a means to prevent user configuration files from
being overwritten by any package updates. The profile variables <span
class="ectt-1000">CONFIG_PROTECT </span>and
<span
class="ectt-1000">CONFIG_PROTECT_MASK </span>(section&#x00A0;<a
-href="#x1-590005.3">5.3<!--tex4ht:ref: sec:profile-variables --></a>) control the paths for which this must be enforced.
+href="#x1-610005.3">5.3<!--tex4ht:ref: sec:profile-variables --></a>) control the paths for which this must be enforced.
</p><!--l. 111--><p class="noindent" >In order to ensure interoperability with configuration update tools, the following scheme must be
used by all package managers when merging any regular file:
</p><!--l. 115--><p class="noindent" >
@@ -9240,7 +9152,7 @@ class="compactenum">If 9999 is reached in this way, behaviour is undefined.</dd>
<!--l. 130--><p class="nopar" >
</p>
<h3 class="sectionHead"><span class="titlemark">12.4 </span> <a
- id="x1-15700012.4"></a>Symlinks</h3>
+ id="x1-15900012.4"></a>Symlinks</h3>
<!--l. 132--><p class="nopar" >Symlinks are merged as symlinks onto the filesystem. The link destination for a merged link shall
be the same as the link destination for the link under <span
class="ectt-1000">D</span>, except as noted below. The method used
@@ -9251,7 +9163,7 @@ class="ectt-1000">D</span>.
</p><!--l. 139--><p class="nopar" >
</p>
<h4 class="subsectionHead"><span class="titlemark">12.4.1 </span> <a
- id="x1-15800012.4.1"></a>Rewriting</h4>
+ id="x1-16000012.4.1"></a>Rewriting</h4>
<!--l. 141--><p class="nopar" >Any absolute symlink whose link starts with <span
class="ectt-1000">D </span>must be rewritten with the leading <span
class="ectt-1000">D </span>removed. The
@@ -9261,13 +9173,13 @@ package manager should issue a notice when doing this.
</p><!--l. 144--><p class="nopar" >
</p>
<h3 class="sectionHead"><span class="titlemark">12.5 </span> <a
- id="x1-15900012.5"></a>Hard links</h3>
+ id="x1-16100012.5"></a>Hard Links</h3>
<!--l. 146--><p class="nopar" >A hard link may be merged either as a single file with links or as multiple independent
files.
</p><!--l. 148--><p class="nopar" >
</p>
<h3 class="sectionHead"><span class="titlemark">12.6 </span> <a
- id="x1-16000012.6"></a>Other Files</h3>
+ id="x1-16200012.6"></a>Other Files</h3>
<!--l. 150--><p class="nopar" >Ebuilds must not attempt to install any other type of file (FIFOs, device nodes etc).
@@ -9277,9 +9189,9 @@ files.
</p>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;13</span><br /><a
- id="x1-16100013"></a>Metadata Cache</h2>
+ id="x1-16300013"></a>Metadata Cache</h2>
<h3 class="sectionHead"><span class="titlemark">13.1 </span> <a
- id="x1-16200013.1"></a>Directory Contents</h3>
+ id="x1-16400013.1"></a>Directory Contents</h3>
<!--l. 6--><p class="nopar" >The <span
class="ectt-1000">profiles/metadata/cache </span>directory, if it exists, contains directories whose names are the
same as categories in the repository. Each subdirectory may optionally contain one file per
@@ -9291,7 +9203,7 @@ entries.
</p><!--l. 12--><p class="nopar" >
</p>
<h3 class="sectionHead"><span class="titlemark">13.2 </span> <a
- id="x1-16300013.2"></a>Cache File Format</h3>
+ id="x1-16500013.2"></a>Cache File Format</h3>
<!--l. 14--><p class="nopar" >Each cache file contains the textual values of various metadata keys, one per line, in the
following order. Other lines may be present following these; their meanings are not defined
here.
@@ -9345,7 +9257,7 @@ class="ectt-1000">IUSE</span>)
class="compactenum">Use flags that this package requires (<span
class="ectt-1000">REQUIRED_USE</span>). Blank in some EAPIs; see
table&#x00A0;<a
-href="#x1-67002r2">7.2<!--tex4ht:ref: tab:optional-vars-table --></a>.
+href="#x1-69002r2">7.2<!--tex4ht:ref: tab:optional-vars-table --></a>.
</dd><dt class="compactenum">
13. </dt><dd
class="compactenum">Post dependencies (<span
@@ -9365,13 +9277,13 @@ class="ectt-1000">EAPI</span>)
class="compactenum">Properties (<span
class="ectt-1000">PROPERTIES</span>). In some EAPIs, may optionally be blank, regardless of ebuild
metadata; see table&#x00A0;<a
-href="#x1-67002r2">7.2<!--tex4ht:ref: tab:optional-vars-table --></a>.
+href="#x1-69002r2">7.2<!--tex4ht:ref: tab:optional-vars-table --></a>.
</dd><dt class="compactenum">
17. </dt><dd
class="compactenum">Defined phases (<span
class="ectt-1000">DEFINED_PHASES</span>). In some EAPIs, may optionally be blank, regardless
of ebuild metadata; see table&#x00A0;<a
-href="#x1-73001r4">7.4<!--tex4ht:ref: tab:defined-phases-table --></a>.
+href="#x1-75001r4">7.4<!--tex4ht:ref: tab:defined-phases-table --></a>.
</dd><dt class="compactenum">
18. </dt><dd
class="compactenum">Blank lines to pad the file to 22 lines long</dd></dl>
@@ -9388,7 +9300,7 @@ line 15 if it does not.
</p>
<h2 class="chapterHead"><span class="titlemark">Chapter&#x00A0;14</span><br /><a
- id="x1-16400014"></a>Glossary</h2>
+ id="x1-16600014"></a>Glossary</h2>
<!--l. 4--><p class="nopar" >This section contains explanations of some of the terms used in this document whose meaning may
not be immediately obvious.
</p><dl class="description"><dt class="description">
@@ -9429,18 +9341,27 @@ class="description">See above.
<h2 class="likechapterHead"><a
- id="x1-16500014"></a>Bibliography</h2> <a
- id="Q1-1-238"></a>
+ id="x1-16700014"></a>Bibliography</h2>
+<a
+ id="Q1-1-240"></a>
<div class="thebibliography">
<p class="bibitem" ><span class="biblabel">
[1]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
+ id="XGlep68"></a>Micha&#322; G&oacute;rny.
+ GLEP 68: Package and category metadata. <a
+href="https://wiki.gentoo.org/wiki/GLEP:68" class="url" ><span
+class="ectt-1000">https://wiki.gentoo.org/wiki/GLEP:68</span></a>,
+ April 2016.
+ </p>
+ <p class="bibitem" ><span class="biblabel">
+ [2]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
id="XGlep44"></a>Marius Mauch. GLEP 44: Manifest2 format.
<a
href="https://wiki.gentoo.org/wiki/GLEP:44" class="url" ><span
class="ectt-1000">https://wiki.gentoo.org/wiki/GLEP:44</span></a>, December 2005.
</p>
<p class="bibitem" ><span class="biblabel">
- [2]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
+ [3]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a
id="XGlep37"></a>Jason Stubbs. GLEP 37: Virtuals deprecation.
<a
href="https://wiki.gentoo.org/wiki/GLEP:37" class="url" ><span
@@ -9452,22 +9373,21 @@ class="ectt-1000">https://wiki.gentoo.org/wiki/GLEP:37</span></a>, April 2005.
<a
- id="x1-165003r236"></a>
+ id="x1-167004r238"></a>
<h2 class="appendixHead"><span class="titlemark">Appendix&#x00A0;A</span><br /><a
- id="x1-166000A"></a>metadata.xml</h2>
+ id="x1-168000A"></a>metadata.xml</h2>
<!--l. 4--><p class="nopar" >The <span
class="ectt-1000">metadata.xml </span>file is used to contain extra package- or category-level information beyond what
is stored in ebuild metadata. Its exact format is strictly beyond the scope of this document, and is
-described in the DTD file located at <a
-href="https://www.gentoo.org/dtd/metadata.dtd" class="url" ><span
-class="ectt-1000">https://www.gentoo.org/dtd/metadata.dtd</span></a>.
+described in GLEP 68&#x00A0;<span class="cite">[<a
+href="#XGlep68">1</a>]</span>.
<a
- id="x1-166001r236"></a>
+ id="x1-168001r238"></a>
</p>
<h2 class="appendixHead"><span class="titlemark">Appendix&#x00A0;B</span><br /><a
- id="x1-167000B"></a>Unspecified Items</h2>
+ id="x1-169000B"></a>Unspecified Items</h2>
<!--l. 10--><p class="nopar" >The following items are not specified by this document, and must not be relied upon by ebuilds.
This is, of course, an incomplete list&#8212;it covers only the things that the authors know have been
abused in the past.
@@ -9501,33 +9421,31 @@ class="ectt-1000">PORTDIR_OVERLAY </span>variable, and overlay behaviour in gene
<a
- id="x1-167001r236"></a>
+ id="x1-169001r238"></a>
<h2 class="appendixHead"><span class="titlemark">Appendix&#x00A0;C</span><br /><a
- id="x1-168000C"></a>Historical Curiosities</h2>
-<!--l. 29--><p class="nopar" >The items described in this chapter are included for information only. They were deprecated or
-abandoned long before <span
-class="ectt-1000">EAPI </span>was introduced. Ebuilds must not use these features, and package
-managers should not be changed to support them.
-</p>
-<h3 class="sectionHead"><span class="titlemark">C.1 </span> <a
- id="x1-169000C.1"></a>If-else use blocks</h3>
+ id="x1-170000C"></a>Historical Curiosities</h2>
+<!--l. 29--><p class="nopar" >The items described in this chapter are included for information only. Unless otherwise
+noted, they were deprecated or abandoned long before <span
+class="ectt-1000">EAPI </span>was introduced. Ebuilds
+must not use these features, and package managers should not be changed to support
+them.
+</p>
+<h3 class="sectionHead"><a
+ id="x1-171000C"></a>If-else USE Blocks</h3>
<!--l. 35--><p class="nopar" >Historically, Portage supported if-else use conditionals, as shown by listing&#x00A0;<a
-href="#x1-169001r1">C.1<!--tex4ht:ref: lst:if-else-use-listing --></a>. The block before
+href="#x1-171001r1">C.1<!--tex4ht:ref: lst:if-else-use-listing --></a>. The block before
the colon would be taken if the condition was met, and the block after the colon would be taken if
the condition was not met.
-</p><!--l. 39--><p class="noindent" >This feature was deprecated and removed from the tree long before the introduction of
-<span
-class="ectt-1000">EAPI</span>.
-</p><!--l. 42--><p class="noindent" ><a
- id="x1-169001r1"></a></p><hr class="float" /><div class="float"
+</p><!--l. 40--><p class="noindent" ><a
+ id="x1-171001r1"></a></p><hr class="float" /><div class="float"
>
<div class="caption"
><span class="id">Listing C.1: </span><span
-class="content">If-else use blocks</span></div><!--tex4ht:label?: x1-169001r1 -->
+class="content">If-else use blocks</span></div><!--tex4ht:label?: x1-171001r1 -->
<div class="verbatim" id="verbatim-18">
@@ -9538,14 +9456,14 @@ DEPEND="
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;taken/if-false
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;)
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;"</div>
-<!--l. 51--><p class="nopar" >
+<!--l. 49--><p class="nopar" >
</p>
</div><hr class="endfloat" />
-<h3 class="sectionHead"><span class="titlemark">C.2 </span> <a
- id="x1-170000C.2"></a>cvs Versions</h3>
-<!--l. 56--><p class="nopar" >Portage has very crude support for CVS packages. The package <span
+<h3 class="sectionHead"><a
+ id="x1-172000C"></a>cvs Versions</h3>
+<!--l. 54--><p class="nopar" >Portage has very crude support for CVS packages. The package <span
class="ectt-1000">foo </span>could contain a file named
<span
class="ectt-1000">foo-cvs.1.2.3.ebuild</span>. This version would order <span
@@ -9553,30 +9471,30 @@ class="ecti-1000">higher </span>than any non-CVS version (including
<span
class="ectt-1000">foo-2.ebuild</span>). This feature has not seen real world use and breaks versioned dependencies, so it
must not be used.
-</p><!--l. 61--><p class="nopar" >
+</p><!--l. 59--><p class="nopar" >
</p>
-<h3 class="sectionHead"><span class="titlemark">C.3 </span> <a
- id="x1-171000C.3"></a>use.defaults</h3>
-<!--l. 63--><p class="nopar" >The <span
+<h3 class="sectionHead"><a
+ id="x1-173000C"></a>use.defaults</h3>
+<!--l. 61--><p class="nopar" >The <span
class="ectt-1000">use.defaults </span>file in the profile directory was used to implement &#8216;autouse&#8217;&#8212;switching USE
flags on or off depending upon which packages are installed. It was deprecated long ago and finally
removed in 2009.
-</p><!--l. 67--><p class="nopar" >
+</p><!--l. 65--><p class="nopar" >
</p>
-<h3 class="sectionHead"><span class="titlemark">C.4 </span> <a
- id="x1-172000C.4"></a>Old-style Virtuals</h3>
-<!--l. 69--><p class="nopar" >Historically, virtuals were special packages rather than regular ebuilds. An ebuild could specify in
+<h3 class="sectionHead"><a
+ id="x1-174000C"></a>Old-style Virtuals</h3>
+<!--l. 67--><p class="nopar" >Historically, virtuals were special packages rather than regular ebuilds. An ebuild could specify in
the <span
class="ectt-1000">PROVIDE </span>metadata that it supplied certain virtuals, and the package manager had to bear this
in mind when handling dependencies.
-</p><!--l. 73--><p class="noindent" >Old-style virtuals were supported by EAPIs <span
+</p><!--l. 71--><p class="noindent" >Old-style virtuals were supported by EAPIs <span
class="ectt-1000">0</span>, <span
class="ectt-1000">1</span>, <span
class="ectt-1000">2</span>, <span
class="ectt-1000">3 </span>and <span
class="ectt-1000">4</span>, and were phased out via GLEP
37&#x00A0;<span class="cite">[<a
-href="#XGlep37">2</a>]</span>.
+href="#XGlep37">3</a>]</span>.
@@ -9584,12 +9502,12 @@ href="#XGlep37">2</a>]</span>.
<a
- id="x1-172001r236"></a>
+ id="x1-174001r238"></a>
</p>
<h2 class="appendixHead"><span class="titlemark">Appendix&#x00A0;D</span><br /><a
- id="x1-173000D"></a>Feature Availability by EAPI</h2>
+ id="x1-175000D"></a>Feature Availability by EAPI</h2>
<!--l. 3--><p class="nopar" ><span class="paragraphHead"><a
- id="x1-174000D"></a><span
+ id="x1-176000D"></a><span
class="ecbx-1000">Note:</span></span>
This chapter is informative and for convenience only. Refer to the main text for specifics. For lack
of space, EAPIs 0, 1, and&#x00A0;2 have been consolidated into a single column in the table below; entries
@@ -9598,7 +9516,7 @@ for a complete table of previous EAPIs.
<a
- id="x1-174001r1"></a>
+ id="x1-176001r1"></a>
</p><!--l. 11--><div class="longtable"> <table id="TBL-50" class="longtable"
cellspacing="0" cellpadding="0"
><colgroup id="TBL-50-1g"><col
@@ -9610,15 +9528,15 @@ id="TBL-50-5" /><col
id="TBL-50-6" /><col
id="TBL-50-7" /></colgroup>
<tr
- style="vertical-align:baseline;" id="TBL-50-1-"><td colspan="6" style="white-space:nowrap; text-align:left;" id="TBL-50-1-1"
+ style="vertical-align:baseline;" id="TBL-50-1-"><td colspan="7" style="white-space:nowrap; text-align:center;" id="TBL-50-1-1"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"> <div class="caption"
><span class="id">Table&#x00A0;D.1: </span><span
-class="content">Features in EAPIs</span></div><!--tex4ht:label?: x1-174001r1 --> </div> <a
- id="x1-174002"></a>
+class="content">Features in EAPIs</span></div><!--tex4ht:label?: x1-176001r1 --> </div> <a
+ id="x1-176002"></a>
+</td></tr><tr
+ style="vertical-align:baseline;" id="TBL-50-2-"><td colspan="7" style="white-space:nowrap; text-align:left;" id="TBL-50-2-1"
+class="td11"><!--cmidrule-->
</td></tr><tr
- style="vertical-align:baseline;" id="TBL-50-2-"><td colspan="6" style="white-space:nowrap; text-align:left;" id="TBL-50-2-1"
-class="td11"></td><!--cmidrule-->
-</tr><tr
style="vertical-align:baseline;" id="TBL-50-3-"><td style="white-space:nowrap; text-align:center;" id="TBL-50-3-1"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;"><span
class="ecbx-1000">Feature</span></div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-50-3-2"
@@ -9635,9 +9553,9 @@ class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:ce
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;">5</div> </td><td style="white-space:nowrap; text-align:center;" id="TBL-50-4-7"
class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:center;">6</div>
</td></tr><tr
- style="vertical-align:baseline;" id="TBL-50-5-"><td colspan="6" style="white-space:nowrap; text-align:left;" id="TBL-50-5-1"
-class="td11"></td><!--cmidrule-->
-</tr><tr
+ style="vertical-align:baseline;" id="TBL-50-5-"><td colspan="7" style="white-space:nowrap; text-align:left;" id="TBL-50-5-1"
+class="td11"><!--cmidrule-->
+</td></tr><tr
style="vertical-align:baseline;" id="TBL-50-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-6-1"
class="td11"> </td></tr><tr
style="vertical-align:baseline;" id="TBL-50-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-7-1"
@@ -9653,7 +9571,7 @@ class="td11">
style="vertical-align:baseline;" id="TBL-50-20-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-20-1"
class="td11"> Stable use masking/forcing </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-20-2"
class="td11"> stablemask&#x00A0;p<a
-href="#x1-580005.2.11">61<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-20-3"
+href="#x1-600005.2.11">64<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-20-3"
class="td11">
<!--l. 44--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-20-4"
class="td11">
@@ -9668,7 +9586,7 @@ class="td11">
style="vertical-align:baseline;" id="TBL-50-21-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-21-1"
class="td11"> Bash version </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-21-2"
class="td11"> bash-version&#x00A0;p<a
-href="#x1-620006">75<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-21-3"
+href="#x1-640006">78<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-21-3"
class="td11">
<!--l. 47--><p class="noindent" >3.2 </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-21-4"
class="td11">
@@ -9684,7 +9602,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">IUSE </span>defaults </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-22-2"
class="td11"> iuse-defaults&#x00A0;p<a
-href="#x1-670007.3">82<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-22-3"
+href="#x1-690007.3">85<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-22-3"
class="td11">
<!--l. 50--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-22-4"
class="td11">
@@ -9700,7 +9618,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">REQUIRED_USE </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-23-2"
class="td11"> required-use&#x00A0;p<a
-href="#x1-670007.3">82<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-23-3"
+href="#x1-690007.3">85<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-23-3"
class="td11">
<!--l. 53--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-23-4"
class="td11">
@@ -9716,7 +9634,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">PROPERTIES </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-24-2"
class="td11"> properties&#x00A0;p<a
-href="#x1-670007.3">82<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-24-3"
+href="#x1-690007.3">85<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-24-3"
class="td11">
<!--l. 56--><p class="noindent" >Optionally </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-24-4"
class="td11">
@@ -9732,7 +9650,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">RDEPEND=DEPEND </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-25-2"
class="td11"> rdepend-depend&#x00A0;p<a
-href="#x1-700007.3.3">89<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-25-3"
+href="#x1-720007.3.3">92<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-25-3"
class="td11">
<!--l. 59--><p class="noindent" >Yes </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-25-4"
class="td11">
@@ -9748,7 +9666,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">DEFINED_PHASES </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-26-2"
class="td11"> defined-phases&#x00A0;p<a
-href="#x1-720007.4">93<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-26-3"
+href="#x1-740007.4">96<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-26-3"
class="td11">
<!--l. 62--><p class="noindent" >Optionally </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-26-4"
class="td11">
@@ -9764,7 +9682,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">??&#x00A0;( ) </span>groups </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-27-2"
class="td11"> at-most-one-of&#x00A0;p<a
-href="#x1-760008.2">103<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-27-3"
+href="#x1-780008.2">106<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-27-3"
class="td11">
<!--l. 65--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-27-4"
class="td11">
@@ -9780,7 +9698,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">SRC_URI </span>arrows </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-28-2"
class="td11"> src-uri-arrows&#x00A0;p<a
-href="#x1-920008.2.10">121<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-28-3"
+href="#x1-940008.2.10">125<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-28-3"
class="td11">
<!--l. 68--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-28-4"
class="td11">
@@ -9795,7 +9713,7 @@ class="td11">
style="vertical-align:baseline;" id="TBL-50-29-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-29-1"
class="td11"> Slot dependencies </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-29-2"
class="td11"> slot-deps&#x00A0;p<a
-href="#x1-860008.2.6.3">119<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-29-3"
+href="#x1-880008.2.6.3">122<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-29-3"
class="td11">
<!--l. 71--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-29-4"
class="td11">
@@ -9814,7 +9732,7 @@ class="td11">
style="vertical-align:baseline;" id="TBL-50-30-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-30-1"
class="td11"> Sub-slots </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-30-2"
class="td11"> sub-slot&#x00A0;p<a
-href="#x1-860008.2.6.3">119<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-30-3"
+href="#x1-880008.2.6.3">122<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-30-3"
class="td11">
<!--l. 74--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-30-4"
class="td11">
@@ -9829,7 +9747,7 @@ class="td11">
style="vertical-align:baseline;" id="TBL-50-31-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-31-1"
class="td11"> Use dependencies </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-31-2"
class="td11"> use-deps&#x00A0;p<a
-href="#x1-820008.2.6">110<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-31-3"
+href="#x1-840008.2.6">113<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-31-3"
class="td11">
<!--l. 77--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-31-4"
class="td11">
@@ -9848,7 +9766,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">!</span>&#x00A0;blockers </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-32-2"
class="td11"> bang-strength&#x00A0;p<a
-href="#x1-850008.2.6.2">116<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-32-3"
+href="#x1-870008.2.6.2">119<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-32-3"
class="td11">
<!--l. 80--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-32-4"
class="td11">
@@ -9864,7 +9782,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">!!</span>&#x00A0;blockers </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-33-2"
class="td11"> bang-strength&#x00A0;p<a
-href="#x1-850008.2.6.2">116<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-33-3"
+href="#x1-870008.2.6.2">119<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-33-3"
class="td11">
<!--l. 83--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-33-4"
class="td11">
@@ -9881,7 +9799,7 @@ class="td11"> <span
class="ectt-1000">S </span>to <span
class="ectt-1000">WORKDIR </span>fallback </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-34-2"
class="td11"> s-workdir-fallback&#x00A0;p<a
-href="#x1-950009.1.1">124<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-34-3"
+href="#x1-970009.1.1">128<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-34-3"
class="td11">
<!--l. 86--><p class="noindent" >Always </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-34-4"
class="td11">
@@ -9897,7 +9815,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">pkg_pretend </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-35-2"
class="td11"> pkg-pretend&#x00A0;p<a
-href="#x1-960009.1.2">127<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-35-3"
+href="#x1-980009.1.2">131<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-35-3"
class="td11">
<!--l. 89--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-35-4"
class="td11">
@@ -9913,7 +9831,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">src_prepare </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-36-2"
class="td11"> src-prepare&#x00A0;p<a
-href="#x1-990009.1.5">134<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-36-3"
+href="#x1-1010009.1.5">138<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-36-3"
class="td11">
<!--l. 92--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-36-4"
class="td11">
@@ -9929,7 +9847,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">src_prepare </span>style </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-37-2"
class="td11"> src-prepare&#x00A0;p<a
-href="#x1-990009.1.5">134<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-37-3"
+href="#x1-1010009.1.5">138<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-37-3"
class="td11">
<!--l. 95--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-37-4"
class="td11">
@@ -9945,7 +9863,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">src_configure </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-38-2"
class="td11"> src-configure&#x00A0;p<a
-href="#x1-1000009.1.6">141<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-38-3"
+href="#x1-1020009.1.6">145<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-38-3"
class="td11">
<!--l. 98--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-38-4"
class="td11">
@@ -9961,7 +9879,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">src_compile </span>style </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-39-2"
class="td11"> src-compile&#x00A0;p<a
-href="#x1-1010009.1.7">148<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-39-3"
+href="#x1-1030009.1.7">152<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-39-3"
class="td11">
<!--l. 101--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-39-4"
class="td11">
@@ -9979,7 +9897,7 @@ class="td11"> </td></tr>
style="vertical-align:baseline;" id="TBL-50-41-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-41-1"
class="td11"> Parallel tests </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-41-2"
class="td11"> parallel-tests&#x00A0;p<a
-href="#x1-1020009.1.8">163<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-41-3"
+href="#x1-1040009.1.8">167<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-41-3"
class="td11">
<!--l. 104--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-41-4"
class="td11">
@@ -9995,7 +9913,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">src_install </span>style </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-42-2"
class="td11"> src-install&#x00A0;p<a
-href="#x1-1030009.1.9">166<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-42-3"
+href="#x1-1050009.1.9">170<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-42-3"
class="td11">
<!--l. 107--><p class="noindent" >no-op </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-42-4"
class="td11">
@@ -10011,7 +9929,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">pkg_info </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-43-2"
class="td11"> pkg-info&#x00A0;p<a
-href="#x1-1090009.1.15">178<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-43-3"
+href="#x1-1110009.1.15">182<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-43-3"
class="td11">
<!--l. 110--><p class="noindent" >Installed </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-43-4"
class="td11">
@@ -10027,7 +9945,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">default_ </span>phase functions </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-44-2"
class="td11"> default-phase-funcs&#x00A0;p<a
-href="#x1-1110009.1.17">181<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-44-3"
+href="#x1-1130009.1.17">185<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-44-3"
class="td11">
<!--l. 113--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-44-4"
class="td11">
@@ -10093,7 +10011,7 @@ class="ectt-1000">src_test</span> </p></td>
class="td11"> <span
class="ectt-1000">AA </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-45-2"
class="td11"> aa&#x00A0;p<a
-href="#x1-118001r1">197<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-45-3"
+href="#x1-120001r1">201<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-45-3"
class="td11">
<!--l. 124--><p class="noindent" >Yes </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-45-4"
class="td11">
@@ -10109,7 +10027,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">KV </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-46-2"
class="td11"> kv&#x00A0;p<a
-href="#x1-118001r1">200<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-46-3"
+href="#x1-120001r1">204<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-46-3"
class="td11">
<!--l. 127--><p class="noindent" >Yes </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-46-4"
class="td11">
@@ -10128,7 +10046,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">EBUILD_PHASE_FUNC </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-47-2"
class="td11"> ebuild-phase-func&#x00A0;p<a
-href="#x1-118001r1">200<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-47-3"
+href="#x1-120001r1">204<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-47-3"
class="td11">
<!--l. 130--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-47-4"
class="td11">
@@ -10144,7 +10062,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">MERGE_TYPE </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-48-2"
class="td11"> merge-type&#x00A0;p<a
-href="#x1-118001r1">200<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-48-3"
+href="#x1-120001r1">204<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-48-3"
class="td11">
<!--l. 133--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-48-4"
class="td11">
@@ -10159,7 +10077,7 @@ class="td11">
style="vertical-align:baseline;" id="TBL-50-49-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-49-1"
class="td11"> Sane locale settings </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-49-2"
class="td11"> locale-settings&#x00A0;p<a
-href="#x1-11800011.1">211<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-49-3"
+href="#x1-12000011.1">215<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-49-3"
class="td11">
<!--l. 136--><p class="noindent" >Undefined </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-49-4"
class="td11">
@@ -10175,7 +10093,7 @@ class="td11">
class="td11"> Profile <span
class="ectt-1000">IUSE </span>injection </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-50-2"
class="td11"> profile-iuse-inject&#x00A0;p<a
-href="#x1-11900011.1.1">214<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-50-3"
+href="#x1-12100011.1.1">218<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-50-3"
class="td11">
<!--l. 139--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-50-4"
class="td11">
@@ -10191,7 +10109,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">REPLACING_VERSIONS </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-51-2"
class="td11"> replace-version-vars&#x00A0;p<a
-href="#x1-12000011.1.2">215<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-51-3"
+href="#x1-12200011.1.2">219<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-51-3"
class="td11">
<!--l. 142--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-51-4"
class="td11">
@@ -10207,7 +10125,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">REPLACED_BY_VERSION </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-52-2"
class="td11"> replace-version-vars&#x00A0;p<a
-href="#x1-12000011.1.2">215<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-52-3"
+href="#x1-12200011.1.2">219<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-52-3"
class="td11">
<!--l. 145--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-52-4"
class="td11">
@@ -10225,7 +10143,7 @@ class="ectt-1000">EPREFIX</span>, <span
class="ectt-1000">ED</span>, <span
class="ectt-1000">EROOT </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-53-2"
class="td11"> offset-prefix-vars&#x00A0;p<a
-href="#x1-12100011.1.3">218<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-53-3"
+href="#x1-12300011.1.3">222<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-53-3"
class="td11">
<!--l. 148--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-53-4"
class="td11">
@@ -10241,7 +10159,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">failglob </span>in global scope </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-54-2"
class="td11"> failglob&#x00A0;p<a
-href="#x1-12700011.3.1.2">222<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-54-3"
+href="#x1-12900011.3.1.2">226<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-54-3"
class="td11">
<!--l. 151--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-54-4"
class="td11">
@@ -10257,7 +10175,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">find </span>is GNU? </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-55-2"
class="td11"> gnu-find&#x00A0;p<a
-href="#x1-12600011.3.1.1">222<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-55-3"
+href="#x1-12800011.3.1.1">226<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-55-3"
class="td11">
<!--l. 154--><p class="noindent" >Undefined </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-55-4"
class="td11">
@@ -10272,7 +10190,7 @@ class="td11">
style="vertical-align:baseline;" id="TBL-50-56-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-56-1"
class="td11"> Most utilities die </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-56-2"
class="td11"> die-on-failure&#x00A0;p<a
-href="#x1-13000011.3.3.1">226<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-56-3"
+href="#x1-13200011.3.3.1">230<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-56-3"
class="td11">
<!--l. 157--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-56-4"
class="td11">
@@ -10288,7 +10206,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">nonfatal </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-57-2"
class="td11"> nonfatal&#x00A0;p<a
-href="#x1-13000011.3.3.1">226<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-57-3"
+href="#x1-13200011.3.3.1">230<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-57-3"
class="td11">
<!--l. 160--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-57-4"
class="td11">
@@ -10304,7 +10222,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">dohard </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-58-2"
class="td11"> banned-commands&#x00A0;p<a
-href="#x1-13100011.3.3.2">229<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-58-3"
+href="#x1-13300011.3.3.2">233<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-58-3"
class="td11">
<!--l. 163--><p class="noindent" >Yes </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-58-4"
class="td11">
@@ -10320,7 +10238,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">dosed </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-59-2"
class="td11"> banned-commands&#x00A0;p<a
-href="#x1-13100011.3.3.2">229<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-59-3"
+href="#x1-13300011.3.3.2">233<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-59-3"
class="td11">
<!--l. 166--><p class="noindent" >Yes </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-59-4"
class="td11">
@@ -10336,7 +10254,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">einstall </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-60-2"
class="td11"> banned-commands&#x00A0;p<a
-href="#x1-13100011.3.3.2">229<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-60-3"
+href="#x1-13300011.3.3.2">233<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-60-3"
class="td11">
<!--l. 169--><p class="noindent" >Yes </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-60-4"
class="td11">
@@ -10355,7 +10273,7 @@ class="td11"> </td></tr>
class="td11"> Option <span
class="ectt-1000">--host-root </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-62-2"
class="td11"> host-root-option&#x00A0;p<a
-href="#x1-13300011.3.3.4">232<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-62-3"
+href="#x1-13500011.3.3.4">236<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-62-3"
class="td11">
<!--l. 172--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-62-4"
class="td11">
@@ -10371,7 +10289,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">die -n </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-63-2"
class="td11"> nonfatal-die&#x00A0;p<a
-href="#x1-13500011.3.3.6">233<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-63-3"
+href="#x1-13700011.3.3.6">239<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-63-3"
class="td11">
<!--l. 175--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-63-4"
class="td11">
@@ -10387,7 +10305,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">eapply </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-64-2"
class="td11"> eapply&#x00A0;p<a
-href="#x1-13600011.3.3.7">236<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-64-3"
+href="#x1-13800011.3.3.7">243<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-64-3"
class="td11">
<!--l. 178--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-64-4"
class="td11">
@@ -10403,7 +10321,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">eapply_user </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-65-2"
class="td11"> eapply-user&#x00A0;p<a
-href="#x1-13600011.3.3.7">236<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-65-3"
+href="#x1-13800011.3.3.7">244<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-65-3"
class="td11">
<!--l. 181--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-65-4"
class="td11">
@@ -10422,7 +10340,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">econf </span>arguments </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-66-2"
class="td11"> econf-options&#x00A0;p<a
-href="#x1-13700011.3.3.8">242<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-66-3"
+href="#x1-13900011.3.3.8">247<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-66-3"
class="td11">
<!--l. 184--><p class="noindent" > </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-66-4"
class="td11">
@@ -10452,7 +10370,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">dodoc -r </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-67-2"
class="td11"> dodoc&#x00A0;p<a
-href="#x1-13800011.3.3.9">245<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-67-3"
+href="#x1-14000011.3.3.9">250<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-67-3"
class="td11">
<!--l. 189--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-67-4"
class="td11">
@@ -10468,7 +10386,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">doheader </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-68-2"
class="td11"> doheader&#x00A0;p<a
-href="#x1-13800011.3.3.9">246<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-68-3"
+href="#x1-14000011.3.3.9">251<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-68-3"
class="td11">
<!--l. 192--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-68-4"
class="td11">
@@ -10484,7 +10402,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">doins </span>handles symlinks </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-69-2"
class="td11"> doins&#x00A0;p<a
-href="#x1-13800011.3.3.9">247<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-69-3"
+href="#x1-14000011.3.3.9">252<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-69-3"
class="td11">
<!--l. 195--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-69-4"
class="td11">
@@ -10500,7 +10418,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">doman </span>languages </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-70-2"
class="td11"> doman-langs&#x00A0;p<a
-href="#x1-13800011.3.3.9">248<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-70-3"
+href="#x1-14000011.3.3.9">253<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-70-3"
class="td11">
<!--l. 198--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-70-4"
class="td11">
@@ -10516,7 +10434,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">doman -i18n </span>precedence </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-71-2"
class="td11"> doman-langs&#x00A0;p<a
-href="#x1-13800011.3.3.9">248<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-71-3"
+href="#x1-14000011.3.3.9">253<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-71-3"
class="td11">
<!--l. 201--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-71-4"
class="td11">
@@ -10532,7 +10450,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">new* </span>support stdin </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-72-2"
class="td11"> newfoo-stdin&#x00A0;p<a
-href="#x1-13800011.3.3.9">248<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-72-3"
+href="#x1-14000011.3.3.9">253<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-72-3"
class="td11">
<!--l. 204--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-72-4"
class="td11">
@@ -10547,7 +10465,7 @@ class="td11">
style="vertical-align:baseline;" id="TBL-50-73-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-73-1"
class="td11"> Controllable compression </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-73-2"
class="td11"> docompress&#x00A0;p<a
-href="#x1-14000011.3.3.11">267<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-73-3"
+href="#x1-14200011.3.3.11">269<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-73-3"
class="td11">
<!--l. 207--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-73-4"
class="td11">
@@ -10563,7 +10481,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">docompress </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-74-2"
class="td11"> docompress&#x00A0;p<a
-href="#x1-14000011.3.3.11">267<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-74-3"
+href="#x1-14200011.3.3.11">269<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-74-3"
class="td11">
<!--l. 210--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-74-4"
class="td11">
@@ -10579,7 +10497,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">use_with </span>empty third arg </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-75-2"
class="td11"> use-with&#x00A0;p<a
-href="#x1-14100011.3.3.12">271<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-75-3"
+href="#x1-14300011.3.3.12">273<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-75-3"
class="td11">
<!--l. 213--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-75-4"
class="td11">
@@ -10595,7 +10513,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">usex </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-76-2"
class="td11"> usex&#x00A0;p<a
-href="#x1-14100011.3.3.12">271<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-76-3"
+href="#x1-14300011.3.3.12">273<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-76-3"
class="td11">
<!--l. 216--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-76-4"
class="td11">
@@ -10611,7 +10529,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">in_iuse </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-77-2"
class="td11"> in-iuse&#x00A0;p<a
-href="#x1-14100011.3.3.12">271<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-77-3"
+href="#x1-14300011.3.3.12">273<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-77-3"
class="td11">
<!--l. 219--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-77-4"
class="td11">
@@ -10627,7 +10545,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">unpack </span>absolute paths </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-78-2"
class="td11"> unpack-absolute&#x00A0;p<a
-href="#x1-14300011.3.3.14">280<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-78-3"
+href="#x1-14500011.3.3.14">282<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-78-3"
class="td11">
<!--l. 222--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-78-4"
class="td11">
@@ -10644,7 +10562,7 @@ class="td11"> <span
class="ectt-1000">unpack </span>support for <span
class="ectt-1000">xz </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-79-2"
class="td11"> unpack-extensions&#x00A0;p<a
-href="#x1-14300011.3.3.14">281<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-79-3"
+href="#x1-14500011.3.3.14">283<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-79-3"
class="td11">
<!--l. 225--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-79-4"
class="td11">
@@ -10661,7 +10579,7 @@ class="td11"> <span
class="ectt-1000">unpack </span>support for <span
class="ectt-1000">txz </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-80-2"
class="td11"> unpack-extensions&#x00A0;p<a
-href="#x1-14300011.3.3.14">281<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-80-3"
+href="#x1-14500011.3.3.14">283<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-80-3"
class="td11">
<!--l. 228--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-80-4"
class="td11">
@@ -10680,7 +10598,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">unpack </span>case-insensitive </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-81-2"
class="td11"> unpack-ignore-case&#x00A0;p<a
-href="#x1-14300011.3.3.14">282<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-81-3"
+href="#x1-14500011.3.3.14">283<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-81-3"
class="td11">
<!--l. 231--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-81-4"
class="td11">
@@ -10699,7 +10617,7 @@ class="td11"> </td></tr>
class="td11"> <span
class="ectt-1000">default </span>function </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-83-2"
class="td11"> default-func&#x00A0;p<a
-href="#x1-14300011.3.3.14">282<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-83-3"
+href="#x1-14500011.3.3.14">284<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-83-3"
class="td11">
<!--l. 234--><p class="noindent" >* </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-83-4"
class="td11">
@@ -10715,7 +10633,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">einstalldocs </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-84-2"
class="td11"> einstalldocs&#x00A0;p<a
-href="#x1-14300011.3.3.14">282<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-84-3"
+href="#x1-14500011.3.3.14">284<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-84-3"
class="td11">
<!--l. 237--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-84-4"
class="td11">
@@ -10731,7 +10649,7 @@ class="td11">
class="td11"> <span
class="ectt-1000">get_libdir </span></td><td style="white-space:nowrap; text-align:left;" id="TBL-50-85-2"
class="td11"> get-libdir&#x00A0;p<a
-href="#x1-14300011.3.3.14">282<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-85-3"
+href="#x1-14500011.3.3.14">285<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-85-3"
class="td11">
<!--l. 240--><p class="noindent" >No </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-85-4"
class="td11">
@@ -10746,7 +10664,7 @@ class="td11">
style="vertical-align:baseline;" id="TBL-50-86-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-86-1"
class="td11"> File mtimes preserved </td><td style="white-space:nowrap; text-align:left;" id="TBL-50-86-2"
class="td11"> mtime-preserve&#x00A0;p<a
-href="#x1-15500012.3.2">296<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-86-3"
+href="#x1-15700012.3.2">293<!--tex4ht:ref: lst:if-else-use-listing --></a> </td><td style="white-space:wrap; text-align:left;" id="TBL-50-86-3"
class="td11">
<!--l. 243--><p class="noindent" >Undefined </p></td><td style="white-space:wrap; text-align:left;" id="TBL-50-86-4"
class="td11">
@@ -10771,8 +10689,8 @@ class="td11"></td>
style="vertical-align:baseline;" id="TBL-50-91-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-91-1"
class="td11"> </td></tr>
<tr
- style="vertical-align:baseline;" id="TBL-50-17-"><td colspan="6" style="white-space:nowrap; text-align:left;" id="TBL-50-17-1"
-class="td11"></td><!--cmidrule--></tr><tr
+ style="vertical-align:baseline;" id="TBL-50-17-"><td colspan="7" style="white-space:nowrap; text-align:left;" id="TBL-50-17-1"
+class="td11"><!--cmidrule--></td></tr><tr
style="vertical-align:baseline;" id="TBL-50-18-"><td style="white-space:nowrap; text-align:left;" id="TBL-50-18-1"
class="td11"> </td>
</tr><tr
@@ -10785,557 +10703,489 @@ class="td11"> </td></tr>
<a
- id="x1-174003r236"></a>
+ id="x1-176003r238"></a>
<h2 class="appendixHead"><span class="titlemark">Appendix&#x00A0;E</span><br /><a
- id="x1-175000E"></a>Differences Between EAPIs</h2>
+ id="x1-177000E"></a>Differences Between EAPIs</h2>
<!--l. 250--><p class="nopar" ><span class="paragraphHead"><a
- id="x1-176000E"></a><span
+ id="x1-178000E"></a><span
class="ecbx-1000">Note:</span></span>
This chapter is informative and for convenience only. Refer to the main text for specifics.
</p><!--l. 252--><p class="nopar" >
</p>
-<h3 class="likesectionHead"><a
- id="x1-177000E"></a>EAPI 0</h3>
+<h3 class="sectionHead"><a
+ id="x1-179000E"></a>EAPI 0</h3>
<!--l. 254--><p class="nopar" >EAPI 0 is the base EAPI.
</p><!--l. 256--><p class="nopar" >
</p>
-<h3 class="likesectionHead"><a
- id="x1-178000E"></a>EAPI 1</h3>
+<h3 class="sectionHead"><a
+ id="x1-180000E"></a>EAPI 1</h3>
<!--l. 258--><p class="nopar" >EAPI 1 is EAPI 0 with the following changes:
</p><!--l. 261--><p class="noindent" >
</p><ul>
<li class="compactitem"><span
class="ectt-1000">IUSE </span>defaults, <span
-class="eccc-1000"><span
-class="small-caps">IUSE</span>-<span
-class="small-caps">DEFAULTS</span> </span>on page&#x00A0;<a
-href="#x1-670007.3">82<!--tex4ht:ref: feat:iuse-defaults --></a>.
+class="eccc1000-"><span
+class="small-caps">iuse-defaults</span> </span>on page&#x00A0;<a
+href="#x1-690007.3">85<!--tex4ht:ref: feat:iuse-defaults --></a>.
</li>
<li class="compactitem">Slot dependencies, <span
-class="eccc-1000"><span
-class="small-caps">SLOT</span>-<span
-class="small-caps">DEPS</span> </span>on page&#x00A0;<a
-href="#x1-860008.2.6.3">119<!--tex4ht:ref: feat:slot-deps --></a>.
+class="eccc1000-"><span
+class="small-caps">slot-deps</span> </span>on page&#x00A0;<a
+href="#x1-880008.2.6.3">122<!--tex4ht:ref: feat:slot-deps --></a>.
</li>
<li class="compactitem">Different <span
class="ectt-1000">src_compile </span>implementation, <span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">COMPILE</span>-1 </span>on page&#x00A0;<a
-href="#x1-1010009.1.7">152<!--tex4ht:ref: feat:src-compile-1 --></a>.</li></ul>
+class="eccc1000-"><span
+class="small-caps">src-compile-1</span> </span>on page&#x00A0;<a
+href="#x1-1030009.1.7">156<!--tex4ht:ref: feat:src-compile-1 --></a>.</li></ul>
<!--l. 266--><p class="nopar" >
</p>
-<h3 class="likesectionHead"><a
- id="x1-179000E"></a>EAPI 2</h3>
+<h3 class="sectionHead"><a
+ id="x1-181000E"></a>EAPI 2</h3>
<!--l. 268--><p class="nopar" >EAPI 2 is EAPI 1 with the following changes:
</p><!--l. 271--><p class="noindent" >
</p><ul>
<li class="compactitem">Use dependencies, <span
-class="eccc-1000"><span
-class="small-caps">USE</span>-<span
-class="small-caps">DEPS</span> </span>on page&#x00A0;<a
-href="#x1-820008.2.6">110<!--tex4ht:ref: feat:use-deps --></a>.
+class="eccc1000-"><span
+class="small-caps">use-deps</span> </span>on page&#x00A0;<a
+href="#x1-840008.2.6">113<!--tex4ht:ref: feat:use-deps --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">!</span>&#x00A0;and <span
class="ectt-1000">!!</span>&#x00A0;blockers, <span
-class="eccc-1000"><span
-class="small-caps">BANG</span>-<span
-class="small-caps">STRENGTH</span> </span>on page&#x00A0;<a
-href="#x1-850008.2.6.2">116<!--tex4ht:ref: feat:bang-strength --></a>.
+class="eccc1000-"><span
+class="small-caps">bang-strength</span> </span>on page&#x00A0;<a
+href="#x1-870008.2.6.2">119<!--tex4ht:ref: feat:bang-strength --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">SRC_URI </span>arrows, <span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">URI</span>-<span
-class="small-caps">ARROWS</span> </span>on page&#x00A0;<a
-href="#x1-920008.2.10">121<!--tex4ht:ref: feat:src-uri-arrows --></a>.
+class="eccc1000-"><span
+class="small-caps">src-uri-arrows</span> </span>on page&#x00A0;<a
+href="#x1-940008.2.10">125<!--tex4ht:ref: feat:src-uri-arrows --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">src_prepare</span>, <span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">PREPARE</span> </span>on page&#x00A0;<a
-href="#x1-990009.1.5">134<!--tex4ht:ref: feat:src-prepare --></a>.
+class="eccc1000-"><span
+class="small-caps">src-prepare</span> </span>on page&#x00A0;<a
+href="#x1-1010009.1.5">138<!--tex4ht:ref: feat:src-prepare --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">src_configure</span>, <span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">CONFIGURE</span> </span>on page&#x00A0;<a
-href="#x1-1000009.1.6">141<!--tex4ht:ref: feat:src-configure --></a>.
+class="eccc1000-"><span
+class="small-caps">src-configure</span> </span>on page&#x00A0;<a
+href="#x1-1020009.1.6">145<!--tex4ht:ref: feat:src-configure --></a>.
</li>
<li class="compactitem">Different <span
class="ectt-1000">src_compile </span>implementation, <span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">COMPILE</span>-2 </span>on page&#x00A0;<a
-href="#x1-1010009.1.7">156<!--tex4ht:ref: feat:src-compile-2 --></a>.
+class="eccc1000-"><span
+class="small-caps">src-compile-2</span> </span>on page&#x00A0;<a
+href="#x1-1030009.1.7">160<!--tex4ht:ref: feat:src-compile-2 --></a>.
</li>
<li class="compactitem"><span
-class="ectt-1000">default_ </span>phase functions for phases <span
-class="ectt-1000">pkg_nofetch</span>, <span
-class="ectt-1000">src_unpack</span>, <span
-class="ectt-1000">src_prepare</span>, <span
-class="ectt-1000">src_</span>
+class="ectt-1000">default_ </span>phase functions for phases <span
+class="ectt-1000">pkg_nofetch</span>, <span
+class="ectt-1000">src_unpack</span>, <span
+class="ectt-1000">src_prepare</span>,
<span
-class="ectt-1000">configure</span>, <span
+class="ectt-1000">src_configure</span>, <span
class="ectt-1000">src_compile </span>and <span
class="ectt-1000">src_test</span>; <span
-class="eccc-1000"><span
-class="small-caps">DEFAULT</span>-<span
-class="small-caps">PHASE</span>-<span
-class="small-caps">FUNCS</span> </span>on page&#x00A0;<a
-href="#x1-1110009.1.17">181<!--tex4ht:ref: feat:default-phase-funcs --></a>.
+class="eccc1000-"><span
+class="small-caps">default-phase-funcs</span> </span>on page&#x00A0;<a
+href="#x1-1130009.1.17">185<!--tex4ht:ref: feat:default-phase-funcs --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">doman </span>language detection by filename, <span
-class="eccc-1000"><span
-class="small-caps">DOMAN</span>-<span
-class="small-caps">LANGS</span> </span>on page&#x00A0;<a
-href="#x1-13800011.3.3.9">248<!--tex4ht:ref: feat:doman-langs --></a>.
+class="eccc1000-"><span
+class="small-caps">doman-langs</span> </span>on page&#x00A0;<a
+href="#x1-14000011.3.3.9">253<!--tex4ht:ref: feat:doman-langs --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">default </span>function, <span
-class="eccc-1000"><span
-class="small-caps">DEFAULT</span>-<span
-class="small-caps">FUNC</span> </span>on page&#x00A0;<a
-href="#x1-14300011.3.3.14">282<!--tex4ht:ref: feat:default-func --></a>.</li></ul>
+class="eccc1000-"><span
+class="small-caps">default-func</span> </span>on page&#x00A0;<a
+href="#x1-14500011.3.3.14">284<!--tex4ht:ref: feat:default-func --></a>.</li></ul>
<!--l. 283--><p class="nopar" >
</p>
-<h3 class="likesectionHead"><a
- id="x1-180000E"></a>EAPI 3</h3>
+<h3 class="sectionHead"><a
+ id="x1-182000E"></a>EAPI 3</h3>
<!--l. 285--><p class="nopar" >EAPI 3 is EAPI 2 with the following changes:
</p><ul>
<li class="compactitem">Offset-prefix support by definition of <span
class="ectt-1000">EPREFIX</span>, <span
class="ectt-1000">ED </span>and <span
class="ectt-1000">EROOT</span>, <span
-class="eccc-1000"><span
-class="small-caps">OFFSET</span>-<span
-class="small-caps">PREFIX</span>-<span
-class="small-caps">VARS</span></span>
+class="eccc1000-"><span
+class="small-caps">offset-prefix-vars</span></span>
on page&#x00A0;<a
-href="#x1-12100011.1.3">218<!--tex4ht:ref: feat:offset-prefix-vars --></a>.
+href="#x1-12300011.1.3">222<!--tex4ht:ref: feat:offset-prefix-vars --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">unpack </span>supports <span
class="ectt-1000">.xz </span>and <span
class="ectt-1000">.tar.xz</span>, <span
-class="eccc-1000"><span
-class="small-caps">UNPACK</span>-<span
-class="small-caps">EXTENSIONS</span> </span>on page&#x00A0;<a
-href="#x1-14300011.3.3.14">281<!--tex4ht:ref: feat:unpack-extensions --></a>.
+class="eccc1000-"><span
+class="small-caps">unpack-extensions</span> </span>on page&#x00A0;<a
+href="#x1-14500011.3.3.14">283<!--tex4ht:ref: feat:unpack-extensions --></a>.
</li>
<li class="compactitem">File modification times are preserved, <span
-class="eccc-1000"><span
-class="small-caps">MTIME</span>-<span
-class="small-caps">PRESERVE</span> </span>on page&#x00A0;<a
-href="#x1-15500012.3.2">296<!--tex4ht:ref: feat:mtime-preserve --></a>.</li></ul>
+class="eccc1000-"><span
+class="small-caps">mtime-preserve</span> </span>on page&#x00A0;<a
+href="#x1-15700012.3.2">293<!--tex4ht:ref: feat:mtime-preserve --></a>.</li></ul>
<!--l. 293--><p class="nopar" >
</p>
-<h3 class="likesectionHead"><a
- id="x1-181000E"></a>EAPI 4</h3>
+<h3 class="sectionHead"><a
+ id="x1-183000E"></a>EAPI 4</h3>
<!--l. 295--><p class="nopar" >EAPI 4 is EAPI 3 with the following changes:
</p><!--l. 298--><p class="noindent" >
</p><ul>
<li class="compactitem"><span
class="ectt-1000">PROPERTIES </span>support is mandatory, <span
-class="eccc-1000"><span
-class="small-caps">PROPERTIES</span> </span>on page&#x00A0;<a
-href="#x1-670007.3">82<!--tex4ht:ref: feat:properties --></a>.
+class="eccc1000-"><span
+class="small-caps">properties</span> </span>on page&#x00A0;<a
+href="#x1-690007.3">85<!--tex4ht:ref: feat:properties --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">REQUIRED_USE</span>, <span
-class="eccc-1000"><span
-class="small-caps">REQUIRED</span>-<span
-class="small-caps">USE</span> </span>on page&#x00A0;<a
-href="#x1-670007.3">82<!--tex4ht:ref: feat:required-use --></a>.
+class="eccc1000-"><span
+class="small-caps">required-use</span> </span>on page&#x00A0;<a
+href="#x1-690007.3">85<!--tex4ht:ref: feat:required-use --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">RDEPEND=DEPEND </span>no longer done, <span
-class="eccc-1000"><span
-class="small-caps">RDEPEND</span>-<span
-class="small-caps">DEPEND</span> </span>on page&#x00A0;<a
-href="#x1-700007.3.3">89<!--tex4ht:ref: feat:rdepend-depend --></a>.
+class="eccc1000-"><span
+class="small-caps">rdepend-depend</span> </span>on page&#x00A0;<a
+href="#x1-720007.3.3">92<!--tex4ht:ref: feat:rdepend-depend --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">DEFINED_PHASES </span>support is mandatory, <span
-class="eccc-1000"><span
-class="small-caps">DEFINED</span>-<span
-class="small-caps">PHASES</span> </span>on page&#x00A0;<a
-href="#x1-720007.4">93<!--tex4ht:ref: feat:defined-phases --></a>.
+class="eccc1000-"><span
+class="small-caps">defined-phases</span> </span>on page&#x00A0;<a
+href="#x1-740007.4">96<!--tex4ht:ref: feat:defined-phases --></a>.
</li>
<li class="compactitem">Use dependency defaults, <span
-class="eccc-1000"><span
-class="small-caps">USE</span>-<span
-class="small-caps">DEP</span>-<span
-class="small-caps">DEFAULTS</span> </span>on page&#x00A0;<a
-href="#x1-870008.2.6.4">120<!--tex4ht:ref: feat:use-dep-defaults --></a>.
+class="eccc1000-"><span
+class="small-caps">use-dep-defaults</span> </span>on page&#x00A0;<a
+href="#x1-890008.2.6.4">123<!--tex4ht:ref: feat:use-dep-defaults --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">S </span>to <span
class="ectt-1000">WORKDIR </span>fallback restricted, <span
-class="eccc-1000"><span
-class="small-caps">S</span>-<span
-class="small-caps">WORKDIR</span>-<span
-class="small-caps">FALLBACK</span> </span>on page&#x00A0;<a
-href="#x1-950009.1.1">124<!--tex4ht:ref: feat:s-workdir-fallback --></a>.
+class="eccc1000-"><span
+class="small-caps">s-workdir-fallback</span> </span>on page&#x00A0;<a
+href="#x1-970009.1.1">128<!--tex4ht:ref: feat:s-workdir-fallback --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">pkg_pretend</span>, <span
-class="eccc-1000"><span
-class="small-caps">PKG</span>-<span
-class="small-caps">PRETEND</span> </span>on page&#x00A0;<a
-href="#x1-960009.1.2">127<!--tex4ht:ref: feat:pkg-pretend --></a>.
+class="eccc1000-"><span
+class="small-caps">pkg-pretend</span> </span>on page&#x00A0;<a
+href="#x1-980009.1.2">131<!--tex4ht:ref: feat:pkg-pretend --></a>.
</li>
<li class="compactitem">Default <span
class="ectt-1000">src_install </span>no longer a no-op, <span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">INSTALL</span>-4 </span>on page&#x00A0;<a
-href="#x1-1030009.1.9">166<!--tex4ht:ref: feat:src-install-4 --></a>.
+class="eccc1000-"><span
+class="small-caps">src-install-4</span> </span>on page&#x00A0;<a
+href="#x1-1050009.1.9">170<!--tex4ht:ref: feat:src-install-4 --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">pkg_info </span>can run on non-installed packages, <span
-class="eccc-1000"><span
-class="small-caps">PKG</span>-<span
-class="small-caps">INFO</span> </span>on page&#x00A0;<a
-href="#x1-1090009.1.15">178<!--tex4ht:ref: feat:pkg-info --></a>.
+class="eccc1000-"><span
+class="small-caps">pkg-info</span> </span>on page&#x00A0;<a
+href="#x1-1110009.1.15">182<!--tex4ht:ref: feat:pkg-info --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">AA </span>is gone, <span
-class="eccc-1000"><span
-class="small-caps">AA</span> </span>on page&#x00A0;<a
-href="#x1-118001r1">197<!--tex4ht:ref: feat:aa --></a>.
+class="eccc1000-"><span
+class="small-caps">aa</span> </span>on page&#x00A0;<a
+href="#x1-120001r1">201<!--tex4ht:ref: feat:aa --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">KV </span>is gone, <span
-class="eccc-1000"><span
-class="small-caps">KV</span> </span>on page&#x00A0;<a
-href="#x1-118001r1">200<!--tex4ht:ref: feat:kv --></a>.
+class="eccc1000-"><span
+class="small-caps">kv</span> </span>on page&#x00A0;<a
+href="#x1-120001r1">204<!--tex4ht:ref: feat:kv --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">MERGE_TYPE</span>, <span
-class="eccc-1000"><span
-class="small-caps">MERGE</span>-<span
-class="small-caps">TYPE</span> </span>on page&#x00A0;<a
-href="#x1-118001r1">200<!--tex4ht:ref: feat:merge-type --></a>.
+class="eccc1000-"><span
+class="small-caps">merge-type</span> </span>on page&#x00A0;<a
+href="#x1-120001r1">204<!--tex4ht:ref: feat:merge-type --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">REPLACING_VERSIONS </span>and <span
class="ectt-1000">REPLACED_BY_VERSION</span>, <span
-class="eccc-1000"><span
-class="small-caps">REPLACE</span>-<span
-class="small-caps">VERSION</span>-<span
-class="small-caps">VARS</span> </span>on
+class="eccc1000-"><span
+class="small-caps">replace-version-vars</span> </span>on
page&#x00A0;<a
-href="#x1-12000011.1.2">215<!--tex4ht:ref: feat:replace-version-vars --></a>.
+href="#x1-12200011.1.2">219<!--tex4ht:ref: feat:replace-version-vars --></a>.
</li>
<li class="compactitem">Utilities now die on failure, <span
-class="eccc-1000"><span
-class="small-caps">DIE</span>-<span
-class="small-caps">ON</span>-<span
-class="small-caps">FAILURE</span> </span>on page&#x00A0;<a
-href="#x1-13000011.3.3.1">226<!--tex4ht:ref: feat:die-on-failure --></a>, unless called under
+class="eccc1000-"><span
+class="small-caps">die-on-failure</span> </span>on page&#x00A0;<a
+href="#x1-13200011.3.3.1">230<!--tex4ht:ref: feat:die-on-failure --></a>, unless called under
<span
class="ectt-1000">nonfatal</span>, <span
-class="eccc-1000"><span
-class="small-caps">NONFATAL</span> </span>on page&#x00A0;<a
-href="#x1-13000011.3.3.1">226<!--tex4ht:ref: feat:nonfatal --></a>
+class="eccc1000-"><span
+class="small-caps">nonfatal</span> </span>on page&#x00A0;<a
+href="#x1-13200011.3.3.1">230<!--tex4ht:ref: feat:nonfatal --></a>
</li>
<li class="compactitem"><span
class="ectt-1000">dohard</span>, <span
class="ectt-1000">dosed </span>banned, <span
-class="eccc-1000"><span
-class="small-caps">BANNED</span>-<span
-class="small-caps">COMMANDS</span> </span>on page&#x00A0;<a
-href="#x1-13100011.3.3.2">229<!--tex4ht:ref: feat:banned-commands --></a>.
+class="eccc1000-"><span
+class="small-caps">banned-commands</span> </span>on page&#x00A0;<a
+href="#x1-13300011.3.3.2">233<!--tex4ht:ref: feat:banned-commands --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">econf </span>adds <span
class="ectt-1000">--disable-dependency-tracking</span>, <span
-class="eccc-1000"><span
-class="small-caps">ECONF</span>-<span
-class="small-caps">OPTIONS</span> </span>on page&#x00A0;<a
-href="#x1-13700011.3.3.8">242<!--tex4ht:ref: feat:econf-options --></a>.
+class="eccc1000-"><span
+class="small-caps">econf-options</span> </span>on page&#x00A0;<a
+href="#x1-13900011.3.3.8">247<!--tex4ht:ref: feat:econf-options --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">dodoc -r </span>support, <span
-class="eccc-1000"><span
-class="small-caps">DODOC</span> </span>on page&#x00A0;<a
-href="#x1-13800011.3.3.9">245<!--tex4ht:ref: feat:dodoc --></a>.
+class="eccc1000-"><span
+class="small-caps">dodoc</span> </span>on page&#x00A0;<a
+href="#x1-14000011.3.3.9">250<!--tex4ht:ref: feat:dodoc --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">doins </span>supports symlinks, <span
-class="eccc-1000"><span
-class="small-caps">DOINS</span> </span>on page&#x00A0;<a
-href="#x1-13800011.3.3.9">247<!--tex4ht:ref: feat:doins --></a>.
+class="eccc1000-"><span
+class="small-caps">doins</span> </span>on page&#x00A0;<a
+href="#x1-14000011.3.3.9">252<!--tex4ht:ref: feat:doins --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">doman -i18n </span>option takes precedence, <span
-class="eccc-1000"><span
-class="small-caps">DOMAN</span>-<span
-class="small-caps">LANGS</span> </span>on page&#x00A0;<a
-href="#x1-13800011.3.3.9">248<!--tex4ht:ref: feat:doman-langs --></a>.
+class="eccc1000-"><span
+class="small-caps">doman-langs</span> </span>on page&#x00A0;<a
+href="#x1-14000011.3.3.9">253<!--tex4ht:ref: feat:doman-langs --></a>.
</li>
<li class="compactitem">Controllable compression and <span
class="ectt-1000">docompress</span>, <span
-class="eccc-1000"><span
-class="small-caps">DOCOMPRESS</span> </span>on page&#x00A0;<a
-href="#x1-14000011.3.3.11">267<!--tex4ht:ref: feat:docompress --></a>.
+class="eccc1000-"><span
+class="small-caps">docompress</span> </span>on page&#x00A0;<a
+href="#x1-14200011.3.3.11">269<!--tex4ht:ref: feat:docompress --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">use_with </span>and <span
class="ectt-1000">use_enable </span>support empty third argument, <span
-class="eccc-1000"><span
-class="small-caps">USE</span>-<span
-class="small-caps">WITH</span> </span>on page&#x00A0;<a
-href="#x1-14100011.3.3.12">271<!--tex4ht:ref: feat:use-with --></a>.</li></ul>
+class="eccc1000-"><span
+class="small-caps">use-with</span> </span>on page&#x00A0;<a
+href="#x1-14300011.3.3.12">273<!--tex4ht:ref: feat:use-with --></a>.</li></ul>
<!--l. 322--><p class="nopar" >
</p>
-<h3 class="likesectionHead"><a
- id="x1-182000E"></a>EAPI 5</h3>
+<h3 class="sectionHead"><a
+ id="x1-184000E"></a>EAPI 5</h3>
<!--l. 324--><p class="nopar" >EAPI 5 is EAPI 4 with the following changes:
</p><!--l. 327--><p class="noindent" >
</p><ul>
<li class="compactitem">Stable use masking and forcing, <span
-class="eccc-1000"><span
-class="small-caps">STABLEMASK</span> </span>on page&#x00A0;<a
-href="#x1-580005.2.11">61<!--tex4ht:ref: feat:stablemask --></a>.
+class="eccc1000-"><span
+class="small-caps">stablemask</span> </span>on page&#x00A0;<a
+href="#x1-600005.2.11">64<!--tex4ht:ref: feat:stablemask --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">REQUIRED_USE </span>now supports <span
class="ectt-1000">??</span>&#x00A0;groups, <span
-class="eccc-1000"><span
-class="small-caps">AT</span>-<span
-class="small-caps">MOST</span>-<span
-class="small-caps">ONE</span>-<span
-class="small-caps">OF</span> </span>on page&#x00A0;<a
-href="#x1-760008.2">103<!--tex4ht:ref: feat:at-most-one-of --></a>.
+class="eccc1000-"><span
+class="small-caps">at-most-one-of</span> </span>on page&#x00A0;<a
+href="#x1-780008.2">106<!--tex4ht:ref: feat:at-most-one-of --></a>.
</li>
<li class="compactitem">Slot operator dependencies, <span
-class="eccc-1000"><span
-class="small-caps">SLOT</span>-<span
-class="small-caps">OPERATOR</span>-<span
-class="small-caps">DEPS</span> </span>on page&#x00A0;<a
-href="#x1-860008.2.6.3">119<!--tex4ht:ref: feat:slot-operator-deps --></a>.
+class="eccc1000-"><span
+class="small-caps">slot-operator-deps</span> </span>on page&#x00A0;<a
+href="#x1-880008.2.6.3">122<!--tex4ht:ref: feat:slot-operator-deps --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">SLOT </span>now supports an optional sub-slot part, <span
-class="eccc-1000"><span
-class="small-caps">SUB</span>-<span
-class="small-caps">SLOT</span> </span>on page&#x00A0;<a
-href="#x1-860008.2.6.3">119<!--tex4ht:ref: feat:sub-slot --></a>.
+class="eccc1000-"><span
+class="small-caps">sub-slot</span> </span>on page&#x00A0;<a
+href="#x1-880008.2.6.3">122<!--tex4ht:ref: feat:sub-slot --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">src_test </span>supports parallel tests, <span
-class="eccc-1000"><span
-class="small-caps">PARALLEL</span>-<span
-class="small-caps">TESTS</span> </span>on page&#x00A0;<a
-href="#x1-1020009.1.8">163<!--tex4ht:ref: feat:parallel-tests --></a>.
+class="eccc1000-"><span
+class="small-caps">parallel-tests</span> </span>on page&#x00A0;<a
+href="#x1-1040009.1.8">167<!--tex4ht:ref: feat:parallel-tests --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">EBUILD_PHASE_FUNC</span>, <span
-class="eccc-1000"><span
-class="small-caps">EBUILD</span>-<span
-class="small-caps">PHASE</span>-<span
-class="small-caps">FUNC</span> </span>on page&#x00A0;<a
-href="#x1-118001r1">200<!--tex4ht:ref: feat:ebuild-phase-func --></a>.
+class="eccc1000-"><span
+class="small-caps">ebuild-phase-func</span> </span>on page&#x00A0;<a
+href="#x1-120001r1">204<!--tex4ht:ref: feat:ebuild-phase-func --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">USE </span>is calculated differently, <span
-class="eccc-1000"><span
-class="small-caps">PROFILE</span>-<span
-class="small-caps">IUSE</span>-<span
-class="small-caps">INJECT</span> </span>on page&#x00A0;<a
-href="#x1-11900011.1.1">214<!--tex4ht:ref: feat:profile-iuse-inject --></a>.
+class="eccc1000-"><span
+class="small-caps">profile-iuse-inject</span> </span>on page&#x00A0;<a
+href="#x1-12100011.1.1">218<!--tex4ht:ref: feat:profile-iuse-inject --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">find </span>is guaranteed to be GNU, <span
-class="eccc-1000"><span
-class="small-caps">GNU</span>-<span
-class="small-caps">FIND</span> </span>on page&#x00A0;<a
-href="#x1-12600011.3.1.1">222<!--tex4ht:ref: feat:gnu-find --></a>.
+class="eccc1000-"><span
+class="small-caps">gnu-find</span> </span>on page&#x00A0;<a
+href="#x1-12800011.3.1.1">226<!--tex4ht:ref: feat:gnu-find --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">best_version </span>and <span
class="ectt-1000">has_version </span>support the <span
class="ectt-1000">--host-root </span>option,
<span
-class="eccc-1000"><span
-class="small-caps">HOST</span>-<span
-class="small-caps">ROOT</span>-<span
-class="small-caps">OPTION</span> </span>on page&#x00A0;<a
-href="#x1-13300011.3.3.4">232<!--tex4ht:ref: feat:host-root-option --></a>.
+class="eccc1000-"><span
+class="small-caps">host-root-option</span> </span>on page&#x00A0;<a
+href="#x1-13500011.3.3.4">236<!--tex4ht:ref: feat:host-root-option --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">econf </span>adds <span
class="ectt-1000">--disable-silent-rules</span>, <span
-class="eccc-1000"><span
-class="small-caps">ECONF</span>-<span
-class="small-caps">OPTIONS</span> </span>on page&#x00A0;<a
-href="#x1-13700011.3.3.8">242<!--tex4ht:ref: feat:econf-options --></a>.
+class="eccc1000-"><span
+class="small-caps">econf-options</span> </span>on page&#x00A0;<a
+href="#x1-13900011.3.3.8">247<!--tex4ht:ref: feat:econf-options --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">doheader </span>and <span
class="ectt-1000">newheader </span>support, <span
-class="eccc-1000"><span
-class="small-caps">DOHEADER</span> </span>on page&#x00A0;<a
-href="#x1-13800011.3.3.9">246<!--tex4ht:ref: feat:doheader --></a>.
+class="eccc1000-"><span
+class="small-caps">doheader</span> </span>on page&#x00A0;<a
+href="#x1-14000011.3.3.9">251<!--tex4ht:ref: feat:doheader --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">new* </span>can read from standard input, <span
-class="eccc-1000"><span
-class="small-caps">NEWFOO</span>-<span
-class="small-caps">STDIN</span> </span>on page&#x00A0;<a
-href="#x1-13800011.3.3.9">248<!--tex4ht:ref: feat:newfoo-stdin --></a>.
+class="eccc1000-"><span
+class="small-caps">newfoo-stdin</span> </span>on page&#x00A0;<a
+href="#x1-14000011.3.3.9">253<!--tex4ht:ref: feat:newfoo-stdin --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">usex </span>support, <span
-class="eccc-1000"><span
-class="small-caps">USEX</span> </span>on page&#x00A0;<a
-href="#x1-14100011.3.3.12">271<!--tex4ht:ref: feat:usex --></a>.</li></ul>
+class="eccc1000-"><span
+class="small-caps">usex</span> </span>on page&#x00A0;<a
+href="#x1-14300011.3.3.12">273<!--tex4ht:ref: feat:usex --></a>.</li></ul>
<!--l. 343--><p class="nopar" >
</p>
-<h3 class="likesectionHead"><a
- id="x1-183000E"></a>EAPI 6</h3>
+<h3 class="sectionHead"><a
+ id="x1-185000E"></a>EAPI 6</h3>
<!--l. 345--><p class="nopar" >EAPI 6 is EAPI 5 with the following changes:
</p><!--l. 348--><p class="noindent" >
</p><ul>
<li class="compactitem">Bash version is 4.2, <span
-class="eccc-1000"><span
-class="small-caps">BASH</span>-<span
-class="small-caps">VERSION</span> </span>on page&#x00A0;<a
-href="#x1-620006">75<!--tex4ht:ref: feat:bash-version --></a>.
+class="eccc1000-"><span
+class="small-caps">bash-version</span> </span>on page&#x00A0;<a
+href="#x1-640006">78<!--tex4ht:ref: feat:bash-version --></a>.
</li>
<li class="compactitem">Default <span
class="ectt-1000">src_prepare </span>no longer a no-op, <span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">PREPARE</span>-6 </span>on page&#x00A0;<a
-href="#x1-990009.1.5">134<!--tex4ht:ref: feat:src-prepare-6 --></a>.
+class="eccc1000-"><span
+class="small-caps">src-prepare-6</span> </span>on page&#x00A0;<a
+href="#x1-1010009.1.5">138<!--tex4ht:ref: feat:src-prepare-6 --></a>.
</li>
<li class="compactitem">Different <span
class="ectt-1000">src_install </span>implementation, <span
-class="eccc-1000"><span
-class="small-caps">SRC</span>-<span
-class="small-caps">INSTALL</span>-6 </span>on page&#x00A0;<a
-href="#x1-1030009.1.9">170<!--tex4ht:ref: feat:src-install-6 --></a>.
+class="eccc1000-"><span
+class="small-caps">src-install-6</span> </span>on page&#x00A0;<a
+href="#x1-1050009.1.9">174<!--tex4ht:ref: feat:src-install-6 --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">LC_CTYPE </span>and <span
class="ectt-1000">LC_COLLATE </span>compatible with POSIX locale, <span
-class="eccc-1000"><span
-class="small-caps">LOCALE</span>-<span
-class="small-caps">SETTINGS</span> </span>on
+class="eccc1000-"><span
+class="small-caps">locale-settings</span> </span>on
page&#x00A0;<a
-href="#x1-11800011.1">211<!--tex4ht:ref: feat:locale-settings --></a>.
+href="#x1-12000011.1">215<!--tex4ht:ref: feat:locale-settings --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">failglob </span>is enabled in global scope, <span
-class="eccc-1000"><span
-class="small-caps">FAILGLOB</span> </span>on page&#x00A0;<a
-href="#x1-12700011.3.1.2">222<!--tex4ht:ref: feat:failglob --></a>.
+class="eccc1000-"><span
+class="small-caps">failglob</span> </span>on page&#x00A0;<a
+href="#x1-12900011.3.1.2">226<!--tex4ht:ref: feat:failglob --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">einstall </span>banned, <span
-class="eccc-1000"><span
-class="small-caps">BANNED</span>-<span
-class="small-caps">COMMANDS</span> </span>on page&#x00A0;<a
-href="#x1-13100011.3.3.2">229<!--tex4ht:ref: feat:banned-commands --></a>.
+class="eccc1000-"><span
+class="small-caps">banned-commands</span> </span>on page&#x00A0;<a
+href="#x1-13300011.3.3.2">233<!--tex4ht:ref: feat:banned-commands --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">die </span>and <span
class="ectt-1000">assert </span>called with <span
class="ectt-1000">-n </span>respect <span
class="ectt-1000">nonfatal</span>, <span
-class="eccc-1000"><span
-class="small-caps">NONFATAL</span>-<span
-class="small-caps">DIE</span> </span>on page&#x00A0;<a
-href="#x1-13500011.3.3.6">233<!--tex4ht:ref: feat:nonfatal-die --></a>.
+class="eccc1000-"><span
+class="small-caps">nonfatal-die</span> </span>on page&#x00A0;<a
+href="#x1-13700011.3.3.6">239<!--tex4ht:ref: feat:nonfatal-die --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">eapply </span>support, <span
-class="eccc-1000"><span
-class="small-caps">EAPPLY</span> </span>on page&#x00A0;<a
-href="#x1-13600011.3.3.7">236<!--tex4ht:ref: feat:eapply --></a>.
+class="eccc1000-"><span
+class="small-caps">eapply</span> </span>on page&#x00A0;<a
+href="#x1-13800011.3.3.7">243<!--tex4ht:ref: feat:eapply --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">eapply_user </span>support, <span
-class="eccc-1000"><span
-class="small-caps">EAPPLY</span>-<span
-class="small-caps">USER</span> </span>on page&#x00A0;<a
-href="#x1-13600011.3.3.7">236<!--tex4ht:ref: feat:eapply-user --></a>.
+class="eccc1000-"><span
+class="small-caps">eapply-user</span> </span>on page&#x00A0;<a
+href="#x1-13800011.3.3.7">244<!--tex4ht:ref: feat:eapply-user --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">econf </span>adds <span
class="ectt-1000">--docdir </span>and <span
class="ectt-1000">--htmldir</span>, <span
-class="eccc-1000"><span
-class="small-caps">ECONF</span>-<span
-class="small-caps">OPTIONS</span> </span>on page&#x00A0;<a
-href="#x1-13700011.3.3.8">242<!--tex4ht:ref: feat:econf-options --></a>.
+class="eccc1000-"><span
+class="small-caps">econf-options</span> </span>on page&#x00A0;<a
+href="#x1-13900011.3.3.8">247<!--tex4ht:ref: feat:econf-options --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">in_iuse </span>support, <span
-class="eccc-1000"><span
-class="small-caps">IN</span>-<span
-class="small-caps">IUSE</span> </span>on page&#x00A0;<a
-href="#x1-14100011.3.3.12">271<!--tex4ht:ref: feat:in-iuse --></a>.
+class="eccc1000-"><span
+class="small-caps">in-iuse</span> </span>on page&#x00A0;<a
+href="#x1-14300011.3.3.12">273<!--tex4ht:ref: feat:in-iuse --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">unpack </span>supports absolute and relative paths, <span
-class="eccc-1000"><span
-class="small-caps">UNPACK</span>-<span
-class="small-caps">ABSOLUTE</span> </span>on page&#x00A0;<a
-href="#x1-14300011.3.3.14">280<!--tex4ht:ref: feat:unpack-absolute --></a>.
+class="eccc1000-"><span
+class="small-caps">unpack-absolute</span> </span>on page&#x00A0;<a
+href="#x1-14500011.3.3.14">282<!--tex4ht:ref: feat:unpack-absolute --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">unpack </span>supports <span
class="ectt-1000">.txz</span>, <span
-class="eccc-1000"><span
-class="small-caps">UNPACK</span>-<span
-class="small-caps">EXTENSIONS</span> </span>on page&#x00A0;<a
-href="#x1-14300011.3.3.14">281<!--tex4ht:ref: feat:unpack-extensions --></a>.
+class="eccc1000-"><span
+class="small-caps">unpack-extensions</span> </span>on page&#x00A0;<a
+href="#x1-14500011.3.3.14">283<!--tex4ht:ref: feat:unpack-extensions --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">unpack </span>matches filename extensions case-insensitively, <span
-class="eccc-1000"><span
-class="small-caps">UNPACK</span>-<span
-class="small-caps">IGNORE</span>-<span
-class="small-caps">CASE</span> </span>on
+class="eccc1000-"><span
+class="small-caps">unpack-ignore-case</span> </span>on
page&#x00A0;<a
-href="#x1-14300011.3.3.14">282<!--tex4ht:ref: feat:unpack-ignore-case --></a>.
+href="#x1-14500011.3.3.14">283<!--tex4ht:ref: feat:unpack-ignore-case --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">einstalldocs </span>support, <span
-class="eccc-1000"><span
-class="small-caps">EINSTALLDOCS</span> </span>on page&#x00A0;<a
-href="#x1-14300011.3.3.14">282<!--tex4ht:ref: feat:einstalldocs --></a>.
+class="eccc1000-"><span
+class="small-caps">einstalldocs</span> </span>on page&#x00A0;<a
+href="#x1-14500011.3.3.14">284<!--tex4ht:ref: feat:einstalldocs --></a>.
</li>
<li class="compactitem"><span
class="ectt-1000">get_libdir </span>support, <span
-class="eccc-1000"><span
-class="small-caps">GET</span>-<span
-class="small-caps">LIBDIR</span> </span>on page&#x00A0;<a
-href="#x1-14300011.3.3.14">282<!--tex4ht:ref: feat:get-libdir --></a>.</li></ul>
+class="eccc1000-"><span
+class="small-caps">get-libdir</span> </span>on page&#x00A0;<a
+href="#x1-14500011.3.3.14">285<!--tex4ht:ref: feat:get-libdir --></a>.</li></ul>
<a
- id="x1-183001r236"></a>
+ id="x1-185001r238"></a>
<h2 class="appendixHead"><span class="titlemark">Appendix&#x00A0;F</span><br /><a
- id="x1-184000F"></a>Desk Reference</h2>
-<!--l. 79--><p class="nopar" ><a
+ id="x1-186000F"></a>Desk Reference</h2>
+<!--l. 81--><p class="nopar" ><a
href="eapi-cheatsheet.pdf" >EAPI Cheat Sheet</a>
</p>
<div class="footnotes"><!--l. 37--><p class="noindent" ><span class="footnote-mark"><a
@@ -11346,9 +11196,9 @@ class="ecrm-0800">project. Some of its features have been included in EAPI &#821
<!--l. 43--><p class="noindent" ><span class="footnote-mark"><a
href="#fn2x12-bk" id="fn2x12"><sup class="textsuperscript">2</sup></a></span><span
class="ecrm-0800">May change if a package has been updated (see&#x00A0;</span><a
-href="#x1-390004.4.4"><span
+href="#x1-410004.4.4"><span
class="ecrm-0800">4.4.4</span><!--tex4ht:ref: sec:updates-dir --></a><span
-class="ecrm-0800">)</span></p>
+class="ecrm-0800">).</span></p>
<!--l. 79--><p class="noindent" ><span class="footnote-mark"><a
href="#fn3x12-bk" id="fn3x12"><sup class="textsuperscript">3</sup></a></span><span
class="ecrm-0800">This variable is generally considered deprecated. However, ebuilds must still assume that the package manager sets it in the EAPIs supporting it. For example, a few configure scripts use this variable</span>
@@ -11356,10 +11206,10 @@ class="ecrm-0800">This variable is generally considered deprecated. However, ebu
class="ecrm-0800">to find the </span><span
class="ectt-0800">aalib </span><span
class="ecrm-0800">package; ebuilds calling such configure scripts must thus work around this.</span></p>
-<!--l. 87--><p class="noindent" ><span class="footnote-mark"><a
+<!--l. 88--><p class="noindent" ><span class="footnote-mark"><a
href="#fn4x12-bk" id="fn4x12"><sup class="textsuperscript">4</sup></a></span><span
-class="ecrm-0800">Not necessarily present when installing from a binary package</span></p>
-<!--l. 123--><p class="noindent" ><span class="footnote-mark"><a
+class="ecrm-0800">Not necessarily present when installing from a binary package. Ebuilds must not access the directory in global scope.</span></p>
+<!--l. 136--><p class="noindent" ><span class="footnote-mark"><a
href="#fn5x12-bk" id="fn5x12"><sup class="textsuperscript">5</sup></a></span><span
class="ecrm-0800">Consistent and preserved across a single connected sequence of install or uninstall phases, but not between install and uninstall. When reinstalling a package, this variable must have different values for</span>
<span
diff --git a/6/pms.pdf b/6/pms.pdf
index ea342ca..b84eeff 100644
--- a/6/pms.pdf
+++ b/6/pms.pdf
Binary files differ