summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'other-metadata.html')
-rw-r--r--other-metadata.html158
1 files changed, 158 insertions, 0 deletions
diff --git a/other-metadata.html b/other-metadata.html
new file mode 100644
index 0000000..911a78c
--- /dev/null
+++ b/other-metadata.html
@@ -0,0 +1,158 @@
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Other metadata variables &#8212; Gentoo Policy Guide documentation</title>
+ <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
+ <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+ <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+ <script type="text/javascript" src="_static/jquery.js"></script>
+ <script type="text/javascript" src="_static/underscore.js"></script>
+ <script type="text/javascript" src="_static/doctools.js"></script>
+ <script type="text/javascript" src="_static/language_data.js"></script>
+ <link rel="index" title="Index" href="genindex.html" />
+ <link rel="search" title="Search" href="search.html" />
+ <link rel="next" title="USE flags" href="use-flags.html" />
+ <link rel="prev" title="Language-specific policies" href="languages.html" />
+
+ <link rel="stylesheet" href="_static/custom.css" type="text/css" />
+
+
+ <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
+
+ </head><body>
+
+
+ <div class="document">
+ <div class="documentwrapper">
+ <div class="bodywrapper">
+
+
+ <div class="body" role="main">
+
+ <div class="section" id="other-metadata-variables">
+<h1>Other metadata variables<a class="headerlink" href="#other-metadata-variables" title="Permalink to this headline">¶</a></h1>
+<span class="target" id="index-0"></span><div class="section" id="dynamic-slots-multislot-flag">
+<span id="index-1"></span><h2>Dynamic slots (multislot flag)<a class="headerlink" href="#dynamic-slots-multislot-flag" title="Permalink to this headline">¶</a></h2>
+<dl class="field-list simple">
+<dt class="field-odd">Source</dt>
+<dd class="field-odd"><p>QA (inferred from PMS)</p>
+</dd>
+<dt class="field-even">Reference</dt>
+<dd class="field-even"><p><a class="reference external" href="https://wiki.gentoo.org/index.php?title=Project:Quality_Assurance/Policies&amp;oldid=109991#multislot.2FUSE-dependent_SLOT">https://wiki.gentoo.org/index.php?title=Project:Quality_Assurance/Policies&amp;oldid=109991#multislot.2FUSE-dependent_SLOT</a></p>
+</dd>
+<dt class="field-odd">Reported</dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">use</span></code> in global scope triggers fatal error</p>
+</dd>
+</dl>
+<p>The use of <code class="docutils literal notranslate"><span class="pre">multislot</span></code> to alter <code class="docutils literal notranslate"><span class="pre">SLOT</span></code> values (as well as any other
+USE-dependent slot values) in the Gentoo repository is forbidden.
+Such a feature can be used in overlays, and it is acceptable to provide
+such support in eclasses as long as it is not used in ::gentoo.</p>
+<p>This policy has been explicitly declared in response to historical
+(pre-2016) use of <code class="docutils literal notranslate"><span class="pre">USE=multislot</span></code> in toolchain ebuilds. When the flag
+was disabled, all package versions used the same slot, and upgrades were
+handled as for non-slotted packages. When the flag was enabled, each
+version used a separate slot, permitting multiple versions being
+installed simultaneously. This allowed the user to choose between
+the two options.</p>
+<p>The original violation has been resolved by unconditionally slotting
+the packages. This permitted the users to install multiple versions
+in parallel, while removal of old versions was to be handled via
+<code class="docutils literal notranslate"><span class="pre">emerge</span> <span class="pre">--depclean</span></code>.</p>
+<p><em>Rationale</em>: this feature was in direct violation of PMS <a class="reference external" href="https://projects.gentoo.org/pms/7/pms.html#x1-600007.1">metadata
+invariance</a> requirements. It caused the cached slot value to depend
+on the state of querying the USE flag (which in turn could technically
+depend on slot, via <code class="docutils literal notranslate"><span class="pre">package.use</span></code>). This caused undefined package
+manager behavior which could include use of unpredictable slot, cache
+invalidation or explicit errors.</p>
+</div>
+</div>
+
+
+ </div>
+
+ </div>
+ </div>
+ <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
+ <div class="sphinxsidebarwrapper">
+<h1 class="logo"><a href="index.html">Gentoo Policy Guide</a></h1>
+
+
+
+
+
+
+
+
+<h3>Navigation</h3>
+<p class="caption"><span class="caption-text">Contents:</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="preface.html">Preface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="motivation.html">Motivation and history</a></li>
+<li class="toctree-l1"><a class="reference internal" href="basics.html">Basic information</a></li>
+<li class="toctree-l1"><a class="reference internal" href="other-docs.html">Other policy documents</a></li>
+<li class="toctree-l1"><a class="reference internal" href="dependencies.html">Dependencies</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ebuild-format.html">Ebuild file format</a></li>
+<li class="toctree-l1"><a class="reference internal" href="filesystem.html">File system layout</a></li>
+<li class="toctree-l1"><a class="reference internal" href="installed-files.html">Installed files</a></li>
+<li class="toctree-l1"><a class="reference internal" href="keywords.html">Keywording and stabilization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="languages.html">Language-specific policies</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Other metadata variables</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#dynamic-slots-multislot-flag">Dynamic slots (multislot flag)</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="use-flags.html">USE flags</a></li>
+<li class="toctree-l1"><a class="reference internal" href="user-group.html">Users and groups</a></li>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="index.html">Documentation overview</a><ul>
+ <li>Previous: <a href="languages.html" title="previous chapter">Language-specific policies</a></li>
+ <li>Next: <a href="use-flags.html" title="next chapter">USE flags</a></li>
+ </ul></li>
+</ul>
+</div>
+<div id="searchbox" style="display: none" role="search">
+ <h3 id="searchlabel">Quick search</h3>
+ <div class="searchformwrapper">
+ <form class="search" action="search.html" method="get">
+ <input type="text" name="q" aria-labelledby="searchlabel" />
+ <input type="submit" value="Go" />
+ </form>
+ </div>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div class="clearer"></div>
+ </div>
+ <div class="footer">
+ &copy;2020, Gentoo Authors.
+
+ |
+ Powered by <a href="http://sphinx-doc.org/">Sphinx 2.3.1</a>
+ &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
+
+ |
+ <a href="_sources/other-metadata.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file