summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'basics.html')
-rw-r--r--basics.html193
1 files changed, 193 insertions, 0 deletions
diff --git a/basics.html b/basics.html
new file mode 100644
index 0000000..45f77bb
--- /dev/null
+++ b/basics.html
@@ -0,0 +1,193 @@
+
+<!DOCTYPE html>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="utf-8" />
+ <title>Basic information &#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="Other policy documents" href="other-docs.html" />
+ <link rel="prev" title="Motivation and history" href="motivation.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="basic-information">
+<h1>Basic information<a class="headerlink" href="#basic-information" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="goals-of-policy-making">
+<h2>Goals of policy making<a class="headerlink" href="#goals-of-policy-making" title="Permalink to this headline">¶</a></h2>
+<p>The Gentoo policies focus on three aims:</p>
+<ol class="arabic simple">
+<li><p><em>Portability</em>. By following the policies, it should be possible
+to package software so that it works on different system setups.
+This includes various supported architectures, basic system
+components, service managers, package managers, combinations
+of compiler and linker flags, etc.</p></li>
+<li><p><em>Maintainability</em>. The policies aim to provide consistent coding
+practices that make it easy for a different person to co-maintain
+the package or take over after previous maintainer. This also
+reduces the risk of mistakes experienced by the end users.</p></li>
+<li><p><em>End-user experience</em>. The policies try to help developers
+in providing a consistent end-user experience. The same concepts
+applied across different packages make it easier for user to achieve
+his goals and reduce the likeliness of surprising behavior.</p></li>
+</ol>
+</div>
+<div class="section" id="policy-compliance-checking">
+<h2>Policy compliance checking<a class="headerlink" href="#policy-compliance-checking" title="Permalink to this headline">¶</a></h2>
+<p>Currently, there are two kinds of tools involved in detecting policy
+violations:</p>
+<ol class="arabic simple">
+<li><p>Linting-class tools, including <a class="reference external" href="https://wiki.gentoo.org/wiki/Repoman">repoman</a> and <a class="reference external" href="https://github.com/pkgcore/pkgcheck">pkgcheck</a>. Those tools
+analyze ebuilds and other files in the package repository for known
+policy violations. They are limited to checking for problems that
+can be detected without running the phase functions.</p></li>
+<li><p>Build- and install-time QA checks, implemented in package managers.
+Those trigger while the ebuilds are executing. They are limited
+to testing the currently running code path.</p></li>
+</ol>
+<p>Developers are expected to use both kinds of tools before pushing their
+commits. They should both lint the changed ebuilds using <a class="reference external" href="https://wiki.gentoo.org/wiki/Repoman">repoman</a>
+or <a class="reference external" href="https://github.com/pkgcore/pkgcheck">pkgcheck</a>, and test whether their packages build and install
+correctly.</p>
+<p>Additionally, Gentoo is running <a class="reference external" href="https://github.com/pkgcore/pkgcheck">pkgcheck</a> periodically as <a class="reference external" href="https://qa-reports.gentoo.org/output/gentoo-ci/output.html">Gentoo CI</a>.
+All non-trivial violations are reported to the <a class="reference external" href="https://archives.gentoo.org/gentoo-automated-testing/">gentoo-automated-testing</a>
+mailing list and to the developers making the relevant commits. This
+supplements the direct use of linting tools by developers with reliable
+tree-wide scans.</p>
+</div>
+<div class="section" id="policy-enforcement">
+<h2>Policy enforcement<a class="headerlink" href="#policy-enforcement" title="Permalink to this headline">¶</a></h2>
+<p>The Gentoo <a class="reference external" href="https://wiki.gentoo.org/wiki/Project:Quality_Assurance">QA team</a> is tasked with enforcement of the tree policies.
+Its role is governed by <a class="reference external" href="https://www.gentoo.org/glep/glep-0048.html">GLEP 48</a>. It focuses on documenting
+the policies, resolving doubts regarding them and educating
+the developers.</p>
+<p>The QA team members can also take direct action in resolving minor
+quality problems (i.e. when fixing directly involves far less effort
+than if the developer was requested to fix it), or when developer
+refuses to resolve policy violations.</p>
+<p>Finally, in case of repeated unwillingness to follow policies, the QA
+team can issue disciplinary measures against the developer in question.</p>
+</div>
+<div class="section" id="policy-making-changes-and-appeals">
+<h2>Policy making, changes and appeals<a class="headerlink" href="#policy-making-changes-and-appeals" title="Permalink to this headline">¶</a></h2>
+<p>The majority of policies are written down and maintained by the <a class="reference external" href="https://wiki.gentoo.org/wiki/Project:Quality_Assurance">QA
+team</a>. Other Gentoo projects also create policies that affect their
+specific areas of contributions (e.g. <a class="reference external" href="https://wiki.gentoo.org/wiki/Project:Systemd">systemd project</a> created
+policies related to installing systemd unit files).</p>
+<p>Each policy listed in this document indicates the body maintaining it.
+In order to change or abolish the policy, that team should be contacted.
+If the project in question disagrees with the change, <a class="reference external" href="https://wiki.gentoo.org/wiki/Project:Quality_Assurance">QA team</a> can be
+asked to override the policy. All QA decisions and policies can further
+be appealed to the <a class="reference external" href="https://wiki.gentoo.org/wiki/Project:Council">Council</a>.</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 current"><a class="current reference internal" href="#">Basic information</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#goals-of-policy-making">Goals of policy making</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#policy-compliance-checking">Policy compliance checking</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#policy-enforcement">Policy enforcement</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#policy-making-changes-and-appeals">Policy making, changes and appeals</a></li>
+</ul>
+</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"><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>
+</ul>
+
+<div class="relations">
+<h3>Related Topics</h3>
+<ul>
+ <li><a href="index.html">Documentation overview</a><ul>
+ <li>Previous: <a href="motivation.html" title="previous chapter">Motivation and history</a></li>
+ <li>Next: <a href="other-docs.html" title="next chapter">Other policy documents</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/basics.rst.txt"
+ rel="nofollow">Page source</a>
+ </div>
+
+
+
+
+ </body>
+</html> \ No newline at end of file