diff options
Diffstat (limited to 'dependencies.html')
-rw-r--r-- | dependencies.html | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/dependencies.html b/dependencies.html index 95040d3..f7eea2c 100644 --- a/dependencies.html +++ b/dependencies.html @@ -145,8 +145,37 @@ 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="dependencies-with-no-revision"> +<span id="index-2"></span><h2>=-dependencies with no revision<a class="headerlink" href="#dependencies-with-no-revision" title="Permalink to this headline">¶</a></h2> +<dl class="field-list simple"> +<dt class="field-odd">Source</dt> +<dd class="field-odd"><p>QA</p> +</dd> +<dt class="field-even">Reported</dt> +<dd class="field-even"><p>by repoman and pkgcheck</p> +</dd> +</dl> +<p>Whenever a non-wildcard <code class="docutils literal notranslate"><span class="pre">=</span></code> (equals) dependency is used on a package, +the requested revision must be specified explicitly. When the zeroth +revision is requested, <code class="docutils literal notranslate"><span class="pre">-r0</span></code> must be used. When no specific revision +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="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> +</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 +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"> -<span id="index-2"></span><h2>Slot and subslot dependencies<a class="headerlink" href="#slot-and-subslot-dependencies" title="Permalink to this headline">¶</a></h2> +<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="on-sub-slotted-packages"> <h3>on (sub-)slotted packages<a class="headerlink" href="#on-sub-slotted-packages" title="Permalink to this headline">¶</a></h3> <dl class="field-list simple"> @@ -182,7 +211,7 @@ to the newest package version available.</p> </div> </div> <div class="section" id="special-case-qt-packages"> -<span id="index-3"></span><h3>special case: Qt packages<a class="headerlink" href="#special-case-qt-packages" title="Permalink to this headline">¶</a></h3> +<span id="index-4"></span><h3>special case: Qt packages<a class="headerlink" href="#special-case-qt-packages" title="Permalink to this headline">¶</a></h3> <dl class="field-list simple"> <dt class="field-odd">Source</dt> <dd class="field-odd"><p>Qt project</p> @@ -215,7 +244,7 @@ They point out the case of Qt packages as an example.</p> </div> </div> <div class="section" id="revision-bumps-on-runtime-dependency-changes"> -<span id="index-4"></span><h2>Revision bumps on runtime dependency changes<a class="headerlink" href="#revision-bumps-on-runtime-dependency-changes" title="Permalink to this headline">¶</a></h2> +<span id="index-5"></span><h2>Revision bumps on runtime dependency changes<a class="headerlink" href="#revision-bumps-on-runtime-dependency-changes" title="Permalink to this headline">¶</a></h2> <dl class="field-list simple"> <dt class="field-odd">Source</dt> <dd class="field-odd"><p>Council</p> @@ -304,6 +333,7 @@ if the package installed by the user still links to libfoo.</p> <li class="toctree-l1"><a class="reference internal" href="other-docs.html">Other policy documents</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Dependencies</a><ul class='nav'> <li class="toctree-l2"><a class="reference internal" href="#optional-runtime-dependencies">Optional runtime dependencies</a></li> +<li class="toctree-l2"><a class="reference internal" href="#dependencies-with-no-revision">=-dependencies with no revision</a></li> <li class="toctree-l2"><a class="reference internal" href="#slot-and-subslot-dependencies">Slot and subslot dependencies</a></li> <li class="toctree-l2"><a class="reference internal" href="#revision-bumps-on-runtime-dependency-changes">Revision bumps on runtime dependency changes</a></li> </ul> @@ -313,6 +343,7 @@ if the package installed by the user still links to libfoo.</p> <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"><a class="reference internal" href="maintainer.html">Package Maintainers</a></li> <li class="toctree-l1"><a class="reference internal" href="other-metadata.html">Other metadata variables</a></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> |