Vincent Untz <vuntz@suse.com>
Vishvananda Ishaya <vishvananda@gmail.com>
Wei Tie <nuaafe@gmail.com>
+Will Szumski <will@stackhpc.com>
YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Yaguang Tang <heut2008@gmail.com>
Yuriy Taraday <yorik.sar@gmail.com>
CHANGES
=======
+5.1.2
+-----
+
+* Ignore --find-links in requirements file
+* Do not globally replace path prefix
+* Change openstack-dev to openstack-discuss
+
5.1.1
-----
Metadata-Version: 2.1
Name: pbr
-Version: 5.1.1
+Version: 5.1.2
Summary: Python Build Reasonableness
Home-page: https://docs.openstack.org/pbr/latest/
Author: OpenStack
-Author-email: openstack-dev@lists.openstack.org
+Author-email: openstack-discuss@lists.openstack.org
License: UNKNOWN
+Project-URL: Documentation, https://docs.openstack.org/pbr/
Project-URL: Source Code, https://git.openstack.org/cgit/openstack-dev/pbr/
Project-URL: Bug Tracker, https://bugs.launchpad.net/pbr/
-Project-URL: Documentation, https://docs.openstack.org/pbr/
Description: Introduction
============
Metadata-Version: 2.1
Name: pbr
-Version: 5.1.1
+Version: 5.1.2
Summary: Python Build Reasonableness
Home-page: https://docs.openstack.org/pbr/latest/
Author: OpenStack
-Author-email: openstack-dev@lists.openstack.org
+Author-email: openstack-discuss@lists.openstack.org
License: UNKNOWN
+Project-URL: Documentation, https://docs.openstack.org/pbr/
Project-URL: Source Code, https://git.openstack.org/cgit/openstack-dev/pbr/
Project-URL: Bug Tracker, https://bugs.launchpad.net/pbr/
-Project-URL: Documentation, https://docs.openstack.org/pbr/
Description: Introduction
============
playbooks/legacy/pbr-installation-upstream-devstack/run.yaml
releasenotes/notes/deprecate-pyN-requirements-364655c38fa5b780.yaml
releasenotes/notes/deprecate-testr-nose-integration-56e3e11248d946fc.yaml
+releasenotes/notes/fix-global-replace-of-src-prefix-in-glob-eb850b94ca96993e.yaml
+releasenotes/notes/ignore-find-links-07cf54f465aa33a6.yaml
releasenotes/notes/long-descr-content-type-f9a1003acbb8740f.yaml
releasenotes/notes/remove-command-hooks-907d9c2325f306ca.yaml
releasenotes/notes/support-vcs-uris-with-subdirectories-20ad68b6138f72ca.yaml
if not target.endswith(os.path.sep):
target += os.path.sep
for (dirpath, dirnames, fnames) in os.walk(source_prefix):
- finished.append(
- "%s = " % dirpath.replace(source_prefix, target))
+ # As source_prefix is always matched, using replace with a
+ # a limit of one is always going to replace the path prefix
+ # and not accidentally replace some text in the middle of
+ # the path
+ new_prefix = dirpath.replace(source_prefix, target, 1)
+ finished.append("%s = " % new_prefix)
finished.extend(
[" %s" % os.path.join(dirpath, f) for f in fnames])
else:
continue
# Ignore index URL lines
- if re.match(r'^\s*(-i|--index-url|--extra-index-url).*', line):
+ if re.match(r'^\s*(-i|--index-url|--extra-index-url|--find-links).*',
+ line):
continue
# Handle nested requirements files such as:
])
self.useFixture(pkg_fixture)
pkg_etc = os.path.join(pkg_fixture.base, 'etc')
+ pkg_ansible = os.path.join(pkg_fixture.base, 'ansible',
+ 'kolla-ansible', 'test')
pkg_sub = os.path.join(pkg_etc, 'sub')
subpackage = os.path.join(
pkg_fixture.base, 'fake_package', 'subpackage')
os.makedirs(pkg_sub)
os.makedirs(subpackage)
+ os.makedirs(pkg_ansible)
with open(os.path.join(pkg_etc, "foo"), 'w') as foo_file:
foo_file.write("Foo Data")
with open(os.path.join(pkg_sub, "bar"), 'w') as foo_file:
foo_file.write("Bar Data")
+ with open(os.path.join(pkg_ansible, "baz"), 'w') as baz_file:
+ baz_file.write("Baz Data")
with open(os.path.join(subpackage, "__init__.py"), 'w') as foo_file:
foo_file.write("# empty")
self.assertIn(
'\netc/pbr/ = \n etc/foo\netc/pbr/sub = \n etc/sub/bar',
config['files']['data_files'])
+
+ def test_data_files_globbing_source_prefix_in_directory_name(self):
+ # We want to test that the string, "docs", is not replaced in a
+ # subdirectory name, "sub-docs"
+ config = dict(
+ files=dict(
+ data_files="\n share/ansible = ansible/*"
+ )
+ )
+ files.FilesConfig(config, 'fake_package').run()
+ self.assertIn(
+ '\nshare/ansible/ = '
+ '\nshare/ansible/kolla-ansible = '
+ '\nshare/ansible/kolla-ansible/test = '
+ '\n ansible/kolla-ansible/test/baz',
+ config['files']['data_files'])
tempdir = tempfile.mkdtemp()
requirements = os.path.join(tempdir, 'requirements.txt')
with open(requirements, 'w') as f:
- f.write('-i https://myindex.local')
- f.write(' --index-url https://myindex.local')
- f.write(' --extra-index-url https://myindex.local')
+ f.write('-i https://myindex.local\n')
+ f.write(' --index-url https://myindex.local\n')
+ f.write(' --extra-index-url https://myindex.local\n')
+ f.write('--find-links https://myindex.local\n')
+ f.write('arequirement>=1.0\n')
result = packaging.parse_requirements([requirements])
- self.assertEqual([], result)
+ self.assertEqual(['arequirement>=1.0'], result)
def test_nested_requirements(self):
tempdir = tempfile.mkdtemp()
--- /dev/null
+---
+fixes:
+ - |
+ Fixes a bug where the directory names of items specified in ``data_files``
+ could be renamed if the source prefix glob was contained within the
+ directory name. See `bug 1810804
+ <https://bugs.launchpad.net/pbr/+bug/1810804>`_ for details. For more
+ information on ``data_files``, see the `distutils documentation
+ <https://docs.python.org/2/distutils/setupscript.html#installing-additional-files>`_.
--- /dev/null
+---
+fixes:
+ - |
+ PBR now ignores ``--find-links`` in requirements files. This option is not
+ a valid ``install_requires`` entry for setuptools and thus breaks
+ PBR-based installs.
[metadata]
name = pbr
author = OpenStack
-author-email = openstack-dev@lists.openstack.org
+author-email = openstack-discuss@lists.openstack.org
summary = Python Build Reasonableness
description-file =
README.rst