summaryrefslogtreecommitdiff
path: root/pbr
Commit message (Collapse)AuthorAgeFilesLines
...
| * Remove unnecessary 'if True'Stephen Finucane2017-10-121-48/+47
| | | | | | | | | | | | | | | | | | This was done in change I7418cc3ab36823d029a93f86df9c8b25aa7b0c5f to keep the diff clean [1]. If can be removed now. [1] https://bugs.launchpad.net/pbr/+bug/1620153/comments/1 Change-Id: Id66ca0522cc4c5601714e1e9ba9379492edc5905
* | Merge "Discover Distribution through the class hierarchy"Zuul2017-10-201-18/+8
|\ \ | |/
| * Discover Distribution through the class hierarchyJason R. Coombs2017-10-121-18/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Discovering the underlying Distribution class through the class hierarchy saves unpatching and repatching. Based on commits ed579a5dbb2a1843874969a58bb2b6f1eca2e50d and 10b87cc1eb92f50906ff645d0221c74f03de94b9 from [1]. [1] https://github.com/jaraco/pbr/commits/issue-1620153-signoff Closes-Bug: #1620153. Change-Id: I7418cc3ab36823d029a93f86df9c8b25aa7b0c5f Signed-off-by: Jason R. Coombs <jaraco@jaraco.com> Signed-off-by: Monty Taylor <mordred@inaugust.com> Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
* | Merge "Use 'build_reno' setuptools extension if available"Zuul2017-10-191-0/+46
|\ \ | |/ |/|
| * Use 'build_reno' setuptools extension if availableStephen Finucane2017-10-181-0/+46
| | | | | | | | | | | | | | | | reno recently gained a 'build_reno' command that could be used to build a reno cache file via setuptools. Integrate this and start including that file as part of the final distribution. Change-Id: I54cb7a894770040165cc918469cb0ed486518789
* | Merge "Deprecate support for Sphinx < 1.6"Jenkins2017-10-091-6/+17
|\ \
| * | Deprecate support for Sphinx < 1.6Stephen Finucane2017-09-251-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't want to support older versions of Sphinx forever. While OpenStack's global requirements have been bumped to Sphinx 1.6, there are non-OpenStack users in the wild. Give them a chance to upgrade to the newer version before we completely remove support. This also gives us a chance to deprecate the '[sphinx_build] builders' setuptools option, which is no longer necessary with Sphinx 1.6+. Do this. The documentation is updated to reflect this (and some references to a "custom" 'source_dir' option removed, as it's not at all specific to pbr). Change-Id: I18bbf693bca2f6e49d822ae2940d2170a2b90ce9 Related-Bug: #1702872
* | | Merge "Remove support for command hooks"Jenkins2017-10-094-159/+0
|\ \ \
| * | | Remove support for command hooksStephen Finucane2017-10-094-159/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | distutils2 is long dead and many of its best ideas have been incorporated into setuptools. One of the ideas that *has not* been incorporated is the idea of command hooks, of either the pre or post kind. pbr is still carrying the code for this, and there are several issues with this: - No one is using this functionality in OpenStack and, given the complete lack of documentation on the matter, it's very doubtful that it's being used anywhere else [1] - It's causing issues for projects attempting to hook into the 'distutils.commands' entry point on Python 2.7, which it seems no else must have attempted yet [2]. - distutils2 is dead and advanced features like this that we don't explicitly need should not be retained We could attempt to fix this but why bother? Good riddance, I say. [1] http://codesearch.openstack.org/?q=pre_hook%5C.&i=nope&files=&repos= [2] http://codesearch.openstack.org/?q=distutils.commands&i=nope&files=&repos= Change-Id: I01f657034cffbf55ce830b7e8dbb6b3d94c1fd18
* | | | Merge "builddoc: Use '[sphinx_build] builders' with Sphinx < 1.6"Jenkins2017-10-091-4/+14
|\ \ \ \ | |/ / / |/| / / | |/ /
| * | builddoc: Use '[sphinx_build] builders' with Sphinx < 1.6Stephen Finucane2017-09-251-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 'c024066', we resolved an issue with pbr and Sphinx 1.6+ and implicitly started using Sphinx 1.6's support for declaring multiple builders as part of the setuptools plugin. However, in doing so, we neglected to provide a migration path for folks who were using the older option. This meant folks using the '[sphinx_build] builders' option would see a breaking change in behavior when upgrading to a pbr release including the above change. Resolve this issue now. Note that we want to deprecate support for this option in the future, but doing so is not a backportable change and will be done separately. Change-Id: Ic2fe67f932ba26b665110ae66431a5359fc50016 Closes-Bug: #1702872 Related-Bug: #1691129
* | | Remove dead codeStephen Finucane2017-10-061-15/+0
|/ / | | | | | | | | | | | | | | The 'monkeypatch_method' function no longer has any callers and can be removed. Change-Id: I402eb482d2c1db7331bd872c5169db8e59c9a34f Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
* | Remove win32/nt checks for wrapper script genJoe D'Andrea2017-09-211-9/+1
| | | | | | | | | | | | | | | | | | | | It now appears safe to remove the Windows conditions that skip executing override_get_script_args() and install_wrapper_scripts(). Having demonstrated that bdist_wheel works, it should now work for sdist too, and experiments do indeed appear to bear that out. Change-Id: Ic243a3ccd3aee0dcb17d6419bc44271f5ebe5551 Closes-Bug: 1521407
* | Trivial: Fix docstringRajath Agasthya2017-06-251-2/+2
| | | | | | | | | | | | Why not? Change-Id: Ibe98c901b788a2629e1ba794484a02096f54d0b1
* | Restore previous IP binding3.1.1Mehdi Abaakouk2017-06-201-1/+1
|/ | | | | | | | | | | This commit 6fdf4e1086c53adf47561697cf82417e1f3b14ed have changed the default binded ip, it binds one random interface on the system instead of all. Break breaks all gate that expect the default to at least listen on localhost. This change restore the previous default. Change-Id: I6323e66ea98d15c52b07c8e737fdd6f30aef0238
* allow user to override the output location of api docs3.1.0Doug Hellmann2017-06-152-2/+77
| | | | | | | | | Allow the user to specify 'api_doc_dir' in the build_sphinx section of their setup.cfg to control where the auto-generated API documentation is written. Change-Id: I2bd5652bb59cbd9c939931ba2e7db1b37d2b30bb Signed-off-by: Doug Hellmann <doug@doughellmann.com>
* fix tests based on API change in SphinxDoug Hellmann2017-06-131-0/+8
| | | | | | | | | | Upstream Sphinx now has some new expectations that are no longer being met by some of our tests because we mock the constructor for the application class. Fix the test to ensure the application instance has the needed attributes. Change-Id: Iad009ce74301c9ffd49ff2b2bab4afd9b7dd1388 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
* Merge "Ignore index URL lines in requirements.txt files"Jenkins2017-05-202-0/+17
|\
| * Ignore index URL lines in requirements.txt filesMatthew Montgomery2017-05-182-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently if an index is specified by either -i, --index-url or --extra-index-url, the following error may be encountered when setup is run. Invalid requirement, parse error at "u'-i https'" This patch ignores those lines in a requirements.txt file durning parsing. Closes-Bug: #1394999 Change-Id: Ie03f54ca7a7edad7a26fa1721f7b26532b65e760
* | Add binding option for WSGI serverA403512017-05-191-3/+6
|/ | | | | | | | | The packaged WSGI server currently only accepts a custom port. This patch adds a new option to accept a custom interface. This is useful in some cloud environments where there are restrictions on which IP addresses are available to mount a server. Change-Id: Iddf10bc422ae607b2d6bf2304dd032d7471ec458
* builddoc: uses the new Sphinx 1.6 code for multiple builder3.0.1Julien Danjou2017-05-171-0/+5
| | | | | | | | | | As noted by stephenfin, Sphinx 1.6 provides its own code to build doc with multiple builders. The one provided by pbr so far for Sphinx < 1.6 is not even compatible with 1.6. This patch fixes that by running the native Sphinx code for Sphinx > 1.6 and falling back to the old code for older Sphinx versions. Closes-Bug: #1691129 Change-Id: I5224235b1056a248b246c54e2d99eea94d53c4eb
* Merge "trivial: Add note about multiple builders support"Jenkins2017-04-211-0/+3
|\
| * trivial: Add note about multiple builders supportStephen Finucane2017-04-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sphinx 1.6 will support the definition of multiple builders in a setup.cfg file like so: [build_sphinx] builder = html man Once we support this version of Sphinx, we should stop carrying the custom versions of this tooling we use. Upstreaming things FTW. Change-Id: Ibf2a003229a4585df96b09da7ca547e201c5aef5
* | Fix missing comment from previous changeGage Hugo2017-04-181-5/+4
|/ | | | | | | | | | | | In a previous commit [0] there was an additional character escaping added at the end that was not added to the list in the comment for the function. This change adds the missing character to the list of escaped characters from the previous change. [0] https://review.openstack.org/#/c/439897/ Change-Id: I6e83a10ee51f1f18176bf2d17a0092d5a3cc4dd4
* Merge "Stop building man pages by default"3.0.0Jenkins2017-04-152-7/+2
|\
| * Stop building man pages by defaultStephen Finucane2017-04-142-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From pretty much the beginning [1], pbr has defaulted to building both man page and html output, but has failed to document it anywhere. People tend to copy-paste their 'setup.py' and 'conf.py', or rely on the 'cookiecutter' project, with very little understanding of what's going on under the hood (and why would you care - it's docs :)). This means that the vast majority of folks using 'pbr' (basically everyone in OpenStack) have been unwittingly building "man pages" as part of their doc builds for no good reason, which has also led to a lot of confusion when this magic behavior is the cause of bugs [2][3]. There's no good reason that pbr should default to building both man pages and html output. For folks that want this functionality, we should document it so they can use it. For everyone else though, let's do the sane thing and output html like the standard 'build_sphinx' plugin. [1] https://github.com/openstack-dev/pbr/commit/5b8b7f1d [2] https://bugs.launchpad.net/pbr/+bug/1681983 [3] https://bugs.launchpad.net/oslotest/+bug/1379998 Change-Id: I579134a2b7980669180c1666503b848835cc2957 Closes-Bug: #1681983
* | Remove 'build_sphinx_latex'Stephen Finucane2017-04-143-8/+0
|/ | | | | | | | | | codesearch.o.o shows a single, long-dead project using this [1]. Let's just remove it and push people to set 'builders' instead in they really want LaTeX. [1] http://codesearch.openstack.org/?q=build_sphinx_latex Change-Id: I820d9c540ae81717d7b33bbb4d2a4031b529b52c
* add image.nonlocal_uri to the list of warnings ignoredDoug Hellmann2017-04-131-1/+3
| | | | | | | | | | | | pbr currently hard-codes the list of warnings that are to be ignored. Many OpenStack projects use remote images to add project "badges" based on tags defined in the governance repository. Ignore the warning caused by using remote images so we can unbreak documentation builds using those badges. Change-Id: If47e3ca6519cc9f70d62cd887707321fe9199f81 Addresses-Bug: #1682467 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
* Merge "Add Changelog build handling for invalid chars"Jenkins2017-04-113-4/+49
|\
| * Add Changelog build handling for invalid charsGage Hugo2017-03-273-4/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds new handling when building a Changelog file for specific characters that cause documentation building warnings/errors to be emitted when sphinx tries to generate a Changelog html page. The changes include: - Escaping any '*' in a commit, which sphinx will interpret as the start of a new line and throw a warning. - Escaping any '_' in a commit, which in certain cases, sphinx will interpret as an invalid link and create an error. - Escaping any '`' in a commit, which in certain cases will cause sphinx to interpet as a literal, and throw a warning. After this change, any entries in the changelog that contain the above "invalid" syntax no longer generate sphinx warnings/errors and the offending entries now generate correctly. Change-Id: I672ef4c56486e59a384849a4b182d11129726ae9
* | Merge "Initialize sphinx config using application instead of config"2.1.0Jenkins2017-03-302-14/+9
|\ \
| * | Initialize sphinx config using application instead of configAlfredo Moralejo2017-03-272-14/+9
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently sphinx config is initialized using sphinx.config, however in recent versions of Sphinx, plugin specific parameters as man_pages for man builder has been moved to the extension and is not initialized from sphinx.config but using sphinx.application. This is making man_pages to be empty when using sphinx 1.5 and man builder is not properly called. This patch initializes sphinx config using sphinx.application which works fine with both old and new Sphinx versions. Closes-Bug: #1674795 Depends-On: I7bde8fc1f2a7db5bd73635aa197377bf5ac614d2 Change-Id: Ib7c1a6fe8fbb5acfcfcfac61d0b53f080ff2b1e4
* | Lazy import pkg_resourcesClark Boylan2017-03-281-2/+3
| | | | | | | | | | | | | | pkg_resources is costly to import so don't import it until we actually need it. Change-Id: I2152b6b3fd47597b5af032e74a840e2f5b89c383
* | Merge "Remove testr entry point"Jenkins2017-03-271-8/+10
|\ \ | |/ |/|
| * Remove testr entry pointIan Wienand2017-02-241-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A "testr" entry-point was added to PBR in I2227adf3643ffe6bcece0c7d2127d23e20d52f7a in Jun 2013. However, testrepository had already started providing this same disutils.commands entry-point in Jan 2013 [1]. I am not sure if it is deterministic who wins when two packages declare the same entry-point, but at least for me, running "python setup.py testr ..." was not calling into any of the pbr hooks. I discovered this because I wanted to use the --coverage-package-name argument provided by the pbr testr wrapper because to s/-/_ in dib. The original change (I8e4bc9bb78be37b4d13f8d6c2edfe2d67554ad78) overrides the setuptools provided "test" [2] to call testrepository when it sees a .testr.conf file (falling back to nose for compatability). So it seems the intention was not to add a "testr" command, but that "test" is overridden to run testr automatically when available. Therefore I think that testrepository owns the distutils.command entry-point for "testr". To avoid confusion we should remove the duplicate entry-point here and just leave the "test" command overrides. I've added documentation on the test command. The testr/test split is quite confusing, being only one letter different, so that is called out explicitly. Comments in testr_command are updated to reflect what's happening better. This also converts the calls in tox.ini to use the PBR wrapper "test". [1] https://github.com/testing-cabal/testrepository/commit/2a36806c698f67f4707cfccb4baabb473e38f06c#diff-2eeaed663bd0d25b7e608891384b7298R96 [2] https://github.com/pypa/setuptools/blob/master/setuptools/command/test.py Change-Id: I5b68f03e782fef5c45424c04cc851be5988f9019
* | Also generate XML coverage reportIan Wienand2017-03-021-0/+1
| | | | | | | | | | | | | | | | When using --coverage, also generate a machine-readable XML coverage report. This is useful to build tooling around automated tracking of coverage results. Change-Id: Idd54ecc627896cc5eab4903658f10a344bdb1778
* | Stop using 'warnerrors'Stephen Finucane2017-02-274-83/+12
|/ | | | | | | | | | | | | | This legacy option provided the ability to fail on doc warnings. However, this functionality is broken in recent releases and now exists in Sphinx itself (since 1.5.0). Rather that fixing it and causing a whole load of doc build errors introduced in the time since this option was broken, remove it, preferring the new Sphinx option instead. This allows us to remove a lot of test code which is essentially testing Sphinx functionality only now, based on the assumption that Sphinx do adequate testing themselves. Change-Id: Ia4b6adefcd437cb1ceb4558b004c17359df2486d
* Merge "Clean imports in code"Jenkins2017-01-033-39/+44
|\
| * Clean imports in codeCao Xuan Hoang2016-11-173-39/+44
| | | | | | | | | | | | | | | | | | | | This patch set modifies lines which are importing objects instead of modules. As per openstack import guide lines, user should import modules in a file not objects. http://docs.openstack.org/developer/hacking/#imports Change-Id: Iab667c04f4aa57d0c8c882144a550443dacc8f05
* | Don't raise exception on missing man pagesDirk Mueller2017-01-022-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | The revert in Ia6cfbfe5b10a5b714fbb9f21ca61380aaf231638 actually broke Sphinx 1.3.x support again. Try to fix it for real this time by avoiding an exception on missing man_pages. NOTE(dmllr): don't change dict while iterating over it, hopefully this fixes the gating failure with python 3.5.x Change-Id: I52d45fa0a0d42de690d3a492068f7bb03483a224 Related-Bug: 1379998
* | Merge "coverage package name option, doc improvement"Jenkins2016-11-211-1/+3
|\ \
| * | coverage package name option, doc improvementThomas Morin2016-10-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | The --coverage-package-name allows to specify multiple packages. This change updates the doc to reflect that. Change-Id: Id9cfedf699c3e15b7e1c7b20531488682775462a
* | | Merge "Fix pypy soabi tests"Jenkins2016-11-171-0/+3
|\ \ \ | |_|/ |/| |
| * | Fix pypy soabi testsSachi King2016-07-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xenial PyPy adds multiarch to the compiled c library, so if PyPy reports multiarch we add it to the soabi string. If the installed PyPy is not configured for multiarch, the multiarch config variable will not exist and `arch` will be None, in which case we should only update the string if multiarch exists. Change-Id: Idcd3af4878d5b66c6770f96e7235a7d2f848df81
* | | Docstrings should not start with a spaceCao Xuan Hoang2016-11-161-10/+9
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | As per OpenStack Docstrings guide lines [1]: [H401] Docstrings should not start with a space. [H403] Multi line docstrings should end on a new line. [H404] Multi line docstrings should start without a leading new line. [H405] Multi line docstrings should start with a one line summary followed by an empty line. [1] http://docs.openstack.org/developer/hacking/#docstrings Change-Id: Ic943e837b8b4f55c2957643ad29dfa004b3c2eb3
* | Merge "Fix handling of old git log output"Jenkins2016-10-172-21/+41
|\ \
| * | Fix handling of old git log outputRandall Nortman2016-08-162-21/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Older versions of git produce log output (using --format specifiers) that doesn't prefix tags with a "tag:" prefix, though they do using the --decorate log format. This was a bug in git that was fixed, but the older git is still in the wild. This change combines both the new --format specifier method with the --decorate method to find tags even if used with the old, buggy git, while (hopefully) avoiding identifying non-tags as tags. This is based on I6b557687f2428a528a8aa7f76e84797162488887 but tries to use a single format string that works across all versions of git. Because the format string has changed, some of the test data has had to change to reflect the new format. Change-Id: I58a1b12e0f4054fd25bddc77fabb6c89239561ff Closes-Bug: #1570458 Co-Authored-By: James Polley <jp@jamezpolley.com>
* | | Merge "Don't ignore data-files"Jenkins2016-10-023-4/+15
|\ \ \
| * | | Don't ignore data-filesSachi King2016-08-263-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're currently ignoring data-files, and it looks like the problem would sometimes be present starting with 2796f9, 0.5.7, and always be present from 04984a, 0.5.15. This normalises all config keys from - to _ as soon as we read the config, which means future access and modification does not need to concern itself with the possibility of the key being a '-' instead '_'. This should make it more difficult for code accessing/modifying values in the config to clobber user set values or be unaware of them, like in the case of the files hook. As well, support download-url, but properly expose it as download_url. Co-Authored-By: Julien Danjou <julien@danjou.info> Change-Id: I062774c706b8f7339dda46689a226b80ae6ac277
* | | | Deprecated warning for SafeConfigParserjiansong2016-09-113-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tox -e py34 is reporting a deprecation warning for SafeConfigParser /octavia/.tox/py34/lib/python3.4/site-packages/pbr/util.py:207: DeprecationWarning: The SafeConfigParser class has been renamed to ConfigParser in Python 3.2. This alias will be removed in future versions. Use ConfigParser directly instead. parser = configparser.SafeConfigParser() Closes-Bug: #1618666 Change-Id: Ib280b778938b64717ee1cf94efae2f7b553c8f5e