From 3d0baf165072279c13c4626caa9b1137daf98289d0a5c5e4026bd3e6e3f8fbf2 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Mon, 20 Feb 2017 22:10:48 +0000 Subject: [PATCH] - add 0001-Don-t-raise-exception-on-missing-man-pages.patch, 0001-Don-t-ignore-data-files.patch OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pbr?expand=0&rev=57 --- 0001-Don-t-ignore-data-files.patch | 96 +++++++++++++++++++ ...raise-exception-on-missing-man-pages.patch | 50 ++++++++++ python-pbr-doc.spec | 2 +- python-pbr.changes | 6 ++ python-pbr.spec | 6 +- 5 files changed, 158 insertions(+), 2 deletions(-) create mode 100644 0001-Don-t-ignore-data-files.patch create mode 100644 0001-Don-t-raise-exception-on-missing-man-pages.patch diff --git a/0001-Don-t-ignore-data-files.patch b/0001-Don-t-ignore-data-files.patch new file mode 100644 index 0000000..4b56b8b --- /dev/null +++ b/0001-Don-t-ignore-data-files.patch @@ -0,0 +1,96 @@ +From a432bc2930ad0c5463163654bc18a18f8e2b417e Mon Sep 17 00:00:00 2001 +From: Sachi King +Date: Thu, 21 Jul 2016 17:15:34 +1000 +Subject: [PATCH] Don't ignore data-files + +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 +Change-Id: I062774c706b8f7339dda46689a226b80ae6ac277 +--- + pbr/tests/test_packaging.py | 11 +++++++++++ + pbr/tests/testpackage/setup.cfg | 2 +- + pbr/util.py | 6 +++--- + 3 files changed, 15 insertions(+), 4 deletions(-) + +diff --git a/pbr/tests/test_packaging.py b/pbr/tests/test_packaging.py +index f532b76..b84cc9a 100644 +--- a/pbr/tests/test_packaging.py ++++ b/pbr/tests/test_packaging.py +@@ -304,6 +304,17 @@ class TestPackagingInGitRepoWithCommit(base.BaseTestCase): + self.expectThat(stdout, matchers.Contains('Generating ChangeLog')) + + ++class TestExtrafileInstallation(base.BaseTestCase): ++ def test_install_glob(self): ++ stdout, _, _ = self.run_setup( ++ 'install', '--root', self.temp_dir + 'installed', ++ allow_fail=False) ++ self.expectThat( ++ stdout, matchers.Contains('copying data_files/a.txt')) ++ self.expectThat( ++ stdout, matchers.Contains('copying data_files/b.txt')) ++ ++ + class TestPackagingInGitRepoWithoutCommit(base.BaseTestCase): + + def setUp(self): +diff --git a/pbr/tests/testpackage/setup.cfg b/pbr/tests/testpackage/setup.cfg +index c4ba378..a6d127a 100644 +--- a/pbr/tests/testpackage/setup.cfg ++++ b/pbr/tests/testpackage/setup.cfg +@@ -30,7 +30,7 @@ keywords = packaging, distutils, setuptools + [files] + packages = pbr_testpackage + package-data = testpackage = package_data/*.txt +-data-files = testpackage/data_files = data_files/*.txt ++data-files = testpackage/data_files = data_files/* + extra-files = extra-file.txt + + [entry_points] +diff --git a/pbr/util.py b/pbr/util.py +index daad138..30853c6 100644 +--- a/pbr/util.py ++++ b/pbr/util.py +@@ -105,7 +105,7 @@ D1_D2_SETUP_ARGS = { + "description": ("metadata", "summary"), + "keywords": ("metadata",), + "long_description": ("metadata", "description"), +- "download-url": ("metadata",), ++ "download_url": ("metadata",), + "classifiers": ("metadata", "classifier"), + "platforms": ("metadata", "platform"), # ** + "license": ("metadata",), +@@ -212,6 +212,8 @@ def cfg_to_args(path='setup.cfg', script_args=()): + config = {} + for section in parser.sections(): + config[section] = dict(parser.items(section)) ++ for k in config[section]: ++ config[section][k.replace('-', '_')] = config[section].pop(k) + + # Run setup_hooks, if configured + setup_hooks = has_get_option(config, 'global', 'setup_hooks') +@@ -649,8 +651,6 @@ def run_command_hooks(cmd_obj, hook_kind): + def has_get_option(config, section, option): + if section in config and option in config[section]: + return config[section][option] +- elif section in config and option.replace('_', '-') in config[section]: +- return config[section][option.replace('_', '-')] + else: + return False + +-- +2.11.0 + diff --git a/0001-Don-t-raise-exception-on-missing-man-pages.patch b/0001-Don-t-raise-exception-on-missing-man-pages.patch new file mode 100644 index 0000000..8a0ce83 --- /dev/null +++ b/0001-Don-t-raise-exception-on-missing-man-pages.patch @@ -0,0 +1,50 @@ +From 9fd7aa2cc7fe50f68bd9c86c3db7a8f7ae710c05 Mon Sep 17 00:00:00 2001 +From: Dirk Mueller +Date: Wed, 21 Dec 2016 23:29:52 +0100 +Subject: [PATCH] Don't raise exception on missing man pages + +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 +--- + pbr/builddoc.py | 3 ++- + pbr/util.py | 6 +++--- + 2 files changed, 5 insertions(+), 4 deletions(-) + +Index: pbr-1.10.0/pbr/builddoc.py +=================================================================== +--- pbr-1.10.0.orig/pbr/builddoc.py ++++ pbr-1.10.0/pbr/builddoc.py +@@ -138,7 +138,8 @@ class LocalBuildDoc(setup_command.BuildD + sphinx_config.init_values(warnings.warn) + else: + sphinx_config.init_values() +- if self.builder == 'man' and len(sphinx_config.man_pages) == 0: ++ if self.builder == 'man' and len( ++ getattr(sphinx_config, 'man_pages', '')) == 0: + return + app = application.Sphinx( + self.source_dir, self.config_dir, +Index: pbr-1.10.0/pbr/util.py +=================================================================== +--- pbr-1.10.0.orig/pbr/util.py ++++ pbr-1.10.0/pbr/util.py +@@ -211,9 +211,9 @@ def cfg_to_args(path='setup.cfg', script + parser.read(path) + config = {} + for section in parser.sections(): +- config[section] = dict(parser.items(section)) +- for k in config[section]: +- config[section][k.replace('-', '_')] = config[section].pop(k) ++ config[section] = dict() ++ for k, value in parser.items(section): ++ config[section][k.replace('-', '_')] = value + + # Run setup_hooks, if configured + setup_hooks = has_get_option(config, 'global', 'setup_hooks') diff --git a/python-pbr-doc.spec b/python-pbr-doc.spec index 71f04bf..91cd3a6 100644 --- a/python-pbr-doc.spec +++ b/python-pbr-doc.spec @@ -1,7 +1,7 @@ # # spec file for package python-pbr-doc # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed diff --git a/python-pbr.changes b/python-pbr.changes index d1dfebc..5090792 100644 --- a/python-pbr.changes +++ b/python-pbr.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Feb 20 22:03:16 UTC 2017 - dmueller@suse.com + +- add 0001-Don-t-raise-exception-on-missing-man-pages.patch, + 0001-Don-t-ignore-data-files.patch + ------------------------------------------------------------------- Tue Sep 27 18:32:25 UTC 2016 - tbechtold@suse.com diff --git a/python-pbr.spec b/python-pbr.spec index d91a528..82709ec 100644 --- a/python-pbr.spec +++ b/python-pbr.spec @@ -1,7 +1,7 @@ # # spec file for package python-pbr # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -29,6 +29,8 @@ Group: Development/Languages/Python Url: http://pypi.python.org/pypi/pbr Source: https://pypi.python.org/packages/c3/2c/63275fab26a0fd8cadafca71a3623e4d0f0ee8ed7124a5bb128853d178a7/pbr-%{version}.tar.gz Source1: python-pbr-rpmlintrc +Patch0: 0001-Don-t-ignore-data-files.patch +Patch1: 0001-Don-t-raise-exception-on-missing-man-pages.patch BuildRequires: fdupes BuildRequires: python-devel BuildRequires: python-pip >= 1.4 @@ -67,6 +69,8 @@ information. %prep %setup -q -n pbr-%{version} +%patch0 -p1 +%patch1 -p1 # Get rid of ugly build-time deps that require network: sed -i "s/, 'sphinx\.ext\.intersphinx'//" doc/source/conf.py