summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dependencies.html')
-rw-r--r--dependencies.html37
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>