Hello community,

here is the log from the commit of package python-pbr for openSUSE:Factory 
checked in at 2017-02-27 18:42:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pbr (Old)
 and      /work/SRC/openSUSE:Factory/.python-pbr.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pbr"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pbr/python-pbr-doc.changes        
2016-05-26 23:53:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-pbr.new/python-pbr-doc.changes   
2017-02-27 18:42:05.382555434 +0100
@@ -1,0 +2,8 @@
+Thu Feb 23 15:22:44 UTC 2017 - [email protected]
+
+- change to build only with python3 Sphinx
+- provide $flavor-doc for all pythons
+- include patches so that build doesn't fail
+  on manpages
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/python-pbr/python-pbr.changes    2016-10-03 
09:36:08.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-pbr.new/python-pbr.changes       
2017-02-27 18:42:05.582527186 +0100
@@ -1,0 +2,17 @@
+Mon Feb 27 13:11:37 UTC 2017 - [email protected]
+
+- use hardlinks instead of symlinks for %fdupes, because
+  symlinks would point across subpackages
+
+-------------------------------------------------------------------
+Tue Feb 21 14:11:09 UTC 2017 - [email protected]
+
+- update for singlespec
+
+-------------------------------------------------------------------
+Mon Feb 20 22:03:16 UTC 2017 - [email protected]
+
+- add 0001-Don-t-raise-exception-on-missing-man-pages.patch,
+  0001-Don-t-ignore-data-files.patch
+
+-------------------------------------------------------------------

New:
----
  0001-Don-t-ignore-data-files.patch
  0001-Don-t-raise-exception-on-missing-man-pages.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pbr-doc.spec ++++++
--- /var/tmp/diff_new_pack.jose0q/_old  2017-02-27 18:42:06.182442442 +0100
+++ /var/tmp/diff_new_pack.jose0q/_new  2017-02-27 18:42:06.186441877 +0100
@@ -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
@@ -16,6 +16,7 @@
 #
 
 
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-pbr-doc
 Version:        1.10.0
 Release:        0
@@ -25,27 +26,29 @@
 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
 # Documentation requirements:
