/usr/share/doc/python-pbr-doc/html/packagers.html is in python-pbr-doc 1.8.0-4ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Notes for Package maintainers — pbr documentation</title>
<link rel="stylesheet" href="_static/nature.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/tweaks.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</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/jquery.tweet.js"></script>
<link rel="top" title="pbr documentation" href="index.html" />
<link rel="next" title="Linux/Python Compatible Semantic Versioning 3.0.0" href="semver.html" />
<link rel="prev" title="pbr - Python Build Reasonableness" href="index.html" />
</head>
<body role="document">
<div id="header">
<h1 id="logo"><a href="http://www.openstack.org/">OpenStack</a></h1>
<ul id="navigation">
<li><a href="http://www.openstack.org/" title="Go to the Home page" class="link">Home</a></li>
<li><a href="http://www.openstack.org/projects/" title="Go to the OpenStack Projects page">Projects</a></li>
<li><a href="http://www.openstack.org/user-stories/" title="Go to the User Stories page" class="link">User Stories</a></li>
<li><a href="http://www.openstack.org/community/" title="Go to the Community page" class="link">Community</a></li>
<li><a href="http://www.openstack.org/blog/" title="Go to the OpenStack Blog">Blog</a></li>
<li><a href="http://wiki.openstack.org/" title="Go to the OpenStack Wiki">Wiki</a></li>
<li><a href="http://docs.openstack.org/" title="Go to OpenStack Documentation" class="current">Documentation</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="notes-for-package-maintainers">
<h1>Notes for Package maintainers<a class="headerlink" href="#notes-for-package-maintainers" title="Permalink to this headline">¶</a></h1>
<p>If you are maintaining packages of software that uses <cite>pbr</cite>, there are some
features you probably want to be aware of that can make your life easier.
They are exposed by environment variables, so adding them to rules or spec
files should be fairly easy.</p>
<div class="section" id="versioning">
<h2>Versioning<a class="headerlink" href="#versioning" title="Permalink to this headline">¶</a></h2>
<p><cite>pbr</cite>, when run in a git repo, derives the version of a package from the
git tags. When run in a tarball with a proper egg-info dir, it will happily
pull the version from that. So for the most part, the package maintainers
shouldn’t need to care. However, if you are doing something like keeping a
git repo with the sources and the packaging intermixed and it’s causing pbr
to get confused about whether its in its own git repo or not, you can set
<cite>PBR_VERSION</cite>:</p>
<div class="highlight-python"><div class="highlight"><pre>PBR_VERSION=1.2.3
</pre></div>
</div>
<p>and all version calculation logic will be completely skipped and the supplied
version will be considered absolute.</p>
</div>
<div class="section" id="distribution-version-numbers">
<h2>Distribution version numbers<a class="headerlink" href="#distribution-version-numbers" title="Permalink to this headline">¶</a></h2>
<p><cite>pbr</cite> will automatically calculate upstream version numbers for dpkg and rpm
using systems. Releases are easy (and obvious). When packaging preleases though
things get more complex. Firstly, semver does not provide for any sort order
between pre-releases and development snapshots, so it can be complex (perhaps
intractable) to package both into one repository - we recommend with either
packaging pre-release releases (alpha/beta/rc’s) or dev snapshots but not both.
Secondly, as pre-releases and snapshots have the same major/minor/patch version
as the version they lead up to, but have to sort before it, we cannot map their
version naturally into the rpm version namespace: instead we represent their
versions as versions of the release before.</p>
</div>
<div class="section" id="dependencies">
<h2>Dependencies<a class="headerlink" href="#dependencies" title="Permalink to this headline">¶</a></h2>
<p>As of 1.0.0 <cite>pbr</cite> doesn’t alter the dependency behaviour of <cite>setuptools</cite>.</p>
<p>Older versions would invoke <cite>pip</cite> internally under some circumstances and
required the environment variable <cite>SKIP_PIP_INSTALL</cite> to be set to prevent
that. Since 1.0.0 we now document that dependencies should be installed before
installing a <cite>pbr</cite> using package. We don’t support easy install, but neither
do we interfere with it today. If you observe easy install being triggered when
building a binary package, then you’ve probably missed one or more package
requirements.</p>
<p>Note: we reserve the right to disable easy install via <cite>pbr</cite> in future, since
we don’t want to debug or support the interactions that can occur when using
it.</p>
</div>
<div class="section" id="tarballs">
<h2>Tarballs<a class="headerlink" href="#tarballs" title="Permalink to this headline">¶</a></h2>
<p><cite>pbr</cite> includes everything in a source tarball that is in the original <cite>git</cite>
repository. This can again cause havoc if a package maintainer is doing fancy
things with combined <cite>git</cite> repos, and is generating a source tarball using
<cite>python setup.py sdist</cite> from that repo. If that is the workflow the packager
is using, setting <cite>SKIP_GIT_SDIST</cite>:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">SKIP_GIT_SDIST</span><span class="o">=</span><span class="mi">1</span>
</pre></div>
</div>
<p>will cause all logic around using git to find the files that should be in the
source tarball to be skipped. Beware though, that because <cite>pbr</cite> packages
automatically find all of the files, most of them do not have a complete
<cite>MANIFEST.in</cite> file, so its possible that a tarball produced in that way will
be missing files.</p>
</div>
<div class="section" id="authors-and-changelog">
<h2>AUTHORS and ChangeLog<a class="headerlink" href="#authors-and-changelog" title="Permalink to this headline">¶</a></h2>
<p><cite>pbr</cite> generates AUTHORS and ChangeLog files from git information. This
can cause problem in distro packaging if package maintainer is using git
repository for packaging source. If that is the case setting
<cite>SKIP_GENERATE_AUTHORS</cite></p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">SKIP_GENERATE_AUTHORS</span><span class="o">=</span><span class="mi">1</span>
</pre></div>
</div>
<p>will cause logic around generating AUTHORS using git information to be
skipped. Similarly setting <cite>SKIP_WRITE_GIT_CHANGELOG</cite></p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">SKIP_WRITE_GIT_CHANGELOG</span><span class="o">=</span><span class="mi">1</span>
</pre></div>
</div>
<p>will cause logic around generating ChangeLog file using git
information to be skipped.</p>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Notes for Package maintainers</a><ul>
<li><a class="reference internal" href="#versioning">Versioning</a></li>
<li><a class="reference internal" href="#distribution-version-numbers">Distribution version numbers</a></li>
<li><a class="reference internal" href="#dependencies">Dependencies</a></li>
<li><a class="reference internal" href="#tarballs">Tarballs</a></li>
<li><a class="reference internal" href="#authors-and-changelog">AUTHORS and ChangeLog</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="index.html"
title="previous chapter">pbr - Python Build Reasonableness</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="semver.html"
title="next chapter">Linux/Python Compatible Semantic Versioning 3.0.0</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/packagers.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" size="18" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="semver.html" title="Linux/Python Compatible Semantic Versioning 3.0.0"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="index.html" title="pbr - Python Build Reasonableness"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">pbr documentation</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2013, OpenStack Foundation.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.3.1.
</div>
</body>
</html>
|