Apparently git wants the user.name set as well as user.email, so add
that to the fixture class.
Closes-Bug: #1296200
Change-Id: I6ce2d7e3ca6f0e6cf2d8de962027e8f9b9dcc9b7
There was a bug in the code to ignore bad tags - we stopped outputting
actual release versions altogether.
Change-Id: I0eb3fe6a09f0e696b96eab1e14549ea0a8fe27ba
Closes-Bug: #1370608
Some projects need to not generate and publish documentation for some of
their modules. This patch adds an option to list modules that should be
excluded from documentation auto generation.
Change-Id: I944a6ad5faa113ca26eb32b78be1bfc41e1387ef
This change adds the ability for pbr to read the package version from
the METADATA file as well as the PKG-INFO file. The PKG-INFO file
is present for sdist packages but for wheel packages (PEP 427),
there is a METADATA file instead of a PKG-INFO file.
Closes-Bug: #1369179
Change-Id: I2fe52c846fd88d37a4ab78de87eec9defce1ba0a
pbr has been allowing any tag (e.g. 'fred') to be a version - but fred
is clearly not a version! Since git describe cannot validate versions
for us today, we need to perform the describe calculations ourselves.
In order for this to work on Python3, a missing method __hash__ needed
to be added to SemanticVersion.
Change-Id: I09fa54231e77ae7671aa6f84eb91fd655e49ab25
Closes-Bug: #1356784
We want to suck the changelog into the description as well, but we
don't want all of it there. Making it a generator of formatted
objects lets us apply some logic without conflating things or tying
it up too much. This patch does prep work for the long term goal.
Change-Id: Idd00c219891500210c83faeb0f2d4370add3b069
The arguments originally being passed into sphinx.apidoc specify '.'
as the path to index. Unfortunately this includes the setup.py module.
This causes Sphinx to complain or break depending on the configuration.
This patch ignores setup.py by default and allows the project to
override it in their setup.cfg.
Change-Id: I7c164d42a096ba1a0daf314a689cc3252ca81c49
Closes-Bug: #1260495
When git is available and changelog and author building has not
been turned off try to build these two files so that they can be
included in any subsequent documentation.
Change-Id: I2fc7ade645e3ff1a67e30bd4d35676b5e10916af
In Git, HTTP, and SMTP, header names generally have the first letter of
each word (including each part of a hyphenated word) capitalized. In
all of the same cases, the actual headers are generally not considered
case-sensitive. Accomodate this convention and the robustness principle
by performing lower-case comparisons of header names, and using
upper-case names in all of the documentation.
Change-Id: Iffa68107c8ff2aeaac92434da85155213e45a3cd
At the moment careful changelog review is needed by humans to
determine the next version number. Semantic versioning means that all
we need to know to get a reasonable default next version (and a lower
bound on the next version) is a record of bugfix/deprecation/feature
work and api-breaking commits. In this patch we start scanning for
such headers from the git history to remove this burden from
developers/project release managers. Higher versions can of course
be used either via pre-versioning or by tagging the desired version.
implements: blueprint pbr-semver
sem-ver: feature
Change-Id: Id5e8cd723d5186d1bd8c01599eae8933e6f7ea6d
Right now the only automatic version number we have is 'last release',
but thats enough for preversioning to be invalid. When we get API and
ABI break support, this will do more useful things like telling us the
next version is not sufficiently higher.
implements: blueprint pbr-semver
sem-ver: feature
Change-Id: I2583c7409d51364ef9d84b39356d5608a95cb6f8
Untagged versions should not be presented as final versions, which is
what was happening. The rules for dev versions are that they lead up
to the next release, so to emit a dev version we have to increment
the current version, then we can emit a dev version number.
implements: blueprint pbr-semver
sem-ver: feature
Change-Id: Icf2f1999613e0d26424798697de34811b9cfc4ab
Due to an oversight in testing (the tests for local dev versions were
all running with PBR_VERSION in the environment) we did not handle
enough variety of local development versions.
Specific new cases we now handle:
- untagged trees - where git describe returns just the sha
- tags with versions with less than two components (e.g. 1)
Change-Id: Ieaeca592b6ba26c5da50dcad3fb6e7551431d50e
Co-Authored-By: Robert Collins <rbtcollins@hp.com>
This object represents a single semver version and provides serialisation
into different forms (dpkg/rpm/pep-440).
implements: blueprint pbr-semver
sem-ver: feature
Change-Id: I482e07cce9b65df452d5b9af4c73960df68a141e
Ignore H904 because it's a deprecated hacking check.
Ignore H405 because it should be fixed with a separate patch.
Change-Id: I2e3bf41474cead1a860810886791e025139cca3b
ordereddict and importlib used to break when attempted to install
on python 2.7 - but this situation seems to have improved in
modern pip/setuptools. Remove the logic and support for this.
Change-Id: I49d9c9ee3108ad7ec9537f3fcec62e84d4de1680
Back in the day, attempting to install argparse on python 2.7 would
result in failure, as the setup.py of argparse failed hard if it was
attempted. That seems to be fixed, and when we do filter it out of
the list now, we cause problems with python 2.6 and wheels (if we make
a wheel on 2.6 and it depends on argparse, the pbr code means that
argparse doesn't get added properly)
Remove the filtering so that our wheels can be universal.
Closes-bug: #1346357
Change-Id: I49d539ac6fb8ee75f8d32fdfbd20129b13d36499
pbr is monkeypatching the Distribution intstance in setuptools, which is
OK I guess, but then it never puts it back how it left it. As a
consequence, whenever pbr installs before another project in a setup.py,
it breaks setuptools for everything that comes after it. This patch
will restore the Distribution instance.
Closes-Bug: 1324784
Change-Id: I20fbf255c634685e82f7b11987d2725de8280b9d
pbr contains a testr distutil command, but since it isn't registered
as an entry-point, it won't get used. Also drive-by a fix to
coverage, where we go to the trouble of setting a variable, and then
not using it.
Change-Id: I2227adf3643ffe6bcece0c7d2127d23e20d52f7a
* pbr/packaging.py(_get_version_from_git): Wrap calls to
_run_git_command in a conditional check for _git_is_installed to
avoid an opaque error message which can occur when you have a .git
directory but no git executable.
Change-Id: I6752c93d393a941daa1e7fb949c7c3d2a75337f3
Closes-Bug: #1326682
This is needed to avoid running pip install within the directory of
the test package on Python2.6, where it helpfully (not really)
installs the test package, not pbr.
Change-Id: I956ad29f68a32cb4d33af448333f649043e0a655
Reversing the logic in a few of the booleans and returning earlier
allows us to not have to be nested quite so deep.
Change-Id: Ia0dad183563381e9eb8c790ba61d0b350d74421d
--use-mailmap is a newer git construct that applies mailmaps to
things that are not using the mailmap aware format strings. But
we're using those format strings, and this breaks on precise.
Simplest thing - don't use the arg, since it's pointless and broken
for us.
Change-Id: Ic8ca062a6936a4f112aa52d0eb209211658611c2
Fix the indentation of the lines following the "toctree" directive
in the autoindex.rst file, so that they are aligned under the
start of the "toctree" directive.
Change-Id: Iff4ec8ea05819f6126a7be3d1fb5238c969fca21
Closes-Bug: #1307769
pip supports requirements files with a line such as:
-r other-requirements.txt
for specifying nested requirements files. Adding support to pbr
should be helpful with handling optional dependencies in projects
better, by allowing us to split the requirements files and then
merge them back together using -r lines.
Change-Id: I80e081b2229cc81eed26533c50afb07dc98a1db1
Less duplication for more reuse. If the intent was clarity before, I'm
happy to skip this and just have duplicate code...
Change-Id: I09fd14ecd9751e79a3a475dedf320c36ba0ba71c
Sphinx's config object needs to have its values initialized with
init_values for the values to be loaded from _raw_config into config.
Without this pbr gets null equivalent values from Sphinx's config. These
null values prevented man pages from being built when Sphinx warnerrors
is set. Fix this.
Change-Id: I0f17ca6eff036a0bcc6686fcc3f4efe0830cc585
Forcing the log level to info causes pbr to emit status log messages
in a way that breaks commands like "python setup.py --maintainer" and
"python setup.py --name", which are useful when scripting operations
that work on packages.
Change-Id: I6607c96e171f2f8efa89bd701018f4af6ec9c15a
This change makes pbr reads a specific requirement file tight to the
major Python version that is used. So you can add a file such as
requirements-py3.txt to have a specific requirement file for Python 3,
or requirements-py2.txt to have a specific requirement file for
Python 2.
Change-Id: I4b548e9830586f11b82539d334dd5cf4b0445a36
Add an option to pbr to use wheels when installing things from pip. The
speed boost this gives is quite sexy, as it can avoid having to
re-build C things all the time.
Change-Id: Id9b9b21ef949ff44c7c962e81576266661264a13
It turns out, git log already knows how to process mailmap files.
Just defer to it and stop processing that in python.
Change-Id: Ib3d6f85683fcbe8b5002117d2ee46dc3c008cae7
Just duplicating the git log isn't particularly exciting. Make
the ChangeLog a list of change subjects grouped by tag.
New output can be seen here: http://paste.openstack.org/show/49999
Change-Id: I7bf4d89dcdba135de663d75895b30963f7a44662
Sphinx builders were hard coded to be html and man in LocalBuildDoc
before. This enables users to config a list of builders in setup.cfg
as a comma seperated list, e.g. html,man,doctest
Change-Id: I3528b208c7e719286fe8816acf65f8efdc5844c6
We skip several requirements on python >= 2.6 because they
are only needed on 2.6 but there is no good way to express that in
requirements.txt. This can be confusing to users, because they may
not be expecting such a thing and may think something broke.
Print a message to the info log to that the user can see that we
chose to not install their non-needed requirement.
Change-Id: I11de12351123bbf406f77cf402feeab0e5dff26b
We keep a list of libraries that should only be installed on python 2.6,
but the check to see if a requirement matches that list was only doing
a simple string equality, which would miss attempts to install version
specified instances of one of them.
Instead, use pkg_resources to parse the potential requirements line and
operate on the parsed project name.
Change-Id: If64e4b2ee6696a0531e3ed6099e63372d47bc851
Fixed the issue where pbr was erroring out (file not found) when
running 'python setup.py egg_info' since it was trying to get the
.git directory even if git was not installed.
Closes bug 1245676
Change-Id: I31e1f86f10f18897774b49eb293aede31641db31
It's an antipattern to have functional code in an __init__.py. Move it
into base.py to be less anti.
Change-Id: Ib4db548b78e4e760d94099596a3c495a839836dc
pep440 indicates that development releases should mark themselves with
the devN specifier.
http://www.python.org/dev/peps/pep-0440/#developmental-releases
Instead of using aN as we are currently doing for automatically
generated versions, we should use the pep440 compliant devN form.
Change-Id: Ieeb5149f8b013e76621112593e0a5c0a64817e1f
This supports https://review.openstack.org/#/c/48475/ in glance
to remove copy/pasted ordereddict code.
Change-Id: I9b0a2588c6e7da86c048698c5e6dfe37ced4dd7f
Some versions of the tarfile module break when unicode data is
passed as metadata (like the version). See
http://bugs.python.org/issue11638 for details.
This change ensures that version number is always a byte strings
under python 2, where the problem exists.
Change-Id: Ic266cd7cce0394d28794ee61afe269f1296be2a2
This would be better as a direct unit test, but I can't see where
thats done; and setuptools doesn't seem super friendly to that.
There are more commands that can be tested, but this seemed like a
good place to start.
Change-Id: I433880d9b08d07de0194450bbc90a423554e347c
This test was assuming that it was possible to make a new git repo and
commit to it, but some versions of git will error if no user email is
set, and some users choose not to have that set globally.
Change-Id: I94401c4fe716021c2cb2f1585690463746c740c9
A previous patch for windows support made the simple case of passing a
string to run_shell_command complicated with quoting. Clean that up by
reverting to list, which avoids the crazy quoting we had to do.
Change-Id: Ia3b8ac6a57e7400d0aab0d5265c851e536fb4e87
Fixes bug: #1210912
Special characters like <, > or ' need to be escaped on Windows when used
with "cmd /C <command>" as implemented in _run_shell_command
In order to avoid escaping issues, shell spawning has been replaced with
direct command execution. As a consequence, grep/egrep command pipes have
been replaced with Python regular expressions where appropriate.
Change-Id: Idd50fd24f300bce655f99d42cb96e37d29d4cb14
This commit adds a new serial option to testr_command.py that when
set will run testr serially instead of running testr with the
'--parallel' flag.
Change-Id: Id49b105dc921e9acdef1a94d933719ad3a772c81
Implement a local egg_info command that only re-generates the
SOURCES.txt file when we need to. That is:
- If there is no SOURCES.txt, make one
- If we have run the sdist command, make one
Otherwise, leave well enough alone.
Also, skip doing any git processing if SKIP_GIT_SDIST is specified.
This should mean that consumers of our tarballs should not get screwed
by the need to inject git processing into the sdist.
Change-Id: I163b1c153d030e79b120600a2890edeb49e1fa90
* remove authors/co-authors duplicates
* sort all authors/co-authors
* add a new line to the end of file
Change-Id: I48a388e8ae2defd05ad617d5de709d0e623a5c36
If _run_shell_command gets no output, return an empty
string instead of None. This ensures that callers can
always treat the results as a string, and avoids the
TypeError that was preventing the ChangeLog and AUTHORS
files from being created properly in a git repository
without any commits.
Change-Id: I880210bc3ff92ece29b216a10e1d0c918f884eaf
* Adding a new pbr boolean option 'autodoc_tree_index_modules' for
creating a package/module hierarchy oriented API documentation.
* Using the sphinx.apidoc module in order to
generate the *.rst files and the modules.rst.
The sphinx.apidoc.main function call expected to be more future proof,
than the other options.
Change-Id: I145086387edf6b042368d4c16dd64948f67606b0
* Previously console_scripts could only reference functions:
script_name = package.name:function_name
This change adds support for classmethods:
script_name = package.name:ClassName.classmethod_name
This change is necessary to support a Neutron use-case.
* Fixes bug 1206734
Change-Id: I9509d3f2cea29fee5696936dbbb1d507764f1e81
The envvar SKIP_PIP_INSTALL isn't enough in all cases. Add the ability
to configure this in the config file.
Change-Id: Ic84bd6df52d2b96bf4afcaacd9c8b6fee26e9840
The attempt to optimize away some shell calls to pip wound up having
python setup.py install not do the right thing with missing transitive
depends. Remove the optimization check.
Change-Id: I0db9cc18fda98b8f53b61422e730fd76e0c6a0c1
Currently, the environment variable isn't always respected, especially when
dealing with the egg_info command. Let's factorize the code into a function
and use it everywhere instead of the REQUIREMENTS_FILES variable.
Change-Id: I1c3224ef76ee724c8176eb00ef948d80259e3c17
The configparser backport package has un-understood issues parsing
our files. But the intent of the code is to use whichever is the
package for the version of python in use. So, instead of trying to
install the python3 version first, which can also result in loading
the backport package, first try the python2 package, so that if
configparser itself is loaded, it will be because we're running python3.
Change-Id: I7ef497127822d0110804b04a674f24c195a07278
Similar to the work in the packages argument, allow the specification
of a directory to recursively include as part of the install.
Change-Id: Ife0414af468e7fcd4fc419eafc3e19e29efcfc7b
Setting the value directly in kwargs is not doing what we want it to do.
This is largely because of how the hook system works. When the hooks
process backwards_compat, they do a config.get('backwards_compat',
dict()), which is then written back to the config dict - which means
that blank override values are being fed in.
Later we can go through and just re-engineer how that works. For now,
unbreak nova.
Change-Id: I0c6055253cbc89b6884553e6f2fbfe8a7bbd1953
During python setup.py develop, easy_install is called via a different
code path to install the scripts. We need to inject into that place as
well.
Change-Id: Iab319f3771529c6d57f6a36ec717fb3278839f78
The way _run_cmd was working meant that in a test failures, the captured
output was a giant blob of text with \n strings inside it, making it
unreadable. By looping and printing, it becomes readable again.
Change-Id: I2db3057c34e2a50f7a420f2dbcf45c6ec874b632
The console scripts generated by entry_points are too complex for
our needs and make things run slowly in service of a multi-version
install that we don't use.
Instead, install a simple script which just does a direct import.
Change-Id: I1ec46837cea07db514f2fb6338c7bced34a83c4a
Set the integer_types variable to the same kind of object
under python 3 and 2 so that when we go to manipulate it
later it works.
Change-Id: I8f9db1d76931ef834645095952f71415d98f0b5c
If you're running pbr codepaths, you want the hook. There is no need
to say "pbr=True" in setup.py and then to list the hook in setup.cfg
now that d2to1 is in the tree.
Change-Id: Ie33d3e08d5a4133f5caf2613859919ce4f02c4a0
When we merged in d2to1, we kept it separate, but I don't think there
is a great benefit to doing that.
Change-Id: I3972b3132619e8e2dd7e362ca5fe9d1e3add43b8
New projects created by OpenStack Project Creator
<openstack-infra@lists.openstack.org>, so it'll be better to remove it
from the AUTHORS file.
Change-Id: I32975bd430635a38c7e737e70f381f7b07c6ed0c
While tracking down a troveclient issue, found several issues in
the new python setup.py test command:
* check the right source files when we're trying to decide whether to
re-run egg_info
* fix bogus dependency links args when installing test requires
* fix bogus .egg_info dir name when a project name includes a hyphen
Change-Id: I0a1964902a87f72eb67f43b10f90dfee8c7d7875
swift has an AUTHORS file that puts a header at the top of the
file with some extra information, then lists the contributors.
If we put AUTHORS.in at the top of the generated file, then we
can put their boilerplate into AUTHORS.in and the resulting file
should look the same.
Change-Id: I2caa4e606dd1199f49c925dccc64d492848ac580
Distro packagers don't really need for us to attempt to pip install
things for them. They're usually managing that dependency tree
in the distro packaging. Add an env var they can set in their spec
or rules files to skip any pretense of doing anything with install
requirements.
Change-Id: Ia6387eab3267fa3c4019c4a9d90e4780319c2397
We can detect if the env we are a part of has our requirements met
already. If this is the case, don't re-run pip at all, so that we
don't waste time.
Change-Id: If49cd7bd558f98d8e6f51b0fe0192978bee9c77e
Don't fail on inability to write new ChangeLog or AUTHORS files.
Ignore comments in requirements files
Change-Id: I0c017b493ca1ef3f1c770daf25d8778bd98f02ef
Fixes: bug #1192889
As a step towards a common interface to running tests even when we're
not in the virtualenv - make python setup.py test actually be useful.
Change-Id: I8e4bc9bb78be37b4d13f8d6c2edfe2d67554ad78
If we're running the installation of dependencies for installation
ourselves anyway - just use pip and be done with it. This means
that our requirements will get installed consistently regardless of
whether we're using pip, python setup.py install or a tox environment.
Change-Id: If92557a33a76553ad36bd136fa87780857a894b1
When running tests from the released tarballs, the
AUTHORs related checks are failing due to missing .git
directory and the fallout caused by it.
Change-Id: Ic960863621f1b239ced299f892466537431d44d5
It was long and rambly. It's also in need of unittesting. So split
it into some classes so that we can test the inputs and outputs
more sensibly.
Change-Id: I3d28f5771e38b819f98a9af06aeb06529be7b302
PBR uses distutils.install instead of setuptools.install to provide
non-egg based installs. This is effectively the same behavior as the
--single-version-externally-managed flag to setuptools, which is what
distro packagers use inside of debs and rpms. We do this so that we
can do things like install manpages and config files.
Unfortunately, this has the unintended consequence of completely
skipping dependency processing.
Add the logic from distribute into our install class to ensure that
the contents of install_requires are installed appropriately.
In the future, we'll want to replace this method with one that uses
pip instead of easy_install. Since we're doing the work now in our
code, we might as well do it well.
Change-Id: Id5465766f762ab37f121ee3d72a82098654e30db
* pbr/packaging.py: Properly convert bytes into unicode strings and back
to bytes again. Replace os.path.walk() with os.walk().
* pbr/tests/__init__.py: Remove use of mox.
* pbr/tests/moxstubout.py: Remove use of mox.
* pbr/tests/test_setup.py: Use bytestrings instead of str or unicode
when performing IO.
* pbr/tests/test_version.py: Remove use of oslo.config.
* requirements.txt: Pin jinja2 to version compatible with python3.2.
* test-requirements.txt: Remove oslo.config and mox.
Change-Id: I9b5a32d7204fa2af56ecf4fdcf6b6da3bbb03200
Use six to improve compatibility between python2 and python3.
Change-Id: Idc0b251d05f418a28a914d910dabd4a2d9ebdf2a
Signed-off-by: Chuck Short <chuck.short@canonical.com>
If you include a dependency URL in your requirements file that has an
egg fragment e.g.
http://tarballs.openstack.org/oslo.config/oslo.config-1.2.0a2.tar.gz#egg=oslo.config
we include the full URL in dependency_links (as you'd expect), but also
include the egg fragment in our requires.
With oslo.config, we're seeing a situation where 1.1.1 is installed and,
while pip knows that 1.2.0a2 is available (via dependency_links),
because our requires only say 'oslo.config' and we haven't passed
--upgrade, then pip sees the requirement as satisfied and doesn't
install 1.2.0a2.
What we really want to express is "we require at least 1.2.0a2 and
here's where you can find it" so, for example, we'll be happy if a newer
version is installed or available from pypi but, if not, then we'll
install from the supplied URL.
Now, egg fragments can be versioned e.g.
http://tarballs.openstack.org/oslo.config/oslo.config-1.2.0a2.tar.gz#egg=oslo.config-1.2.0a2
but we need to transform the fragment so our requires becomes:
oslo.config>=1.2.0a2
We should be fine for a backwards compatibility perspective, because
an egg fragment which included a hyphen just wouldn't have worked.
Change-Id: I6ec1b935d08ed5db993a3e47f591104528582101
Same problem as the other one.
Change-Id: I6d63b6d969756bca6b7df9ef9ee78e12ca1b052e
Reviewed-on: https://review.openstack.org/30538
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
The config section get returns a tuple, not a string, so we were trying
to lower() a tuple. That clearly does not work.
Change-Id: I96602a25686d447bd3437807d9e55aaec6bb9540
Reviewed-on: https://review.openstack.org/30520
Reviewed-by: Chris Krelle <nobodycam@gmail.com>
Reviewed-by: Devananda van der Veen <devananda.vdv@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
This lets pbr work on projects that are checked out as submodules.
Change-Id: I8c47a7dbae0bd390bd2529f972ffe9920aed374e
Reviewed-on: https://review.openstack.org/29619
Reviewed-by: Monty Taylor <mordred@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
Mechanical change for python3 compatibility
Signed-off-by: Chuck Short <chuck.short@canonical.com>
Change-Id: I43b99f5823101d517a0e55178fbe9ddf20934117
Reviewed-on: https://review.openstack.org/29622
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
This makes the error displays on a bad setup.cfg value go from:
error in setup command: Error parsing setup.cfg: IOError: 2
to
error in setup command: Error parsing setup.cfg: IOError: No such file or
directory: 'README'
Which makes debugging eversomuch better.
The other thing is always confusing and never what people want.
Change-Id: I915f561da2f74048c24dd324dbe71b5446d39197
Reviewed-on: https://review.openstack.org/28060
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
Swift does not want to autogenerate these - so allow them to configure
them off.
Change-Id: I815fcbf9ec8d20f4a1c6cb4e2fe68a2ba8d1e305
Reviewed-on: https://review.openstack.org/27519
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
We fixed a string bug upstream which was released, and also added some
additional backwards_compat options.
Change-Id: I636a47952a90e6e0df864dbdc9243b77eeb6d77e
Reviewed-on: https://review.openstack.org/26968
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
We help out by looking for the obvious stuff. But sometimee, like in
git-review, we don't have a package at all.
Change-Id: Ic575c0008c69ffaba43a637b460899dd848d3fd5
Reviewed-on: https://review.openstack.org/26289
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
Change-Id: I7fc77c48b515437d40f4046324cbff2536296c20
Reviewed-on: https://review.openstack.org/26284
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
git-review needs this to enable manpage installation.
Change-Id: I23ffc654fb2a83319c8d450e91304ae9ed767820
Reviewed-on: https://review.openstack.org/26283
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Tested-by: Jenkins
Using testscenarios, construct more combinations of test options for
the autodoc_index_module option.
Change-Id: I96b2816be2c652478b37c03cb5755a83dfeb0894
Reviewed-on: https://review.openstack.org/25825
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
The Sphinx autodoc changes also went into olso a little differently.
Change-Id: If1f337db693053f2627c0c426a51bc13128033a7
Reviewed-on: https://review.openstack.org/25676
Reviewed-by: James E. Blair <corvus@inaugust.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Approved: Monty Taylor <mordred@inaugust.com>
Tested-by: Jenkins
pbr can't depend on hacking, because hacking depends on pbr. But,
we can put it into the tox file.
Change-Id: I49d17917f79c167ae7df9bef3f59047e5c12d33e