1. 01 Jun, 2018 1 commit
  2. 24 Apr, 2018 1 commit
    • Ian Wienand's avatar
      Fix builddoc with sphinx <= 1.6 · a562b124
      Ian Wienand authored
      I went to build infra-specs which specifies sphinx==1.5.6 and hit
       Traceback (most recent call last):
         File "setup.py", line 29, in <module>
        File ".../pbr/builddoc.py", line 235, in run
        File ".../pbr/builddoc.py", line 162, in _sphinx_run
          freshenv=self.fresh_env, warningiserror=self.warning_is_error)
        File ".../sphinx/application.py", line 244, in __init__
        File "...//sphinx/application.py", line 311, in _init_builder
          raise SphinxError('Builder name %s not registered' % buildername)
       sphinx.errors.SphinxError: Builder name h not registered
      It appears to be a typo introduced with
      I18bbf693bca2f6e49d822ae2940d2170a2b90ce9; make sure we're walking the
      self.builders list; not the string self.builder.
      Change-Id: Ic038029c361b3ede48f2b495c74430d3ad1eab82
  3. 27 Mar, 2018 1 commit
    • Ben Nemec's avatar
      Explicitly read setup.cfg as utf-8 on Python 3 · 10fce39a
      Ben Nemec authored
      Per the referenced bug, relying on the terminal encoding to read
      setup.cfg is not safe.  Unfortunately, Python 2 doesn't accept an
      encoding when reading config files so we need a fallback path for
      that version.
      Change-Id: If49344db2f9139c0557f6acd17671163e02468a5
      Closes-Bug: 1745396
  4. 26 Mar, 2018 2 commits
    • Stephen Finucane's avatar
      builddoc: Treat '[pbr] autodoc_tree_excludes' as a multi-line opt · 1fe0ceab
      Stephen Finucane authored
      We were treating this a single line, comma- or space-delimited option.
      This was incorrect and was causing issues for projects like neutron-lib
      when Sphinx 1.7, which switches from optparse to the stricter argparse
      was used. In addition, this project was including comments in the
      multi-line opt. These were being passed through but Sphinx < 1.7 was
      simply ignoring them. These are now filtered out.
      Change-Id: I177edf0f44714175da220cf3a960b8f23aa4ab09
      Closes-Bug: #1753082
    • Doug Hellmann's avatar
      update parse test to use reliable comparison · 37a1ce7f
      Doug Hellmann authored
      Different versions of setuptools seem to produce
      different representations of the version specifiers,
      so use pkg_resources to parse the values again
      and then compare the resulting objects so we
      aren't tripped up by rendering differences.
      Change-Id: Ic67cc936208dbd96b6d811c6aa284fd87df5b118
      Signed-off-by: 's avatarDoug Hellmann <doug@doughellmann.com>
      Closes-Bug: #1758877
  5. 20 Mar, 2018 1 commit
    • Clark Boylan's avatar
      Better Sem-Ver header handling · 183b445c
      Clark Boylan authored
      This makes Sem-Ver header handling more reliable by ignoring any
      potential user configured git log output format. Instead PBR supplies
      its own format string that will output the commit message bodies in
      their entirety without wrapping and other whitespace formatting done for
      Change-Id: I957a8c182585119534b4e02c34e7140a3e07d1d6
      Related-Bug: 1738685
      Fixes-Bug: 1704625
  6. 17 Jan, 2018 2 commits
  7. 09 Jan, 2018 1 commit
  8. 05 Jan, 2018 1 commit
  9. 03 Jan, 2018 1 commit
    • Stephen Finucane's avatar
      Deprecate testr and nose integration · 113685e1
      Stephen Finucane authored
      These are not recommended for use in OpenStack anymore and both nose and
      testr offer native setuptools commands that can be manually aliased to
      'test' on a per-project basis if necessary. Deprecate with an eye to
      removal in the future.
      Change-Id: I753f2ffe8b223b180b8ed813d879b3a28b47a1ab
      Signed-off-by: 's avatarStephen Finucane <sfinucan@redhat.com>
  10. 06 Dec, 2017 3 commits
    • Stephen Finucane's avatar
      tests: Increase coverage of requirements parsing · 6c8455c8
      Stephen Finucane authored
      This is mostly an exercise in refactoring, moving tests into a single
      test case. An additional test is added, however, verifying that default
      requirement files are indeed used if nothing else is provided.
      Change-Id: I8dc6cc8c50f1280f24731480501fab61fc401809
    • Stephen Finucane's avatar
      trivial: Move packaging tests to test_packaging · ec210af0
      Stephen Finucane authored
      There's a little bit of duplication going on here. Resolve this by
      moving tests that predominantly focus on FILE to tests/test_FILE.
      Change-Id: I29355155853e543d017db00c936bcdc88c1c97ad
    • Monty Taylor's avatar
      Put test-requirements into an extra named 'test' · 225e8823
      Monty Taylor authored
      In bindep files we use a 'test' environment to indicate dependencies
      that are needed for testing. Make the same thing available for our
      python dependencies, allowing things like "pip install .[test]" or "pip
      install shade[test]" to work.
      Change-Id: If3ad8b6a79a8cab2f7434b73207f35384e8516ba
  11. 04 Dec, 2017 1 commit
    • Jeremy Stanley's avatar
      Support Description-Content-Type metadata · 538d2c21
      Jeremy Stanley authored
      As of setuptools 36.4.0, support for Description-Content-Type
      metadata was added via the long_description_content_type variable.
      Add a metadata.description-content-type option for setup.cfg so it
      can be provided through PBR. This makes it possible to instruct PyPI
      and potentially other frontends to know an explicit RFC 1341 content
      type, along with character set and variant, for the accompanying
      long description.
      Change-Id: I852f603d9ca4e4cd469eab4cae9933ef2581e3af
  12. 22 Nov, 2017 1 commit
  13. 18 Oct, 2017 1 commit
    • Stephen Finucane's avatar
      Use 'build_reno' setuptools extension if available · 3a6b96c7
      Stephen Finucane authored
      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
  14. 12 Oct, 2017 2 commits
  15. 09 Oct, 2017 1 commit
    • Stephen Finucane's avatar
      Remove support for command hooks · 32c90ba5
      Stephen Finucane authored
      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
  16. 06 Oct, 2017 1 commit
  17. 25 Sep, 2017 2 commits
    • Stephen Finucane's avatar
      Deprecate support for Sphinx < 1.6 · cc703f49
      Stephen Finucane authored
      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
    • Stephen Finucane's avatar
      builddoc: Use '[sphinx_build] builders' with Sphinx < 1.6 · c59fad9c
      Stephen Finucane authored
      In 'c0240660', 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
  18. 21 Sep, 2017 1 commit
    • Joe D'Andrea's avatar
      Remove win32/nt checks for wrapper script gen · 07de8446
      Joe D'Andrea authored
      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
  19. 25 Jun, 2017 1 commit
  20. 20 Jun, 2017 1 commit
    • Mehdi Abaakouk's avatar
      Restore previous IP binding · d43badb6
      Mehdi Abaakouk authored
      This commit 6fdf4e10 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
  21. 15 Jun, 2017 1 commit
  22. 13 Jun, 2017 1 commit
    • Doug Hellmann's avatar
      fix tests based on API change in Sphinx · d3b2b79f
      Doug Hellmann authored
      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: 's avatarDoug Hellmann <doug@doughellmann.com>
  23. 19 May, 2017 1 commit
    • A40351's avatar
      Add binding option for WSGI server · 6fdf4e10
      A40351 authored
      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
  24. 18 May, 2017 1 commit
    • Matthew Montgomery's avatar
      Ignore index URL lines in requirements.txt files · 2a0f2e58
      Matthew Montgomery authored
      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
      Closes-Bug: #1394999
      Change-Id: Ie03f54ca7a7edad7a26fa1721f7b26532b65e760
  25. 17 May, 2017 1 commit
    • Julien Danjou's avatar
      builddoc: uses the new Sphinx 1.6 code for multiple builder · c0240660
      Julien Danjou authored
      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
  26. 18 Apr, 2017 2 commits
    • Gage Hugo's avatar
      Fix missing comment from previous change · 2cf1d2eb
      Gage Hugo authored
      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
      [0] https://review.openstack.org/#/c/439897/
      Change-Id: I6e83a10ee51f1f18176bf2d17a0092d5a3cc4dd4
    • Stephen Finucane's avatar
      trivial: Add note about multiple builders support · 0469bf39
      Stephen Finucane authored
      Sphinx 1.6 will support the definition of multiple builders in a
      setup.cfg file like so:
        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
  27. 14 Apr, 2017 2 commits
    • Stephen Finucane's avatar
      Remove 'build_sphinx_latex' · 1ed85310
      Stephen Finucane authored
      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
    • Stephen Finucane's avatar
      Stop building man pages by default · d4e4efd7
      Stephen Finucane authored
      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
  28. 13 Apr, 2017 1 commit
    • Doug Hellmann's avatar
      add image.nonlocal_uri to the list of warnings ignored · 84a85991
      Doug Hellmann authored
      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: 's avatarDoug Hellmann <doug@doughellmann.com>
  29. 28 Mar, 2017 1 commit
    • Clark Boylan's avatar
      Lazy import pkg_resources · 02228ceb
      Clark Boylan authored
      pkg_resources is costly to import so don't import it until we actually
      need it.
      Change-Id: I2152b6b3fd47597b5af032e74a840e2f5b89c383
  30. 27 Mar, 2017 2 commits
    • Gage Hugo's avatar
      Add Changelog build handling for invalid chars · 3cc5af10
      Gage Hugo authored
      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
    • Alfredo Moralejo's avatar
      Initialize sphinx config using application instead of config · 2d7c0045
      Alfredo Moralejo authored
      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
  31. 02 Mar, 2017 1 commit
    • Ian Wienand's avatar
      Also generate XML coverage report · 73ca7e08
      Ian Wienand authored
      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