diff options
Diffstat (limited to 'dependencies.html')
-rw-r--r-- | dependencies.html | 63 |
1 files changed, 33 insertions, 30 deletions
diff --git a/dependencies.html b/dependencies.html index f002c80..3c003ec 100644 --- a/dependencies.html +++ b/dependencies.html @@ -5,7 +5,8 @@ <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="viewport" content="width=device-width, initial-scale=1"><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> + <title>Dependencies — Gentoo Policy Guide documentation</title> <link rel="stylesheet" href="_static/tyrian-sphinx-theme.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> @@ -14,11 +15,13 @@ <link rel="icon" href="https://www.gentoo.org/favicon.ico" type="image/x-icon"> <link href="https://assets.gentoo.org/tyrian/bootstrap.min.css" rel="stylesheet" media="screen"> <link href="https://assets.gentoo.org/tyrian/tyrian.min.css" rel="stylesheet" media="screen"> + <link rel="stylesheet" type="text/css" href="_static/pygments.css" /> + <link rel="stylesheet" type="text/css" href="_static/tyrian-sphinx-theme.css" /> <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> + <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script src="_static/jquery.js"></script> <script src="_static/underscore.js"></script> <script src="_static/doctools.js"></script> - <script 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="Deprecations" href="deprecation.html" /> @@ -130,9 +133,9 @@ - <div class="section" id="dependencies"> + <section id="dependencies"> <h1>Dependencies<a class="headerlink" href="#dependencies" title="Permalink to this headline">¶</a></h1> -<span class="target" id="index-0"></span><div class="section" id="pg0001"> +<span class="target" id="index-0"></span><section id="pg0001"> <span id="optional-runtime-dependencies"></span><span id="index-1"></span><h2>Optional runtime dependencies<a class="headerlink" href="#pg0001" title="Permalink to this headline">¶</a></h2> <dl class="field-list simple"> <dt class="field-odd">PG</dt> @@ -154,8 +157,8 @@ being nonfunctional unless at least one of a set of optional runtime dependencies is installed.</p> <p>There is no specific preference as to how user should be informed of optional runtime dependencies. Three possible ways are -<code class="docutils literal notranslate"><span class="pre">optfeature</span></code> from <code class="docutils literal notranslate"><span class="pre">eutils</span></code> eclass, <code class="docutils literal notranslate"><span class="pre">readme.gentoo-r1</span></code> eclass -and plain <code class="docutils literal notranslate"><span class="pre">elog</span></code> messages.</p> +<code class="docutils literal notranslate"><span class="pre">optfeature</span></code> eclass, <code class="docutils literal notranslate"><span class="pre">readme.gentoo-r1</span></code> eclass and plain <code class="docutils literal notranslate"><span class="pre">elog</span></code> +messages.</p> <p><em>Rationale</em>: toggling USE flags in order to enable or disable optional runtime dependencies causes needless rebuilds of packages in question. This is especially important for packages that take long time to build.</p> @@ -165,8 +168,8 @@ This is especially important for packages that take long time to build.</p> rebuilding package in question. It has been tentatively approved by the Council but no reference implementation has been written.</p> </div> -</div> -<div class="section" id="pg0002"> +</section> +<section id="pg0002"> <span id="dependencies-with-no-revision"></span><span id="index-2"></span><h2>=-dependencies with no revision<a class="headerlink" href="#pg0002" title="Permalink to this headline">¶</a></h2> <dl class="field-list simple"> <dt class="field-odd">PG</dt> @@ -185,11 +188,11 @@ revision is requested, <code class="docutils literal notranslate"><span class="p is necessary, the <code class="docutils literal notranslate"><span class="pre">~</span></code> (tilde) operator must be used instead.</p> <p><em>Example</em>:</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># BAD:</span> -<span class="o">=</span><span class="n">dev</span><span class="o">-</span><span class="n">libs</span><span class="o">/</span><span class="n">libfrobnicate</span><span class="o">-</span><span class="mf">1.2</span><span class="o">.</span><span class="mi">3</span> +<span class="o">=</span><span class="n">dev</span><span class="o">-</span><span class="n">libs</span><span class="o">/</span><span class="n">libfrobnicate</span><span class="o">-</span><span class="mf">1.2.3</span> <span class="c1"># GOOD:</span> -<span class="o">=</span><span class="n">dev</span><span class="o">-</span><span class="n">libs</span><span class="o">/</span><span class="n">libfrobnicate</span><span class="o">-</span><span class="mf">1.2</span><span class="o">.</span><span class="mi">3</span><span class="o">-</span><span class="n">r0</span> -<span class="o">=</span><span class="n">dev</span><span class="o">-</span><span class="n">libs</span><span class="o">/</span><span class="n">libfrobnicate</span><span class="o">-</span><span class="mf">1.2</span><span class="o">.</span><span class="mi">3</span><span class="o">-</span><span class="n">r3</span> -<span class="o">~</span><span class="n">dev</span><span class="o">-</span><span class="n">libs</span><span class="o">/</span><span class="n">libfrobnicate</span><span class="o">-</span><span class="mf">1.2</span><span class="o">.</span><span class="mi">3</span> +<span class="o">=</span><span class="n">dev</span><span class="o">-</span><span class="n">libs</span><span class="o">/</span><span class="n">libfrobnicate</span><span class="o">-</span><span class="mf">1.2.3</span><span class="o">-</span><span class="n">r0</span> +<span class="o">=</span><span class="n">dev</span><span class="o">-</span><span class="n">libs</span><span class="o">/</span><span class="n">libfrobnicate</span><span class="o">-</span><span class="mf">1.2.3</span><span class="o">-</span><span class="n">r3</span> +<span class="o">~</span><span class="n">dev</span><span class="o">-</span><span class="n">libs</span><span class="o">/</span><span class="n">libfrobnicate</span><span class="o">-</span><span class="mf">1.2.3</span> </pre></div> </div> <p><em>Rationale</em>: using <code class="docutils literal notranslate"><span class="pre">=</span></code> operator in place of <code class="docutils literal notranslate"><span class="pre">~</span></code> to mean a specific @@ -197,10 +200,10 @@ version has been a common mistake. This policy uses the fact that no revision and explicit <code class="docutils literal notranslate"><span class="pre">-r0</span></code> are equivalent. By explicitly requesting the latter, it warns developers to reconsider whether they used the correct operator.</p> -</div> -<div class="section" id="slot-and-subslot-dependencies"> +</section> +<section id="slot-and-subslot-dependencies"> <span id="index-3"></span><h2>Slot and subslot dependencies<a class="headerlink" href="#slot-and-subslot-dependencies" title="Permalink to this headline">¶</a></h2> -<div class="section" id="pg0011"> +<section id="pg0011"> <span id="on-sub-slotted-packages"></span><h3>on (sub-)slotted packages<a class="headerlink" href="#pg0011" title="Permalink to this headline">¶</a></h3> <dl class="field-list simple"> <dt class="field-odd">PG</dt> @@ -236,8 +239,8 @@ means ‘verified that any slot is acceptable’.</p> is specified on the dependency. It pulls in the slot corresponding to the newest package version available.</p> </div> -</div> -<div class="section" id="pg0012"> +</section> +<section id="pg0012"> <span id="special-case-qt-packages"></span><span id="index-4"></span><h3>special case: Qt packages<a class="headerlink" href="#pg0012" title="Permalink to this headline">¶</a></h3> <dl class="field-list simple"> <dt class="field-odd">PG</dt> @@ -258,8 +261,8 @@ libraries is stable within each slot, and the subslot is used to refer to private ABI. Therefore, the <code class="docutils literal notranslate"><span class="pre">:=</span></code> operator must only be used if your package uses one of the private API parts, and plain <code class="docutils literal notranslate"><span class="pre">:5</span></code> or likewise dependency must be used otherwise.</p> -</div> -<div class="section" id="proactive-use-of-slot-operators"> +</section> +<section id="proactive-use-of-slot-operators"> <h3>proactive use of slot operators<a class="headerlink" href="#proactive-use-of-slot-operators" title="Permalink to this headline">¶</a></h3> <p>There is an open debate on whether developers should be proactively adding <code class="docutils literal notranslate"><span class="pre">:=</span></code> slot operators on packages that do not define subslots @@ -271,9 +274,9 @@ argue that in many cases the future use of subslots is reasonably predictable.</p> <p>Opponents claim that the future use of subslots is not 100% predictable. They point out the case of Qt packages as an example.</p> -</div> -</div> -<div class="section" id="pg0003"> +</section> +</section> +<section id="pg0003"> <span id="revision-bumps-on-runtime-dependency-changes"></span><span id="index-5"></span><h2>Revision bumps on runtime dependency changes<a class="headerlink" href="#pg0003" title="Permalink to this headline">¶</a></h2> <dl class="field-list simple"> <dt class="field-odd">PG</dt> @@ -315,10 +318,10 @@ and decide to remove the dependency and code responsible for linking to it in place, Portage may apply the former immediately even if the package installed by the user still links to libfoo.</p> </div> -</div> -<div class="section" id="use-dependencies"> +</section> +<section id="use-dependencies"> <span id="index-6"></span><h2>USE dependencies<a class="headerlink" href="#use-dependencies" title="Permalink to this headline">¶</a></h2> -<div class="section" id="pg0021"> +<section id="pg0021"> <span id="on-packages-without-the-flag"></span><h3>on packages without the flag<a class="headerlink" href="#pg0021" title="Permalink to this headline">¶</a></h3> <dl class="field-list simple"> <dt class="field-odd">PG</dt> @@ -356,9 +359,9 @@ dependencies</a>, it is an error to apply 2-style USE dependency to a package missing the flag. Furthermore, checking for this makes it possible to report whenever USE flags on a package are changed without updating its reverse dependencies.</p> -</div> -</div> -</div> +</section> +</section> +</section> @@ -400,7 +403,7 @@ updating its reverse dependencies.</p> <div class=""> <nav class="bs-docs-sidebar" data-spy="affix" data-offset-top="140" data-offset-bottom="400"> - <p class="hidden"><span class="hidden-text">Contents:</span></p> + <p class="hidden" role="heading"><span class="hidden-text">Contents:</span></p> <ul class='current nav'> <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> @@ -450,7 +453,7 @@ updating its reverse dependencies.</p> <h3 class="footerhead">Gentoo Policy Guide </h3> <div class="row"> <div class="col-xs-12 col-md-4"> - <span class="kk-group-header">Powered by</span><br><span><a href="http://sphinx-doc.org/">Sphinx 3.3.0</a> & <a href="https://github.com/mmagorsc/tyrian_sphinx_theme">Tyrian Theme 0.0.7</a></span> + <span class="kk-group-header">Powered by</span><br><span><a href="http://sphinx-doc.org/">Sphinx 4.1.2</a> & <a href="https://github.com/mmagorsc/tyrian_sphinx_theme">Tyrian Theme 0.0.7</a></span> </div> <div class="col-xs-12 col-md-4"> </div> |