-BuildRequires:  python-Sphinx >= 1.1.2
+BuildRequires:  python3-Sphinx >= 1.1.2
+BuildRequires:  python3-setuptools
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitelib: %global python_sitelib %(python -c "from 
distutils.sysconfig import get_python_lib; print get_python_lib()")}
-%else
 BuildArch:      noarch
-%endif
+Provides:       %{python_module pbr-doc = %{version}}
 
 %description
 This package contains documentation files for python-pbr
 
 %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
 
 %build
-python setup.py build_sphinx && rm doc/build/html/.buildinfo
+python3 setup.py build_sphinx
+rm doc/build/html/.buildinfo
 
 %install
 mkdir -p %{buildroot}%{_docdir}/python-pbr

++++++ python-pbr.spec ++++++
--- /var/tmp/diff_new_pack.jose0q/_old  2017-02-27 18:42:06.242433968 +0100
+++ /var/tmp/diff_new_pack.jose0q/_new  2017-02-27 18:42:06.266430578 +0100
@@ -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
@@ -20,6 +20,7 @@
 # enable testing with a build conditional (off by default):
 %bcond_with test
 
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-pbr
 Version:        1.10.0
 Release:        0
@@ -29,34 +30,32 @@
 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:  %{python_module devel}
+BuildRequires:  %{python_module pip >= 1.4}
 BuildRequires:  fdupes
-BuildRequires:  python-devel
-BuildRequires:  python-pip >= 1.4
+BuildRequires:  python-rpm-macros
 # Test requirements:
 %if %{with test}
 #BuildRequires:  python-coverage >= 3.6
-%if 0%{?suse_version} <= 1110
-BuildRequires:  python-discover
-%endif
-BuildRequires:  python-fixtures >= 1.3.1
-BuildRequires:  python-hacking >= 0.9.2
-BuildRequires:  python-mock >= 1.2
-BuildRequires:  python-python-subunit >= 0.0.18
-BuildRequires:  python-six >= 1.9.0
-BuildRequires:  python-testrepository >= 0.0.18
-BuildRequires:  python-testresources >= 0.2.4
-BuildRequires:  python-testscenarios >= 0.4
-BuildRequires:  python-testtools >= 1.4.0
+BuildRequires:  %{python_module fixtures >= 1.3.1}
+BuildRequires:  %{python_module hacking >= 0.9.2}
+BuildRequires:  %{python_module mock >= 1.2}
+BuildRequires:  %{python_module python-subunit >= 0.0.18}
+BuildRequires:  %{python_module six >= 1.9.0}
+BuildRequires:  %{python_module testrepository >= 0.0.18}
+BuildRequires:  %{python_module testresources >= 0.2.4}
+BuildRequires:  %{python_module testscenarios >= 0.4}
+BuildRequires:  %{python_module testtools >= 1.4.0}
 %endif
 Requires:       python-setuptools
 Requires(post): update-alternatives
 Requires(postun): update-alternatives
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitelib: %global python_sitelib %(python -c "from 
distutils.sysconfig import get_python_lib; print get_python_lib()")}
-%else
 BuildArch:      noarch
-%endif
+
+%python_subpackages
 
 %description
 PBR is a library to automatically do a bunch of standard
@@ -65,44 +64,41 @@
 files and generate AUTHORS and ChangeLog file all from git
 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
 
 %build
-python setup.py build
+%python_build
 
 %install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
-mkdir -p %{buildroot}%{_sysconfdir}/alternatives
-mv %{buildroot}%{_bindir}/pbr %{buildroot}%{_bindir}/pbr-%{py_ver}
-ln -s -f %{_sysconfdir}/alternatives/pbr %{buildroot}%{_bindir}/pbr
-# create a dummy target for /etc/alternatives/pbr
-touch %{buildroot}%{_sysconfdir}/alternatives/pbr
-%fdupes -s %{buildroot}%{python_sitelib}
+%{python_expand %$python_install
+mv %{buildroot}%{_bindir}/pbr %{buildroot}%{_bindir}/pbr-%{$python_bin_suffix}
+}
+%prepare_alternative pbr
+%fdupes %{buildroot}%{_prefix}
 
 %if %{with test}
 %check
-testr init && testr run --parallel
+%python_exec %{_bindir}/testr init
+%python_exec %{_bindir}/testr run --parallel
 %endif
 
 %post
-%_sbindir/update-alternatives \
-    --install %{_bindir}/pbr pbr %{_bindir}/pbr-%{py_ver} 20
+%python_install_alternative pbr
 
 %preun
-if [ $1 -eq 0 ] ; then
-    %_sbindir/update-alternatives --remove pbr %{_bindir}/pbr-%{py_ver}
-fi
+%python_uninstall_alternative pbr
 
-%files
+%files %{python_files}
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog CONTRIBUTING.rst LICENSE README.rst
+%python_alternative %{_bindir}/pbr
 %{python_sitelib}/pbr
-%{python_sitelib}/pbr-%{version}-py%{py_ver}.egg-info
-%{_bindir}/pbr-%{py_ver}
-%{_bindir}/pbr
-%ghost %{_sysconfdir}/alternatives/pbr
+%{python_sitelib}/pbr-%{version}-py%{python_version}.egg-info
 
 %changelog

++++++ 0001-Don-t-ignore-data-files.patch ++++++
>From a432bc2930ad0c5463163654bc18a18f8e2b417e Mon Sep 17 00:00:00 2001
From: Sachi King <[email protected]>
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 <[email protected]>
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

++++++ 0001-Don-t-raise-exception-on-missing-man-pages.patch ++++++
>From 9fd7aa2cc7fe50f68bd9c86c3db7a8f7ae710c05 Mon Sep 17 00:00:00 2001
From: Dirk Mueller <[email protected]>
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')

Reply via email to