openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
February 2017
- 1 participants
- 1918 discussions
Hello community,
here is the log from the commit of package ghc-rvar for openSUSE:Factory checked in at 2017-02-27 18:43:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-rvar (Old)
and /work/SRC/openSUSE:Factory/.ghc-rvar.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-rvar"
Changes:
--------
New Changes file:
--- /dev/null 2017-01-26 09:49:33.150892021 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-rvar.new/ghc-rvar.changes 2017-02-27 18:43:31.702362285 +0100
@@ -0,0 +1,5 @@
+-------------------------------------------------------------------
+Sun Jul 10 17:29:57 UTC 2016 - psimons(a)suse.com
+
+- Update to version 0.2.0.3 revision 0 with cabal2obs.
+
New:
----
ghc-rvar.changes
ghc-rvar.spec
rvar-0.2.0.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-rvar.spec ++++++
#
# spec file for package ghc-rvar
#
# Copyright (c) 2016 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%global pkg_name rvar
Name: ghc-%{pkg_name}
Version: 0.2.0.3
Release: 0
Summary: Random Variables
License: SUSE-Public-Domain
Group: System/Libraries
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
BuildRequires: ghc-Cabal-devel
# Begin cabal-rpm deps:
BuildRequires: ghc-MonadPrompt-devel
BuildRequires: ghc-mtl-devel
BuildRequires: ghc-random-source-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-transformers-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# End cabal-rpm deps
%description
Random number generation based on modeling random variables by an abstract type
('RVar') which can be composed and manipulated monadically and sampled in
either monadic or "pure" styles.
The primary purpose of this library is to support defining and sampling a wide
variety of high quality random variables. Quality is prioritized over speed,
but performance is an important goal too.
In my testing, I have found it capable of speed comparable to other Haskell
libraries, but still a fair bit slower than straight C implementations of the
same algorithms.
Changes in 0.2.0.1: Version bump for transformers dependency.
%package devel
Summary: Haskell %{pkg_name} library development files
Group: Development/Libraries/Other
Requires: %{name} = %{version}-%{release}
Requires: ghc-compiler = %{ghc_version}
Requires(post): ghc-compiler = %{ghc_version}
Requires(postun): ghc-compiler = %{ghc_version}
%description devel
This package provides the Haskell %{pkg_name} library development files.
%prep
%setup -q -n %{pkg_name}-%{version}
%build
%ghc_lib_build
%install
%ghc_lib_install
%post devel
%ghc_pkg_recache
%postun devel
%ghc_pkg_recache
%files -f %{name}.files
%defattr(-,root,root,-)
%files devel -f %{name}-devel.files
%defattr(-,root,root,-)
%changelog
1
0
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 - jmatejek(a)suse.com
+
+- 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 - jmatejek(a)suse.com
+
+- use hardlinks instead of symlinks for %fdupes, because
+ symlinks would point across subpackages
+
+-------------------------------------------------------------------
+Tue Feb 21 14:11:09 UTC 2017 - jmatejek(a)suse.com
+
+- update for singlespec
+
+-------------------------------------------------------------------
+Mon Feb 20 22:03:16 UTC 2017 - dmueller(a)suse.com
+
+- 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/63275fab26a0fd8cadafca71a3623e4d0f0e…
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/63275fab26a0fd8cadafca71a3623e4d0f0e…
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 <nakato(a)nakato.io>
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 <julien(a)danjou.info>
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 <dirk(a)dmllr.de>
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')
1
0
Hello community,
here is the log from the commit of package python3-setuptools for openSUSE:Factory checked in at 2017-02-27 18:41:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-setuptools (Old)
and /work/SRC/openSUSE:Factory/.python3-setuptools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-setuptools"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-setuptools/python3-setuptools.changes 2017-01-23 11:29:03.424772017 +0100
+++ /work/SRC/openSUSE:Factory/.python3-setuptools.new/python3-setuptools.changes 2017-02-27 18:41:46.305250281 +0100
@@ -1,0 +2,67 @@
+Sat Feb 25 23:38:44 UTC 2017 - arun(a)gmx.de
+
+- update to version 34.3.0:
+ * #941: In the upload command, if the username is blank, default to
+ getpass.getuser().
+ * #971: Correct distutils findall monkeypatch to match appropriate
+ versions (namely Python 3.4.6).
+
+-------------------------------------------------------------------
+Mon Feb 20 18:55:08 UTC 2017 - arun(a)gmx.de
+
+- specfile:
+ * require python3-six, packaging, and appdirs
+
+- update to version 34.2.0:
+ * #966: Add support for reading dist-info metadata and thus locating
+ Distributions from zip files.
+ * #968: Allow '+' and '!' in egg fragments so that it can take
+ package names that contain PEP 440 conforming version specifiers.
+
+- changes from version 34.1.1:
+ * #953: More aggressively employ the compatibility issue originally
+ added in #706.
+
+- changes from version 34.1.0:
+ * #930: build_info now accepts two new parameters to optimize and
+ customize the building of C libraries.
+
+- changes from version 34.0.3:
+ * #947: Loosen restriction on the version of six required, restoring
+ compatibility with environments relying on six 1.6.0 and later.
+
+- changes from version 34.0.2:
+ * #882: Ensure extras are honored when building the working set.
+ * #913: Fix issue in develop if package directory has a trailing
+ slash.
+
+- changes from version 34.0.1:
+ * #935: Fix glob syntax in graft.
+
+- changes from version 34.0.0:
+ * #581: Instead of vendoring the growing list of dependencies that
+ Setuptools requires to function, Setuptools now requires these
+ dependencies just like any other project. Unlike other projects,
+ however, Setuptools cannot rely on setup_requires to demand the
+ dependencies it needs to install because its own machinery would
+ be necessary to pull those dependencies if not present (a
+ bootstrapping problem). As a result, Setuptools no longer
+ supports self upgrade or installation in the general
+ case. Instead, users are directed to use pip to install and
+ upgrade using the wheel distributions of setuptools.
+ * Users are welcome to contrive other means to install or upgrade
+ Setuptools using other means, such as pre-installing the
+ Setuptools dependencies with pip or a bespoke bootstrap tool, but
+ such usage is not recommended and is not supported.
+ * As discovered in #940, not all versions of pip will successfully
+ install Setuptools from its pre-built wheel. If you encounter
+ issues with "No module named six" or "No module named packaging",
+ especially following a line "Running setup.py egg_info for package
+ setuptools", then your pip is not new enough.
+ * There's an additional issue in pip where setuptools is upgraded
+ concurrently with other source packages, described in pip
+ #4253. The proposed workaround is to always upgrade Setuptools
+ first prior to upgrading other packages that would upgrade
+ Setuptools.
+
+-------------------------------------------------------------------
Old:
----
setuptools-33.1.1.zip
New:
----
setuptools-34.3.0.zip
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-setuptools.spec ++++++
--- /var/tmp/diff_new_pack.egOmuc/_old 2017-02-27 18:41:46.913164407 +0100
+++ /var/tmp/diff_new_pack.egOmuc/_new 2017-02-27 18:41:46.917163842 +0100
@@ -17,7 +17,7 @@
Name: python3-setuptools
-Version: 33.1.1
+Version: 34.3.0
Release: 0
Url: http://pypi.python.org/pypi/setuptools
Summary: Easily download, build, install, upgrade, and uninstall Python packages
@@ -29,9 +29,14 @@
#!BuildIgnore: python3-pip
#NOTE(saschpe): Need 'python3' for the 'xml' module:
BuildRequires: python3
+BuildRequires: python3-six
Requires: python3
+Requires: python3-appdirs
+Requires: python3-packaging
Requires: python3-six
+BuildRequires: python3-appdirs
BuildRequires: python3-devel
+BuildRequires: python3-packaging
BuildRequires: unzip
Requires(post): update-alternatives
Requires(postun): update-alternatives
1
0
Hello community,
here is the log from the commit of package python-rpm-macros for openSUSE:Factory checked in at 2017-02-27 18:41:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-rpm-macros (Old)
and /work/SRC/openSUSE:Factory/.python-rpm-macros.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-rpm-macros"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-rpm-macros/python-rpm-macros.changes 2017-02-21 13:31:03.971508606 +0100
+++ /work/SRC/openSUSE:Factory/.python-rpm-macros.new/python-rpm-macros.changes 2017-02-27 18:41:30.479485838 +0100
@@ -1,0 +2,20 @@
+Fri Feb 24 13:50:03 UTC 2017 - jmatejek(a)suse.com
+
+- let %python_module expand *all* its arguments, not just the first
+ (so that %{python_module x >= 1.0} works as intended)
+
+-------------------------------------------------------------------
+Wed Feb 22 14:38:28 UTC 2017 - jmatejek(a)suse.com
+
+- copy BuildArch to subpackages
+- on requires/provides etc., perform macro expansion *after* replacing
+ 'python' name, to allow for tricking the rewriter to not replace
+
+-------------------------------------------------------------------
+Tue Feb 21 14:55:08 UTC 2017 - jmatejek(a)suse.com
+
+- add BuildRoot to make SLE11 happy
+- check presence of %python_files even on new-style distros
+- better visibility of the %python_files error
+
+-------------------------------------------------------------------
Old:
----
python-rpm-macros-1.0.git.1486997542.e9fcc29.tar.bz2
New:
----
python-rpm-macros-1.0.git.1487869271.c6e9bfc.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-rpm-macros.spec ++++++
--- /var/tmp/diff_new_pack.KbP3LX/_old 2017-02-27 18:41:30.915424256 +0100
+++ /var/tmp/diff_new_pack.KbP3LX/_new 2017-02-27 18:41:30.919423692 +0100
@@ -17,7 +17,7 @@
Name: python-rpm-macros
-Version: 1.0.git.1486997542.e9fcc29
+Version: 1.0.git.1487869271.c6e9bfc
Release: 0
Summary: RPM macros for building of Python modules
License: WTFPL
@@ -29,6 +29,7 @@
Provides: python3-rpm-macros
#!BuildIgnore: python-rpm-macros
BuildArch: noarch
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
This package contains SUSE RPM macros for Python build automation.
++++++ python-rpm-macros-1.0.git.1486997542.e9fcc29.tar.bz2 -> python-rpm-macros-1.0.git.1487869271.c6e9bfc.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rpm-macros-1.0.git.1486997542.e9fcc29/macros.in new/python-rpm-macros-1.0.git.1487869271.c6e9bfc/macros.in
--- old/python-rpm-macros-1.0.git.1486997542.e9fcc29/macros.in 2017-02-13 15:52:22.000000000 +0100
+++ new/python-rpm-macros-1.0.git.1487869271.c6e9bfc/macros.in 2017-02-23 18:01:11.000000000 +0100
@@ -1,7 +1,7 @@
# order is important! if builds install the same binary, the last one is preferred
%pythons %{?have_python2:python2} %{?have_pypy3:pypy3} %{?have_python3:python3}
-%python_module() %{expand: %{?have_python2:%{python2_prefix}-%1} %{?have_python3:python3-%1} %{?have_pypy3:pypy3-%1}}
+%python_module() %{expand: %{?have_python2:%{python2_prefix}-%{**}} %{?have_python3:python3-%{**}} %{?have_pypy3:pypy3-%{**}}}
%if_python_kind() %if %{_python_scan_spec} %{lua: if current_flavor == rpm.expand("%1") then print("1") else print("0") end}
%if_not_python_kind() %if %{_python_scan_spec} %{lua: if current_flavor == rpm.expand("%1") then print("0") else print("1") end}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rpm-macros-1.0.git.1486997542.e9fcc29/macros.lua new/python-rpm-macros-1.0.git.1487869271.c6e9bfc/macros.lua
--- old/python-rpm-macros-1.0.git.1486997542.e9fcc29/macros.lua 2017-02-13 15:52:22.000000000 +0100
+++ new/python-rpm-macros-1.0.git.1487869271.c6e9bfc/macros.lua 2017-02-23 18:01:11.000000000 +0100
@@ -165,7 +165,7 @@
local function ignore_line(line) end
- local PROPERTY_COPY_UNMODIFIED = lookup_table { "Summary", "Version" }
+ local PROPERTY_COPY_UNMODIFIED = lookup_table { "Summary", "Version", "BuildArch" }
local PROPERTY_COPY_MODIFIED = lookup_table {
"Requires", "Provides",
"Recommends", "Suggests",
@@ -178,13 +178,13 @@
if PROPERTY_COPY_UNMODIFIED[property] then
print_altered(line)
elseif PROPERTY_COPY_MODIFIED[property] then
- local expanded = rpm.expand(value)
- if expanded == "python" or expanded == flavor then
- expanded = current_flavor
+ if value == "python" or value == flavor then
+ value = current_flavor
else
- expanded = expanded:gsub("^" .. flavor .. "(%W)", current_flavor .. "%1")
- expanded = expanded:gsub("^python(%W)", current_flavor .. "%1")
+ value = value:gsub("^" .. flavor .. "(%W)", current_flavor .. "%1")
+ value = value:gsub("^python(%W)", current_flavor .. "%1")
end
+ local expanded = rpm.expand(value)
print_altered(string.format("%s: %s", property, expanded))
end
end
@@ -205,10 +205,13 @@
local subpkg = param:match("%%{python_files%s*(.-)}")
if subpkg then python_files = true end
- if old_python2 and is_called_python and not python_files then
+ if is_called_python and not python_files then
-- kingly hack. but RPM's native %error does not work.
- io.stderr:write('error: Package with "python-" prefix must not contain unmarked "%files" sections.\n')
- io.stderr:write('error: Use "%files %python_files" or "%files %{python_files foo} instead.\n')
+ local errmsg =
+ 'error: Package with "python-" prefix must not contain unmarked "%files" sections.\n' ..
+ 'error: Use "%files %python_files" or "%files %{python_files foo} instead.\n'
+ io.stderr:write(errmsg)
+ print(errmsg)
error('Invalid spec file')
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rpm-macros-1.0.git.1486997542.e9fcc29/process-spec.pl new/python-rpm-macros-1.0.git.1487869271.c6e9bfc/process-spec.pl
--- old/python-rpm-macros-1.0.git.1486997542.e9fcc29/process-spec.pl 2017-02-13 15:52:22.000000000 +0100
+++ new/python-rpm-macros-1.0.git.1487869271.c6e9bfc/process-spec.pl 1970-01-01 01:00:00.000000000 +0100
@@ -1,99 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use utf8;
-use warnings;
-
-my $SOURCE = $ARGV[0];
-$SOURCE or die "Please specify source spec file.";
-my $DEST = $ARGV[1] // ($SOURCE =~ s/\.spec$/.converted.spec/r);
-$SOURCE eq $DEST and $DEST .= ".converted";
-
-open (SOURCE, "<$SOURCE");
-open (DEST, ">$DEST");
-
-my $oldsuse = 0;
-my $pysub_found = 0;
-my $pymodule_inserted = 0;
-my $macros_inserted = 0;
-
-my @known_backports = qw/singledispatch futures/;
-my %backports = map { $_ => 1 } @known_backports;
-
-while (<SOURCE>) {
- if ($oldsuse == 1) {
- if (/^%else$/) {
- $oldsuse = 2;
- } elsif (/^%endif$/) {
- $oldsuse = 0;
- }
- # else nothing
- } elsif ($oldsuse == 2 && /^%endif$/) {
- $oldsuse = 0;
- } elsif ($oldsuse == 2 && /^%else$/) {
- $oldsuse = 1;
- } elsif (/^%\{\?!python_module/) {
- $pymodule_inserted = 1;
- print DEST $_;
- } elsif (!$pymodule_inserted && /^[a-zA-Z]+:/) {
- print DEST "%{?!python_module:%define python_module() python-%1 python3-%1}\n";
- print DEST $_;
- $pymodule_inserted = 1;
- } elsif (/^BuildRequires:(\s+)python-(.*)$/) {
- if ($2 eq "rpm-macros") {
- print DEST $_ unless $macros_inserted;
- $macros_inserted = 1;
- } elsif ($2 =~ /^backports/ || exists($backports{$2})) {
- # skip known backports that won't be available for new pythons
- print DEST $_;
- } else {
- if (!$macros_inserted) {
- print DEST "BuildRequires:$1python-rpm-macros\n";
- $macros_inserted = 1;
- }
- print DEST "BuildRequires:$1%{python_module $2}\n";
- }
- } elsif (!$macros_inserted && /^BuildRequires:(\s+)(.*)$/) {
- print DEST "BuildRequires:$1python-rpm-macros\n";
- print DEST $_;
- $macros_inserted = 1;
- } elsif (/^%description/ && !$pysub_found) {
- print DEST "%python_subpackages\n\n";
- print DEST $_;
- $pysub_found = 1;
- } elsif (/^python setup\.py build/) {
- print DEST "%python_build\n";
- } elsif (/^(CFLAGS="%\{optflags\}") python setup\.py build/) {
- print DEST "export $1\n";
- print DEST "%python_build\n";
- } elsif (/^python setup\.py install.*/) {
- print DEST "%python_install\n";
- } elsif (/^python (.*)$/) {
- print DEST "%python_exec $1\n";
- } elsif (/^%files(.*)$/) {
- if ($1 =~ /%\{?python_files/) {
- print DEST $_;
- } else {
- print DEST "%files %{python_files$1}\n";
- }
- } elsif (/%\{!\?python_site/) {
- # pass
- } elsif (/^%if 0%\{\?suse_version\} && 0%\{\?suse_version\} <= 1110$/) {
- $oldsuse = 1;
- } elsif (/^%if 0%\{\?suse_version\} > 1110$/) {
- $oldsuse = 2;
- } elsif (/^%python_subpackages/) {
- print DEST $_ unless $pysub_found;
- $pysub_found = 1;
- } else {
- $_ =~ s/py_ver/python_version/;
- $_ =~ s/py3_ver/python3_version/;
- $_ =~ s/py([23]?)_(build|install)/python$1_$2/;
- print DEST $_;
- }
-}
-
-close DEST;
-close SOURCE;
-
-defined $ARGV[1] or rename $DEST, $SOURCE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-rpm-macros-1.0.git.1486997542.e9fcc29/python-rpm-macros.spec new/python-rpm-macros-1.0.git.1487869271.c6e9bfc/python-rpm-macros.spec
--- old/python-rpm-macros-1.0.git.1486997542.e9fcc29/python-rpm-macros.spec 2017-02-13 15:52:22.000000000 +0100
+++ new/python-rpm-macros-1.0.git.1487869271.c6e9bfc/python-rpm-macros.spec 2017-02-23 18:01:11.000000000 +0100
@@ -29,6 +29,7 @@
Provides: python3-rpm-macros
#!BuildIgnore: python-rpm-macros
BuildArch: noarch
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
This package contains SUSE RPM macros for Python build automation.
1
0
Hello community,
here is the log from the commit of package python-mock for openSUSE:Factory checked in at 2017-02-27 18:39:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mock (Old)
and /work/SRC/openSUSE:Factory/.python-mock.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-mock"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-mock/python-mock.changes 2016-10-14 03:37:53.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-mock.new/python-mock.changes 2017-02-27 18:39:52.685300715 +0100
@@ -1,0 +2,10 @@
+Thu Oct 6 16:19:38 UTC 2016 - jmatejek(a)suse.com
+
+- update for multipython build
+- remove test runner because it performs dark magic that
+ causes a failure in test suite
+- implement fallback to python's own unittest instead of unittest2
+ if we're on Python 3 (to avoid dependencies on funcsigs and unittest2)
+ (unittest2-fallback.patch)
+
+-------------------------------------------------------------------
New:
----
unittest2-fallback.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-mock.spec ++++++
--- /var/tmp/diff_new_pack.pQSvpj/_old 2017-02-27 18:39:53.381202406 +0100
+++ /var/tmp/diff_new_pack.pQSvpj/_new 2017-02-27 18:39:53.385201841 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-mock
#
-# 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,8 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define oldpython python
Name: python-mock
Version: 2.0.0
Release: 0
@@ -24,24 +26,24 @@
License: BSD-2-Clause
Group: Development/Languages/Python
Source: https://pypi.io/packages/source/m/mock/mock-%{version}.tar.gz
+Patch0: unittest2-fallback.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: python-devel
+BuildRequires: %{python_module pbr}
+BuildRequires: %{python_module setuptools >= 17.1}
+BuildRequires: %{python_module six}
+BuildRequires: python-rpm-macros
+# SECTION Python2-only requirements
BuildRequires: python-funcsigs
-BuildRequires: python-pbr
-BuildRequires: python-setuptools >= 17.1
-BuildRequires: python-six
-Requires: python-funcsigs >= 1
-Requires: python-pbr
-Requires: python-six >= 1.9
-%if 0%{?suse_version} && 0%{?suse_version} < 1140
-BuildRequires: python-ordereddict
BuildRequires: python-unittest2
+# /SECTION
+%ifpython2
+Requires: %{oldpython}-funcsigs >= 1
%endif
-%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
+Requires: python-pbr
+Requires: python-six >= 1.9
BuildArch: noarch
-%endif
+
+%python_subpackages
%description
mock is a Python module that provides a core Mock class. It removes the need
@@ -52,17 +54,20 @@
%prep
%setup -q -n mock-%{version}
+# remove test runner which causes test failure all by itself
+rm mock/tests/__main__.py
+%patch0 -p1
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
%check
-python setup.py test
+%python_exec setup.py test
-%files
+%files %python_files
%defattr(-,root,root,-)
%doc README.rst LICENSE.txt
%{python_sitelib}/*
++++++ unittest2-fallback.patch ++++++
Index: mock-2.0.0/mock/tests/support.py
===================================================================
--- mock-2.0.0.orig/mock/tests/support.py
+++ mock-2.0.0/mock/tests/support.py
@@ -1,7 +1,6 @@
import sys
info = sys.version_info
-import unittest2
try:
Index: mock-2.0.0/mock/tests/testcallable.py
===================================================================
--- mock-2.0.0.orig/mock/tests/testcallable.py
+++ mock-2.0.0/mock/tests/testcallable.py
@@ -2,7 +2,11 @@
# E-mail: fuzzyman AT voidspace DOT org DOT uk
# http://www.voidspace.org.uk/python/mock/
-import unittest2 as unittest
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
+
from mock.tests.support import is_instance, X, SomeClass
from mock import (
Index: mock-2.0.0/mock/tests/testhelpers.py
===================================================================
--- mock-2.0.0.orig/mock/tests/testhelpers.py
+++ mock-2.0.0/mock/tests/testhelpers.py
@@ -3,7 +3,10 @@
# http://www.voidspace.org.uk/python/mock/
import six
-import unittest2 as unittest
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
from mock import (
call, create_autospec, MagicMock,
Index: mock-2.0.0/mock/tests/testmagicmethods.py
===================================================================
--- mock-2.0.0.orig/mock/tests/testmagicmethods.py
+++ mock-2.0.0/mock/tests/testmagicmethods.py
@@ -16,7 +16,11 @@ import sys
import textwrap
import six
-import unittest2 as unittest
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
+
from mock import Mock, MagicMock
from mock.mock import _magics
Index: mock-2.0.0/mock/tests/testmock.py
===================================================================
--- mock-2.0.0.orig/mock/tests/testmock.py
+++ mock-2.0.0/mock/tests/testmock.py
@@ -8,7 +8,10 @@ import sys
import tempfile
import six
-import unittest2 as unittest
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
import mock
from mock import (
Index: mock-2.0.0/mock/tests/testpatch.py
===================================================================
--- mock-2.0.0.orig/mock/tests/testpatch.py
+++ mock-2.0.0/mock/tests/testpatch.py
@@ -6,7 +6,10 @@ import os
import sys
import six
-import unittest2 as unittest
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
from mock.tests import support
from mock.tests.support import SomeClass, is_instance, callable
Index: mock-2.0.0/mock/tests/testsentinel.py
===================================================================
--- mock-2.0.0.orig/mock/tests/testsentinel.py
+++ mock-2.0.0/mock/tests/testsentinel.py
@@ -2,7 +2,10 @@
# E-mail: fuzzyman AT voidspace DOT org DOT uk
# http://www.voidspace.org.uk/python/mock/
-import unittest2 as unittest
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
from mock import sentinel, DEFAULT
Index: mock-2.0.0/mock/tests/testwith.py
===================================================================
--- mock-2.0.0.orig/mock/tests/testwith.py
+++ mock-2.0.0/mock/tests/testwith.py
@@ -4,7 +4,10 @@
from warnings import catch_warnings
-import unittest2 as unittest
+try:
+ import unittest2 as unittest
+except ImportError:
+ import unittest
from mock.tests.support import is_instance
from mock import MagicMock, Mock, patch, sentinel, mock_open, call
1
0
Hello community,
here is the log from the commit of package python-pip for openSUSE:Factory checked in at 2017-02-27 18:36:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pip (Old)
and /work/SRC/openSUSE:Factory/.python-pip.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pip"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pip/python-pip.changes 2017-01-23 11:31:09.434906363 +0100
+++ /work/SRC/openSUSE:Factory/.python-pip.new/python-pip.changes 2017-02-27 18:36:15.523980564 +0100
@@ -1,0 +2,10 @@
+Thu Feb 23 15:31:57 UTC 2017 - jmatejek(a)suse.com
+
+- update for singlespec
+- fix alternative priorities
+- drop cacert.pem and add pip-8.1.2-shipped-requests-cabundle.patch
+ to ensure function without it
+- add ca-certificates{,-mozilla} dependency to ensure existence of CA bundle
+- add fdupes
+
+-------------------------------------------------------------------
New:
----
pip-8.1.2-shipped-requests-cabundle.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pip.spec ++++++
--- /var/tmp/diff_new_pack.NumRv4/_old 2017-02-27 18:36:16.043907106 +0100
+++ /var/tmp/diff_new_pack.NumRv4/_new 2017-02-27 18:36:16.043907106 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-pip
#
-# 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-pip
Version: 9.0.1
Release: 0
@@ -28,49 +29,55 @@
License: MIT
Group: Development/Languages/Python
Source: https://pypi.io/packages/source/p/pip/pip-%{version}.tar.gz
+Patch0: pip-8.1.2-shipped-requests-cabundle.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: python-devel
-BuildRequires: python-setuptools
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
+BuildRequires: fdupes
+BuildRequires: python-rpm-macros
%if %{with test}
# Test requirements:
-BuildRequires: python-mock
-BuildRequires: python-pytest
-BuildRequires: python-scripttest >= 1.3
-BuildRequires: python-virtualenv >= 1.10
+BuildRequires: %{python_module mock}
+BuildRequires: %{python_module pytest}
+BuildRequires: %{python_module scripttest >= 1.3}
+BuildRequires: %{python_module virtualenv >= 1.10}
%endif
+Requires: ca-certificates
Requires: coreutils
Requires: python-setuptools
Requires: python-xml
+Recommends: ca-certificates-mozilla
Requires(post): update-alternatives
Requires(postun): update-alternatives
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-BuildRequires: python-argparse
-Requires: python-argparse
-%{!?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
Pip is a replacement for easy_install. It uses mostly the same techniques for
finding packages, so packages that were made easy_installable should be
pip-installable as well.
+
%prep
%setup -q -n pip-%{version}
-sed -i "s|#!/usr/bin/env python||g" pip/__init__.py # Fix non-executable script
+%patch0 -p1
+find pip/_vendor -name *.py -exec \
+ sed -i "s|#!/usr/bin/env python||g" {} ";" # Fix non-executable script
+#sed -i "s|#!/usr/bin/env python||g" pip/__init__.py # Fix non-executable script
+rm pip/_vendor/requests/cacert.pem
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
-rm %{buildroot}%{_bindir}/pip
-ln -s %{_bindir}/pip%{py_ver} %{buildroot}%{_bindir}/pip
+%python_install
+%prepare_alternative pip
+%fdupes %{buildroot}%{_prefix}
%if %{with test}
%check
-python setup.py test
+%python_exec setup.py test
%endif
%pre
@@ -79,23 +86,34 @@
[ -h %{_bindir}/pip ] || rm -f %{_bindir}/pip
%post
-update-alternatives --install %{_bindir}/pip pip %{_bindir}/pip%{py_ver} 20
+# can't use `python_install_alternative` because it's pipX.Y, not pip-X.Y
+PRIO=$(echo %{python_version} | tr -d .)
+%ifpypy3
+%install_alternative pip %{_bindir}/pip-%{pypy3_bin_suffix} $PRIO
+%else
+%install_alternative pip %{_bindir}/pip%{python_version} $PRIO
+%endif
%preun
-if [ $1 -eq 0 ] ; then
- update-alternatives --remove pip %{_bindir}/pip%{py_ver}
-fi
+%ifpypy3
+%uninstall_alternative pip %{_bindir}/pip-%{pypy3_bin_suffix}
+%else
+%uninstall_alternative pip %{_bindir}/pip%{python_version}
+%endif
-%files
+%files %{python_files}
%defattr(-,root,root,-)
%doc AUTHORS.txt CHANGES.txt LICENSE.txt README.rst
-%ghost %{_bindir}/pip
-%{_bindir}/pip2
-%{_bindir}/pip%{py_ver}
-%{python_sitelib}/pip-%{version}-py%{py_ver}.egg-info
-%{python_sitelib}/pip
-%if 0%{?suse_version} >= 1230
-%ghost %{_sysconfdir}/alternatives/pip
+%{_bindir}/pip
+%python2_only %{_bindir}/pip2
+%python3_only %{_bindir}/pip3
+%ifpypy3
+%{_bindir}/pip-%{pypy3_bin_suffix}
+%else
+%{_bindir}/pip%{python_version}
%endif
+%ghost %{_sysconfdir}/alternatives/pip
+%{python_sitelib}/pip-%{version}-py%{python_version}.egg-info
+%{python_sitelib}/pip
%changelog
++++++ pip-8.1.2-shipped-requests-cabundle.patch ++++++
diff -ruN a/pip/_vendor/requests/certs.py b/pip/_vendor/requests/certs.py
--- a/pip/_vendor/requests/certs.py 2014-05-16 20:03:31.000000000 +0200
+++ b/pip/_vendor/requests/certs.py 2014-07-03 09:54:46.751966582 +0200
@@ -19,8 +19,7 @@
except ImportError:
def where():
"""Return the preferred certificate bundle."""
- # vendored bundle inside Requests
- return os.path.join(os.path.dirname(__file__), 'cacert.pem')
+ return "/etc/ssl/ca-bundle.pem"
if __name__ == '__main__':
print(where())
1
0
Hello community,
here is the log from the commit of package python-PyYAML for openSUSE:Factory checked in at 2017-02-27 18:35:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-PyYAML (Old)
and /work/SRC/openSUSE:Factory/.python-PyYAML.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-PyYAML"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-PyYAML/python-PyYAML.changes 2016-09-11 00:52:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-PyYAML.new/python-PyYAML.changes 2017-02-27 18:35:44.540358130 +0100
@@ -1,0 +2,5 @@
+Mon Feb 20 15:19:50 UTC 2017 - jmatejek(a)suse.com
+
+- update for multipython build
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-PyYAML.spec ++++++
--- /var/tmp/diff_new_pack.0ZOkNE/_old 2017-02-27 18:35:44.892308404 +0100
+++ /var/tmp/diff_new_pack.0ZOkNE/_new 2017-02-27 18:35:44.896307839 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-PyYAML
#
-# 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,23 +16,25 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-PyYAML
Version: 3.12
Release: 0
-Url: http://pyyaml.org/wiki/PyYAML
Summary: YAML parser and emitter for Python
License: MIT
Group: Development/Languages/Python
+Url: http://pyyaml.org/wiki/PyYAML
Source: https://pypi.io/packages/source/P/PyYAML/PyYAML-%{version}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
BuildRequires: libyaml-devel
-BuildRequires: python-devel
-BuildRequires: python-setuptools
+BuildRequires: python-rpm-macros
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+%ifpython2
Provides: python-yaml = %{version}
Obsoletes: python-yaml < %{version}
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%endif
+%python_subpackages
%description
YAML is a data serialization format designed for human readability
@@ -51,24 +53,25 @@
%setup -q -n PyYAML-%{version}
%build
-CFLAGS="%{optflags}" python setup.py build
+export CFLAGS="%{optflags}"
+%python_build
find examples -type f | xargs chmod -x # Fix example permissions
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
%check
#increase file-descriptor-count for ppc to make tests happy
%ifarch ppc ppc64 s390 s390x
ulimit -Sn 2048
%endif
-python setup.py test
+%python_exec setup.py test
-%files
+%files %{python_files}
%defattr(-,root,root,-)
%doc CHANGES LICENSE README examples
%{python_sitearch}/yaml
-%{python_sitearch}/_yaml.so
-%{python_sitearch}/PyYAML-%{version}-py%{py_ver}.egg-info
+%{python_sitearch}/_yaml.*so
+%{python_sitearch}/PyYAML-%{version}-py%{python_version}.egg-info
%changelog
1
0
Hello community,
here is the log from the commit of package python-hypothesis for openSUSE:Factory checked in at 2017-02-27 18:35:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-hypothesis (Old)
and /work/SRC/openSUSE:Factory/.python-hypothesis.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-hypothesis"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-hypothesis/python-hypothesis.changes 2016-05-19 12:03:41.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-hypothesis.new/python-hypothesis.changes 2017-02-27 18:35:22.363491468 +0100
@@ -1,0 +2,13 @@
+Tue Feb 21 14:06:42 UTC 2017 - jmatejek(a)suse.com
+
+- update for singlespec
+- test requirements are now conditional --with=test, to shorten build loop
+ for new submission
+ (this will be reverted soon)
+- update to 3.6.1
+ * better thread safety
+ * support for --hypothesis-show-statistics in pytest
+ * better python 3.4 support
+ * renamed fake-factory dependency to Faker
+
+-------------------------------------------------------------------
Old:
----
hypothesis-3.1.3.tar.gz
New:
----
hypothesis-3.6.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-hypothesis.spec ++++++
--- /var/tmp/diff_new_pack.bgz8IS/_old 2017-02-27 18:35:22.891416878 +0100
+++ /var/tmp/diff_new_pack.bgz8IS/_new 2017-02-27 18:35:22.895416313 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-hypothesis
#
-# 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,34 +16,39 @@
#
+%bcond_with test
+
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define oldpython python
Name: python-hypothesis
-Version: 3.1.3
+Version: 3.6.1
Release: 0
Summary: A library for property based testing
License: MPL-2.0
Group: Development/Languages/Python
Url: https://github.com/DRMacIver/hypothesis
Source: https://files.pythonhosted.org/packages/source/h/hypothesis/hypothesis-%{ve…
-BuildRequires: python-devel
-BuildRequires: python-setuptools
-BuildRequires: python-Django >= 1.7
+BuildRequires: %{python_module setuptools}
BuildRequires: python-enum34
-BuildRequires: python-fake-factory >= 0.5.2
-BuildRequires: python-numpy >= 1.9.0
-BuildRequires: python-pytest >= 2.7.0
-BuildRequires: python-pytz
-Requires: python-enum34
+BuildRequires: python-rpm-macros
+%if %{with test}
+BuildRequires: %{python_module Django >= 1.7}
+BuildRequires: %{python_module Faker >= 0.7.0}
+BuildRequires: %{python_module numpy >= 1.9.0}
+BuildRequires: %{python_module pytest >= 2.7.0}
+BuildRequires: %{python_module pytz}
+%endif
+%ifpython2
+Requires: %{oldpython}-enum34
+%endif
Recommends: python-Django >= 1.7
-Recommends: python-fake-factory >= 0.5.2
+Recommends: python-Faker >= 0.7.0
Recommends: python-numpy >= 1.9.0
Recommends: python-pytest >= 2.7.0
Recommends: python-pytz
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
Hypothesis is a library for testing your Python code against a much larger range
@@ -64,15 +69,17 @@
%setup -q -n hypothesis-%{version}
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
+%if %{with test}
%check
-python setup.py test
+%python_exec setup.py test
+%endif
-%files
+%files %{python_files}
%defattr(-,root,root,-)
%doc README.rst
%{python_sitelib}/*
++++++ hypothesis-3.1.3.tar.gz -> hypothesis-3.6.1.tar.gz ++++++
++++ 3324 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-pytest for openSUSE:Factory checked in at 2017-02-27 18:33:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest (Old)
and /work/SRC/openSUSE:Factory/.python-pytest.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytest/python-pytest-doc.changes 2016-09-20 13:23:41.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-pytest.new/python-pytest-doc.changes 2017-02-27 18:34:01.422927782 +0100
@@ -1,0 +2,8 @@
+Thu Feb 23 14:40:25 UTC 2017 - jmatejek(a)suse.com
+
+- update for singlespec
+- update to 3.0.6
+ * fixed tests in python 3.6
+- only use Python 3 to build docs
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/python-pytest/python-pytest.changes 2016-09-20 13:23:41.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-pytest.new/python-pytest.changes 2017-02-27 18:34:01.662893876 +0100
@@ -1,0 +2,10 @@
+Mon Feb 20 14:05:32 UTC 2017 - jmatejek(a)suse.com
+
+- update for singlespec
+- update to 3.0.6
+ * the ids argument to parametrize again accepts unicode in python2
+ * import errors for plugins now display full traceback
+ * no longer recognizes coroutine functions as yield tests
+ * see more in changelog
+
+-------------------------------------------------------------------
Old:
----
pytest-3.0.2.tar.gz
New:
----
pytest-3.0.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytest-doc.spec ++++++
--- /var/tmp/diff_new_pack.aAORir/_old 2017-02-27 18:34:02.218815327 +0100
+++ /var/tmp/diff_new_pack.aAORir/_new 2017-02-27 18:34:02.218815327 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-pytest-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,24 +16,25 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pytest-doc
-Version: 3.0.2
+Version: 3.0.6
Release: 0
Summary: Simple powerful testing with Python
License: MIT
Group: Development/Languages/Python
Url: http://pytest.org
Source: https://files.pythonhosted.org/packages/source/p/pytest/pytest-%{version}.t…
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: python-Sphinx
-BuildRequires: python-py >= 1.4.22
+BuildRequires: python3-Sphinx
# Test requirements:
-BuildRequires: python-mock
-BuildRequires: python-hypothesis
-BuildRequires: python-PyYAML
-%if 0%{?suse_version} && 0%{?suse_version} > 1110
+BuildRequires: %{python_module PyYAML}
+BuildRequires: %{python_module hypothesis}
+BuildRequires: %{python_module mock}
+BuildRequires: %{python_module py >= 1.4.29}
+BuildRequires: python-rpm-macros
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
-%endif
+Provides: %{python_module pytest-doc = %{version}}
%description
pytest helps you write better programs. It is a a mature full-featured,
@@ -51,19 +52,18 @@
This package contains the documentation for pytest
-
%prep
%setup -q -n pytest-%{version}
%build
-python setup.py build_sphinx
+python3 setup.py build_sphinx
rm doc/build/html/.buildinfo
%install
# Only building documentation
%check
-python setup.py test
+%python_exec setup.py test
%files
%defattr(-,root,root,-)
++++++ python-pytest.spec ++++++
--- /var/tmp/diff_new_pack.aAORir/_old 2017-02-27 18:34:02.258809676 +0100
+++ /var/tmp/diff_new_pack.aAORir/_new 2017-02-27 18:34:02.262809111 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-pytest
#
-# 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
@@ -15,8 +15,10 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pytest
-Version: 3.0.2
+Version: 3.0.6
Release: 0
Summary: Simple powerful testing with Python
License: MIT
@@ -24,22 +26,19 @@
Url: http://pytest.org
Source: https://files.pythonhosted.org/packages/source/p/pytest/pytest-%{version}.t…
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: unzip
-BuildRequires: python-devel
-BuildRequires: python-py >= 1.4.25
-BuildRequires: python-setuptools
-BuildRequires: python-xml
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module py >= 1.4.29}
+BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module xml}
+BuildRequires: python-rpm-macros
Requires: python-py >= 1.4.29
Requires(post): update-alternatives
Requires(preun): update-alternatives
#/usr/bin/py.test imports pkg_resources
Requires: python-setuptools
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-Requires: python-argparse
-%{!?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
pytest helps you write better programs. It is a a mature full-featured,
@@ -60,37 +59,34 @@
%setup -q -n pytest-%{version}
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+# for some reason we need something after python_expand in order to correctly eat multilines
+%{python_expand %$python_install
+mv %{buildroot}%{_bindir}/py.test{,-%$python_bin_suffix}
+mv %{buildroot}%{_bindir}/pytest{,-%$python_bin_suffix}
+}
+%prepare_alternative py.test
+%prepare_alternative pytest
-# Prepare for update-alternatives usage
-mkdir -p %{buildroot}%{_sysconfdir}/alternatives
-for p in py.test pytest ; do
- mv %{buildroot}%{_bindir}/$p %{buildroot}%{_bindir}/$p-%{py_ver}
- ln -s -f %{_sysconfdir}/alternatives/$p %{buildroot}%{_bindir}/$p
-done
+ln -s py.test-%python2_bin_suffix %{buildroot}%{_bindir}/py.test2
+ln -s py.test-%python3_bin_suffix %{buildroot}%{_bindir}/py.test3
%post
-update-alternatives \
- --install %{_bindir}/py.test py.test %{_bindir}/py.test-%{py_ver} 20 \
- --slave %{_bindir}/pytest pytest %{_bindir}/pytest-%{py_ver}
+%{python_install_alternative py.test} \
+ --slave %{_bindir}/pytest pytest %{_bindir}/pytest-%{python_version}
%preun
-if [ $1 -eq 0 ] ; then
- update-alternatives --remove py.test %{_bindir}/py.test-%{py_ver}
-fi
+%python_uninstall_alternative py.test
-%files
+%files %{python_files}
%defattr(-,root,root,-)
%doc AUTHORS LICENSE README.rst
-%{_bindir}/py.test
-%{_bindir}/pytest
-%{_bindir}/py.test-%{py_ver}
-%{_bindir}/pytest-%{py_ver}
-%ghost %{_sysconfdir}/alternatives/py.test
-%ghost %{_sysconfdir}/alternatives/pytest
+%python_alternative %{_bindir}/py.test
+%python_alternative %{_bindir}/pytest
+%python2_only %{_bindir}/py.test2
+%python3_only %{_bindir}/py.test3
%{python_sitelib}/*
%changelog
++++++ pytest-3.0.2.tar.gz -> pytest-3.0.6.tar.gz ++++++
++++ 9576 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-py for openSUSE:Factory checked in at 2017-02-27 18:32:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-py (Old)
and /work/SRC/openSUSE:Factory/.python-py.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-py"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-py/python-py-doc.changes 2016-09-11 00:51:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-py.new/python-py-doc.changes 2017-02-27 18:32:03.131640939 +0100
@@ -1,0 +2,7 @@
+Thu Feb 23 14:58:09 UTC 2017 - jmatejek(a)suse.com
+
+- update to 1.4.32
+- use only python3-Sphinx to build docs
+- provide $flavor-doc for all pythons
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/python-py/python-py.changes 2016-09-11 00:51:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-py.new/python-py.changes 2017-02-27 18:32:03.247624598 +0100
@@ -1,0 +2,18 @@
+Thu Feb 23 14:56:48 UTC 2017 - jmatejek(a)suse.com
+
+- update to 1.4.32
+ - fix issue70: added ability to copy all stat info in py.path.local.copy.
+ - make TerminalWriter.fullwidth a property. This results in the correct
+ value when the terminal gets resized.
+ - update supported html tags to include recent additions.
+ Thanks Denis Afonso for the PR.
+ - Remove internal code in ``Source.compile`` meant to support earlier Python 3 versions that produced the side effect
+ of leaving ``None`` in ``sys.modules`` when called (see pytest-dev/pytest#2103).
+ Thanks Bruno Oliveira for the PR.
+
+-------------------------------------------------------------------
+Wed Oct 5 14:47:53 UTC 2016 - jmatejek(a)suse.com
+
+- update for singlespec
+
+-------------------------------------------------------------------
Old:
----
py-1.4.31.tar.gz
New:
----
py-1.4.32.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-py-doc.spec ++++++
--- /var/tmp/diff_new_pack.w0u1pq/_old 2017-02-27 18:32:03.739555287 +0100
+++ /var/tmp/diff_new_pack.w0u1pq/_new 2017-02-27 18:32:03.739555287 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-py-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,8 +16,9 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-py-doc
-Version: 1.4.31
+Version: 1.4.32
Release: 0
Summary: Library with cross-python path, ini-parsing, io, code, log facilities
License: MIT
@@ -25,13 +26,10 @@
Url: http://pylib.org
Source: https://pypi.io/packages/source/p/py/py-%{version}.tar.gz
# Documentation requirements:
-BuildRequires: python-Sphinx
+BuildRequires: python3-Sphinx
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 py-doc = %{version}}
%description
The py lib is a Python development support library featuring
++++++ python-py.spec ++++++
--- /var/tmp/diff_new_pack.w0u1pq/_old 2017-02-27 18:32:03.767551343 +0100
+++ /var/tmp/diff_new_pack.w0u1pq/_new 2017-02-27 18:32:03.771550779 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-py
#
-# 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,22 +16,22 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-py
-Version: 1.4.31
+Version: 1.4.32
Release: 0
Summary: Library with cross-python path, ini-parsing, io, code, log facilities
License: MIT
Group: Development/Languages/Python
Url: https://pylib.readthedocs.io
Source: https://pypi.io/packages/source/p/py/py-%{version}.tar.gz
-BuildRequires: python-devel
-BuildRequires: python-setuptools
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
+BuildRequires: python-rpm-macros
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
The py lib is a Python development support library featuring
@@ -43,18 +43,19 @@
* py.code: dynamic code generation and introspection
* py.path: uniform local and svn path objects
+
%prep
%setup -q -n py-%{version}
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
-%files
+%files %{python_files}
%defattr(-,root,root,-)
-%doc LICENSE README.txt
+%doc LICENSE README.rst
%{python_sitelib}/*
%changelog
++++++ py-1.4.31.tar.gz -> py-1.4.32.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/CHANGELOG new/py-1.4.32/CHANGELOG
--- old/py-1.4.31/CHANGELOG 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/CHANGELOG 2016-12-16 16:33:43.000000000 +0100
@@ -1,3 +1,19 @@
+
+1.4.32
+====================================================================
+
+- fix issue70: added ability to copy all stat info in py.path.local.copy.
+
+- make TerminalWriter.fullwidth a property. This results in the correct
+ value when the terminal gets resized.
+
+- update supported html tags to include recent additions.
+ Thanks Denis Afonso for the PR.
+
+- Remove internal code in ``Source.compile`` meant to support earlier Python 3 versions that produced the side effect
+ of leaving ``None`` in ``sys.modules`` when called (see pytest-dev/pytest#2103).
+ Thanks Bruno Oliveira for the PR.
+
1.4.31
==================================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/PKG-INFO new/py-1.4.32/PKG-INFO
--- old/py-1.4.31/PKG-INFO 2015-11-27 21:48:12.000000000 +0100
+++ new/py-1.4.32/PKG-INFO 2016-12-16 17:05:32.000000000 +0100
@@ -1,32 +1,32 @@
Metadata-Version: 1.1
Name: py
-Version: 1.4.31
+Version: 1.4.32
Summary: library with cross-python path, ini-parsing, io, code, log facilities
Home-page: http://pylib.readthedocs.org/
Author: holger krekel, Ronny Pfannschmidt, Benjamin Peterson and others
Author-email: pytest-dev(a)python.org
License: MIT license
-Description: .. image:: https://drone.io/bitbucket.org/pytest-dev/py/status.png
- :target: https://drone.io/bitbucket.org/pytest-dev/py/latest
- .. image:: https://pypip.in/v/py/badge.png
- :target: https://pypi.python.org/pypi/py
-
- The py lib is a Python development support library featuring
- the following tools and modules:
-
- * py.path: uniform local and svn path objects
- * py.apipkg: explicit API control and lazy-importing
- * py.iniconfig: easy parsing of .ini files
- * py.code: dynamic code generation and introspection
-
- NOTE: prior to the 1.4 release this distribution used to
- contain py.test which is now its own package, see http://pytest.org
-
- For questions and more information please visit http://pylib.readthedocs.org
-
- Bugs and issues: http://bitbucket.org/pytest-dev/py/issues/
-
- Authors: Holger Krekel and others, 2004-2015
+Description: .. image:: https://img.shields.io/pypi/pyversions/pytest.svg
+ :target: https://pypi.org/project/py
+ .. image:: https://img.shields.io/travis/pytest-dev/py.svg
+ :target: https://travis-ci.org/pytest-dev/py
+
+ The py lib is a Python development support library featuring
+ the following tools and modules:
+
+ * ``py.path``: uniform local and svn path objects
+ * ``py.apipkg``: explicit API control and lazy-importing
+ * ``py.iniconfig``: easy parsing of .ini files
+ * ``py.code``: dynamic code generation and introspection
+
+ NOTE: prior to the 1.4 release this distribution used to
+ contain py.test which is now its own package, see http://pytest.org
+
+ For questions and more information please visit http://pylib.readthedocs.org
+
+ Bugs and issues: https://github.com/pytest-dev/py
+
+ Authors: Holger Krekel and others, 2004-2016
Platform: unix
Platform: linux
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/README.rst new/py-1.4.32/README.rst
--- old/py-1.4.31/README.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/py-1.4.32/README.rst 2016-12-16 16:32:49.000000000 +0100
@@ -0,0 +1,21 @@
+.. image:: https://img.shields.io/pypi/pyversions/pytest.svg
+ :target: https://pypi.org/project/py
+.. image:: https://img.shields.io/travis/pytest-dev/py.svg
+ :target: https://travis-ci.org/pytest-dev/py
+
+The py lib is a Python development support library featuring
+the following tools and modules:
+
+* ``py.path``: uniform local and svn path objects
+* ``py.apipkg``: explicit API control and lazy-importing
+* ``py.iniconfig``: easy parsing of .ini files
+* ``py.code``: dynamic code generation and introspection
+
+NOTE: prior to the 1.4 release this distribution used to
+contain py.test which is now its own package, see http://pytest.org
+
+For questions and more information please visit http://pylib.readthedocs.org
+
+Bugs and issues: https://github.com/pytest-dev/py
+
+Authors: Holger Krekel and others, 2004-2016
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/README.txt new/py-1.4.32/README.txt
--- old/py-1.4.31/README.txt 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/README.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-.. image:: https://drone.io/bitbucket.org/pytest-dev/py/status.png
- :target: https://drone.io/bitbucket.org/pytest-dev/py/latest
-.. image:: https://pypip.in/v/py/badge.png
- :target: https://pypi.python.org/pypi/py
-
-The py lib is a Python development support library featuring
-the following tools and modules:
-
-* py.path: uniform local and svn path objects
-* py.apipkg: explicit API control and lazy-importing
-* py.iniconfig: easy parsing of .ini files
-* py.code: dynamic code generation and introspection
-
-NOTE: prior to the 1.4 release this distribution used to
-contain py.test which is now its own package, see http://pytest.org
-
-For questions and more information please visit http://pylib.readthedocs.org
-
-Bugs and issues: http://bitbucket.org/pytest-dev/py/issues/
-
-Authors: Holger Krekel and others, 2004-2015
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/py/__init__.py new/py-1.4.32/py/__init__.py
--- old/py-1.4.31/py/__init__.py 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/py/__init__.py 2016-12-16 16:37:11.000000000 +0100
@@ -8,7 +8,7 @@
(c) Holger Krekel and others, 2004-2014
"""
-__version__ = '1.4.31'
+__version__ = '1.4.32'
from py import _apipkg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/py/_code/source.py new/py-1.4.32/py/_code/source.py
--- old/py-1.4.31/py/_code/source.py 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/py/_code/source.py 2016-12-16 16:32:49.000000000 +0100
@@ -193,14 +193,6 @@
if flag & _AST_FLAG:
return co
lines = [(x + "\n") for x in self.lines]
- if sys.version_info[0] >= 3:
- # XXX py3's inspect.getsourcefile() checks for a module
- # and a pep302 __loader__ ... we don't have a module
- # at code compile-time so we need to fake it here
- m = ModuleType("_pycodecompile_pseudo_module")
- py.std.inspect.modulesbyfile[filename] = None
- py.std.sys.modules[None] = m
- m.__loader__ = 1
py.std.linecache.cache[filename] = (1, None, lines, filename)
return co
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/py/_error.py new/py-1.4.32/py/_error.py
--- old/py-1.4.31/py/_error.py 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/py/_error.py 2016-09-17 09:18:18.000000000 +0200
@@ -23,6 +23,7 @@
2: errno.ENOENT,
3: errno.ENOENT,
17: errno.EEXIST,
+ 18: errno.EXDEV,
13: errno.EBUSY, # empty cd drive, but ENOMEDIUM seems unavailiable
22: errno.ENOTDIR,
20: errno.ENOTDIR,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/py/_io/terminalwriter.py new/py-1.4.32/py/_io/terminalwriter.py
--- old/py-1.4.31/py/_io/terminalwriter.py 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/py/_io/terminalwriter.py 2016-12-16 16:32:49.000000000 +0100
@@ -137,10 +137,19 @@
file = colorama.AnsiToWin32(file).stream
self.encoding = encoding or getattr(file, 'encoding', "utf-8")
self._file = file
- self.fullwidth = get_terminal_width()
self.hasmarkup = should_do_markup(file)
self._lastlen = 0
+ @property
+ def fullwidth(self):
+ if hasattr(self, '_terminal_width'):
+ return self._terminal_width
+ return get_terminal_width()
+
+ @fullwidth.setter
+ def fullwidth(self, value):
+ self._terminal_width = value
+
def _escaped(self, text, esc):
if esc and self.hasmarkup:
text = (''.join(['\x1b[%sm' % cod for cod in esc]) +
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/py/_path/common.py new/py-1.4.32/py/_path/common.py
--- old/py-1.4.31/py/_path/common.py 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/py/_path/common.py 2016-12-16 16:32:49.000000000 +0100
@@ -6,6 +6,40 @@
# Moved from local.py.
iswin32 = sys.platform == "win32" or (getattr(os, '_name', False) == 'nt')
+try:
+ from os import fspath
+except ImportError:
+ def fspath(path):
+ """
+ Return the string representation of the path.
+ If str or bytes is passed in, it is returned unchanged.
+ This code comes from PEP 519, modified to support earlier versions of
+ python.
+
+ This is required for python < 3.6.
+ """
+ if isinstance(path, (py.builtin.text, py.builtin.bytes)):
+ return path
+
+ # Work from the object's type to match method resolution of other magic
+ # methods.
+ path_type = type(path)
+ try:
+ return path_type.__fspath__(path)
+ except AttributeError:
+ if hasattr(path_type, '__fspath__'):
+ raise
+ try:
+ import pathlib
+ except ImportError:
+ pass
+ else:
+ if isinstance(path, pathlib.PurePath):
+ return py.builtin.text(path)
+
+ raise TypeError("expected str, bytes or os.PathLike object, not "
+ + path_type.__name__)
+
class Checkers:
_depend_on_existence = 'exists', 'link', 'dir', 'file'
@@ -89,7 +123,7 @@
Checkers = Checkers
def __div__(self, other):
- return self.join(str(other))
+ return self.join(fspath(other))
__truediv__ = __div__ # py3k
def basename(self):
@@ -343,11 +377,14 @@
""" return True if other refers to the same stat object as self. """
return self.strpath == str(other)
+ def __fspath__(self):
+ return str(self)
+
class Visitor:
def __init__(self, fil, rec, ignore, bf, sort):
- if isinstance(fil, str):
+ if isinstance(fil, py.builtin._basestring):
fil = FNMatcher(fil)
- if isinstance(rec, str):
+ if isinstance(rec, py.builtin._basestring):
self.rec = FNMatcher(rec)
elif not hasattr(rec, '__call__') and rec:
self.rec = lambda path: True
@@ -400,4 +437,3 @@
if not os.path.isabs(pattern):
pattern = '*' + path.sep + pattern
return py.std.fnmatch.fnmatch(name, pattern)
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/py/_path/local.py new/py-1.4.32/py/_path/local.py
--- old/py-1.4.31/py/_path/local.py 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/py/_path/local.py 2016-09-17 09:18:18.000000000 +0200
@@ -7,7 +7,7 @@
import sys, os, re, atexit, io
import py
from py._path import common
-from py._path.common import iswin32
+from py._path.common import iswin32, fspath
from stat import S_ISLNK, S_ISDIR, S_ISREG
from os.path import abspath, normpath, isabs, exists, isdir, isfile, islink, dirname
@@ -147,22 +147,25 @@
"""
if path is None:
self.strpath = py.error.checked_call(os.getcwd)
- elif isinstance(path, common.PathBase):
- self.strpath = path.strpath
- elif isinstance(path, py.builtin._basestring):
+ else:
+ try:
+ path = fspath(path)
+ except TypeError:
+ raise ValueError("can only pass None, Path instances "
+ "or non-empty strings to LocalPath")
if expanduser:
path = os.path.expanduser(path)
self.strpath = abspath(path)
- else:
- raise ValueError("can only pass None, Path instances "
- "or non-empty strings to LocalPath")
def __hash__(self):
return hash(self.strpath)
def __eq__(self, other):
- s1 = self.strpath
- s2 = getattr(other, "strpath", other)
+ s1 = fspath(self)
+ try:
+ s2 = fspath(other)
+ except TypeError:
+ return False
if iswin32:
s1 = s1.lower()
try:
@@ -175,15 +178,15 @@
return not (self == other)
def __lt__(self, other):
- return self.strpath < getattr(other, "strpath", other)
+ return fspath(self) < fspath(other)
def __gt__(self, other):
- return self.strpath > getattr(other, "strpath", other)
+ return fspath(self) > fspath(other)
def samefile(self, other):
""" return True if 'other' references the same file as 'self'.
"""
- other = getattr(other, "strpath", other)
+ other = fspath(other)
if not isabs(other):
other = abspath(other)
if self == other:
@@ -320,7 +323,7 @@
of the args is an absolute path.
"""
sep = self.sep
- strargs = [getattr(arg, "strpath", arg) for arg in args]
+ strargs = [fspath(arg) for arg in args]
strpath = self.strpath
if kwargs.get('abs'):
newargs = []
@@ -402,8 +405,13 @@
""" return last modification time of the path. """
return self.stat().mtime
- def copy(self, target, mode=False):
- """ copy path to target."""
+ def copy(self, target, mode=False, stat=False):
+ """ copy path to target.
+
+ If mode is True, will copy copy permission from path to target.
+ If stat is True, copy permission, last modification
+ time, last access time, and flags from path to target.
+ """
if self.check(file=1):
if target.check(dir=1):
target = target.join(self.basename)
@@ -411,6 +419,8 @@
copychunked(self, target)
if mode:
copymode(self.strpath, target.strpath)
+ if stat:
+ copystat(self, target)
else:
def rec(p):
return p.check(link=0)
@@ -427,10 +437,12 @@
newx.ensure(dir=1)
if mode:
copymode(x.strpath, newx.strpath)
+ if stat:
+ copystat(x, newx)
def rename(self, target):
""" rename this path to target. """
- target = getattr(target, "strpath", target)
+ target = fspath(target)
return py.error.checked_call(os.rename, self.strpath, target)
def dump(self, obj, bin=1):
@@ -444,7 +456,7 @@
def mkdir(self, *args):
""" create & return the directory joined with args. """
p = self.join(*args)
- py.error.checked_call(os.mkdir, getattr(p, "strpath", p))
+ py.error.checked_call(os.mkdir, fspath(p))
return p
def write_binary(self, data, ensure=False):
@@ -887,8 +899,13 @@
make_numbered_dir = classmethod(make_numbered_dir)
def copymode(src, dest):
+ """ copy permission from src to dst. """
py.std.shutil.copymode(src, dest)
+def copystat(src, dest):
+ """ copy permission, last modification time, last access time, and flags from src to dst."""
+ py.std.shutil.copystat(str(src), str(dest))
+
def copychunked(src, dest):
chunksize = 524288 # half a meg of bytes
fsrc = src.open('rb')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/py/_xmlgen.py new/py-1.4.32/py/_xmlgen.py
--- old/py-1.4.31/py/_xmlgen.py 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/py/_xmlgen.py 2016-12-16 16:32:49.000000000 +0100
@@ -74,16 +74,18 @@
__tagclass__ = HtmlTag
__stickyname__ = True
__tagspec__ = dict([(x,1) for x in (
- 'a,abbr,acronym,address,applet,area,b,bdo,big,blink,'
- 'blockquote,body,br,button,caption,center,cite,code,col,'
- 'colgroup,comment,dd,del,dfn,dir,div,dl,dt,em,embed,'
- 'fieldset,font,form,frameset,h1,h2,h3,h4,h5,h6,head,html,'
- 'i,iframe,img,input,ins,kbd,label,legend,li,link,listing,'
- 'map,marquee,menu,meta,multicol,nobr,noembed,noframes,'
- 'noscript,object,ol,optgroup,option,p,pre,q,s,script,'
- 'select,small,span,strike,strong,style,sub,sup,table,'
- 'tbody,td,textarea,tfoot,th,thead,title,tr,tt,u,ul,xmp,'
- 'base,basefont,frame,hr,isindex,param,samp,var'
+ 'a,abbr,acronym,address,applet,area,article,aside,audio,b,'
+ 'base,basefont,bdi,bdo,big,blink,blockquote,body,br,button,'
+ 'canvas,caption,center,cite,code,col,colgroup,command,comment,'
+ 'datalist,dd,del,details,dfn,dir,div,dl,dt,em,embed,'
+ 'fieldset,figcaption,figure,footer,font,form,frame,frameset,h1,'
+ 'h2,h3,h4,h5,h6,head,header,hgroup,hr,html,i,iframe,img,input,'
+ 'ins,isindex,kbd,keygen,label,legend,li,link,listing,map,mark,'
+ 'marquee,menu,meta,meter,multicol,nav,nobr,noembed,noframes,'
+ 'noscript,object,ol,optgroup,option,output,p,param,pre,progress,'
+ 'q,rp,rt,ruby,s,samp,script,section,select,small,source,span,'
+ 'strike,strong,style,sub,summary,sup,table,tbody,td,textarea,'
+ 'tfoot,th,thead,time,title,tr,track,tt,u,ul,xmp,var,video,wbr'
).split(',') if x])
class Style(object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/py.egg-info/PKG-INFO new/py-1.4.32/py.egg-info/PKG-INFO
--- old/py-1.4.31/py.egg-info/PKG-INFO 2015-11-27 21:48:12.000000000 +0100
+++ new/py-1.4.32/py.egg-info/PKG-INFO 2016-12-16 17:05:32.000000000 +0100
@@ -1,32 +1,32 @@
Metadata-Version: 1.1
Name: py
-Version: 1.4.31
+Version: 1.4.32
Summary: library with cross-python path, ini-parsing, io, code, log facilities
Home-page: http://pylib.readthedocs.org/
Author: holger krekel, Ronny Pfannschmidt, Benjamin Peterson and others
Author-email: pytest-dev(a)python.org
License: MIT license
-Description: .. image:: https://drone.io/bitbucket.org/pytest-dev/py/status.png
- :target: https://drone.io/bitbucket.org/pytest-dev/py/latest
- .. image:: https://pypip.in/v/py/badge.png
- :target: https://pypi.python.org/pypi/py
-
- The py lib is a Python development support library featuring
- the following tools and modules:
-
- * py.path: uniform local and svn path objects
- * py.apipkg: explicit API control and lazy-importing
- * py.iniconfig: easy parsing of .ini files
- * py.code: dynamic code generation and introspection
-
- NOTE: prior to the 1.4 release this distribution used to
- contain py.test which is now its own package, see http://pytest.org
-
- For questions and more information please visit http://pylib.readthedocs.org
-
- Bugs and issues: http://bitbucket.org/pytest-dev/py/issues/
-
- Authors: Holger Krekel and others, 2004-2015
+Description: .. image:: https://img.shields.io/pypi/pyversions/pytest.svg
+ :target: https://pypi.org/project/py
+ .. image:: https://img.shields.io/travis/pytest-dev/py.svg
+ :target: https://travis-ci.org/pytest-dev/py
+
+ The py lib is a Python development support library featuring
+ the following tools and modules:
+
+ * ``py.path``: uniform local and svn path objects
+ * ``py.apipkg``: explicit API control and lazy-importing
+ * ``py.iniconfig``: easy parsing of .ini files
+ * ``py.code``: dynamic code generation and introspection
+
+ NOTE: prior to the 1.4 release this distribution used to
+ contain py.test which is now its own package, see http://pytest.org
+
+ For questions and more information please visit http://pylib.readthedocs.org
+
+ Bugs and issues: https://github.com/pytest-dev/py
+
+ Authors: Holger Krekel and others, 2004-2016
Platform: unix
Platform: linux
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/py.egg-info/SOURCES.txt new/py-1.4.32/py.egg-info/SOURCES.txt
--- old/py-1.4.31/py.egg-info/SOURCES.txt 2015-11-27 21:48:12.000000000 +0100
+++ new/py-1.4.32/py.egg-info/SOURCES.txt 2016-12-16 17:05:32.000000000 +0100
@@ -2,7 +2,7 @@
CHANGELOG
LICENSE
MANIFEST.in
-README.txt
+README.rst
conftest.py
setup.cfg
setup.py
@@ -83,34 +83,106 @@
py/_process/forkedfunc.py
py/_process/killproc.py
testing/conftest.py
+testing/conftest.pyc
testing/test_iniconfig.py
+testing/__pycache__/conftest.cpython-27-PYTEST.pyc
+testing/__pycache__/conftest.cpython-35-PYTEST.pyc
+testing/__pycache__/conftest.cpython-35.pyc
+testing/__pycache__/test_iniconfig.cpython-27-PYTEST.pyc
+testing/__pycache__/test_iniconfig.cpython-35-PYTEST.pyc
testing/code/test_assertion.py
testing/code/test_code.py
testing/code/test_excinfo.py
testing/code/test_source.py
+testing/code/__pycache__/test_assertion.cpython-27-PYTEST.pyc
+testing/code/__pycache__/test_assertion.cpython-35-PYTEST.pyc
+testing/code/__pycache__/test_code.cpython-27-PYTEST.pyc
+testing/code/__pycache__/test_code.cpython-35-PYTEST.pyc
+testing/code/__pycache__/test_excinfo.cpython-27-PYTEST.pyc
+testing/code/__pycache__/test_excinfo.cpython-35-PYTEST.pyc
+testing/code/__pycache__/test_source.cpython-27-PYTEST.pyc
+testing/code/__pycache__/test_source.cpython-35-PYTEST.pyc
testing/io_/__init__.py
+testing/io_/__init__.pyc
testing/io_/test_capture.py
testing/io_/test_saferepr.py
testing/io_/test_terminalwriter.py
+testing/io_/__pycache__/__init__.cpython-35.pyc
+testing/io_/__pycache__/test_capture.cpython-27-PYTEST.pyc
+testing/io_/__pycache__/test_capture.cpython-35-PYTEST.pyc
+testing/io_/__pycache__/test_saferepr.cpython-27-PYTEST.pyc
+testing/io_/__pycache__/test_saferepr.cpython-35-PYTEST.pyc
+testing/io_/__pycache__/test_terminalwriter.cpython-27-PYTEST.pyc
+testing/io_/__pycache__/test_terminalwriter.cpython-35-PYTEST.pyc
testing/log/__init__.py
+testing/log/__init__.pyc
testing/log/test_log.py
testing/log/test_warning.py
+testing/log/__pycache__/__init__.cpython-35.pyc
+testing/log/__pycache__/test_log.cpython-27-PYTEST.pyc
+testing/log/__pycache__/test_log.cpython-35-PYTEST.pyc
+testing/log/__pycache__/test_warning.cpython-27-PYTEST.pyc
+testing/log/__pycache__/test_warning.cpython-35-PYTEST.pyc
+testing/path/__init__.pyc
testing/path/common.py
+testing/path/common.pyc
testing/path/conftest.py
+testing/path/conftest.pyc
testing/path/repotest.dump
testing/path/svntestbase.py
+testing/path/svntestbase.pyc
testing/path/test_cacheutil.py
testing/path/test_local.py
testing/path/test_svnauth.py
testing/path/test_svnurl.py
testing/path/test_svnwc.py
+testing/path/__pycache__/__init__.cpython-35.pyc
+testing/path/__pycache__/common.cpython-27-PYTEST.pyc
+testing/path/__pycache__/common.cpython-35-PYTEST.pyc
+testing/path/__pycache__/common.cpython-35.pyc
+testing/path/__pycache__/conftest.cpython-27-PYTEST.pyc
+testing/path/__pycache__/conftest.cpython-35-PYTEST.pyc
+testing/path/__pycache__/conftest.cpython-35.pyc
+testing/path/__pycache__/svntestbase.cpython-27-PYTEST.pyc
+testing/path/__pycache__/svntestbase.cpython-35-PYTEST.pyc
+testing/path/__pycache__/svntestbase.cpython-35.pyc
+testing/path/__pycache__/test_cacheutil.cpython-27-PYTEST.pyc
+testing/path/__pycache__/test_cacheutil.cpython-35-PYTEST.pyc
+testing/path/__pycache__/test_local.cpython-27-PYTEST.pyc
+testing/path/__pycache__/test_local.cpython-35-PYTEST.pyc
+testing/path/__pycache__/test_svnauth.cpython-27-PYTEST.pyc
+testing/path/__pycache__/test_svnauth.cpython-35-PYTEST.pyc
+testing/path/__pycache__/test_svnurl.cpython-27-PYTEST.pyc
+testing/path/__pycache__/test_svnurl.cpython-35-PYTEST.pyc
+testing/path/__pycache__/test_svnwc.cpython-27-PYTEST.pyc
+testing/path/__pycache__/test_svnwc.cpython-35-PYTEST.pyc
testing/process/__init__.py
+testing/process/__init__.pyc
testing/process/test_cmdexec.py
testing/process/test_forkedfunc.py
testing/process/test_killproc.py
+testing/process/__pycache__/__init__.cpython-35.pyc
+testing/process/__pycache__/test_cmdexec.cpython-27-PYTEST.pyc
+testing/process/__pycache__/test_cmdexec.cpython-35-PYTEST.pyc
+testing/process/__pycache__/test_forkedfunc.cpython-27-PYTEST.pyc
+testing/process/__pycache__/test_forkedfunc.cpython-35-PYTEST.pyc
+testing/process/__pycache__/test_killproc.cpython-27-PYTEST.pyc
+testing/process/__pycache__/test_killproc.cpython-35-PYTEST.pyc
testing/root/__init__.py
+testing/root/__init__.pyc
testing/root/test_builtin.py
testing/root/test_error.py
testing/root/test_py_imports.py
testing/root/test_std.py
-testing/root/test_xmlgen.py
\ No newline at end of file
+testing/root/test_xmlgen.py
+testing/root/__pycache__/__init__.cpython-35.pyc
+testing/root/__pycache__/test_builtin.cpython-27-PYTEST.pyc
+testing/root/__pycache__/test_builtin.cpython-35-PYTEST.pyc
+testing/root/__pycache__/test_error.cpython-27-PYTEST.pyc
+testing/root/__pycache__/test_error.cpython-35-PYTEST.pyc
+testing/root/__pycache__/test_py_imports.cpython-27-PYTEST.pyc
+testing/root/__pycache__/test_py_imports.cpython-35-PYTEST.pyc
+testing/root/__pycache__/test_std.cpython-27-PYTEST.pyc
+testing/root/__pycache__/test_std.cpython-35-PYTEST.pyc
+testing/root/__pycache__/test_xmlgen.cpython-27-PYTEST.pyc
+testing/root/__pycache__/test_xmlgen.cpython-35-PYTEST.pyc
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/setup.py new/py-1.4.32/setup.py
--- old/py-1.4.31/setup.py 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/setup.py 2016-12-16 17:00:32.000000000 +0100
@@ -1,13 +1,25 @@
-import os, sys
+import os
+import sys
from setuptools import setup
+
+def get_version():
+ p = os.path.join(os.path.dirname(
+ os.path.abspath(__file__)), "py", "__init__.py")
+ with open(p) as f:
+ for line in f.readlines():
+ if "__version__" in line:
+ return line.strip().split("=")[-1].strip(" '")
+ raise ValueError("could not read version")
+
+
def main():
setup(
name='py',
description='library with cross-python path, ini-parsing, io, code, log facilities',
- long_description = open('README.txt').read(),
- version='1.4.31',
+ long_description=open('README.rst').read(),
+ version=get_version(),
url='http://pylib.readthedocs.org/',
license='MIT license',
platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],
Binary files old/py-1.4.31/testing/__pycache__/conftest.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/__pycache__/conftest.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/__pycache__/conftest.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/__pycache__/conftest.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/__pycache__/conftest.cpython-35.pyc and new/py-1.4.32/testing/__pycache__/conftest.cpython-35.pyc differ
Binary files old/py-1.4.31/testing/__pycache__/test_iniconfig.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/__pycache__/test_iniconfig.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/__pycache__/test_iniconfig.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/__pycache__/test_iniconfig.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/code/__pycache__/test_assertion.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/code/__pycache__/test_assertion.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/code/__pycache__/test_assertion.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/code/__pycache__/test_assertion.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/code/__pycache__/test_code.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/code/__pycache__/test_code.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/code/__pycache__/test_code.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/code/__pycache__/test_code.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/code/__pycache__/test_excinfo.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/code/__pycache__/test_excinfo.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/code/__pycache__/test_excinfo.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/code/__pycache__/test_excinfo.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/code/__pycache__/test_source.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/code/__pycache__/test_source.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/code/__pycache__/test_source.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/code/__pycache__/test_source.cpython-35-PYTEST.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/testing/code/test_excinfo.py new/py-1.4.32/testing/code/test_excinfo.py
--- old/py-1.4.31/testing/code/test_excinfo.py 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/testing/code/test_excinfo.py 2016-09-22 09:34:20.000000000 +0200
@@ -600,7 +600,10 @@
def entry():
func1()
""")
- excinfo = py.test.raises(ValueError, mod.entry)
+ try:
+ mod.entry()
+ except ValueError:
+ excinfo = py.code.ExceptionInfo()
from py._code.code import Code
monkeypatch.setattr(Code, 'path', 'bogus')
excinfo.traceback[0].frame.code.path = "bogus"
@@ -720,7 +723,10 @@
def entry():
f(0)
""")
- excinfo = py.test.raises(ValueError, mod.entry)
+ try:
+ mod.entry()
+ except ValueError:
+ excinfo = py.code.ExceptionInfo()
for style in ("short", "long", "no"):
for showlocals in (True, False):
Binary files old/py-1.4.31/testing/conftest.pyc and new/py-1.4.32/testing/conftest.pyc differ
Binary files old/py-1.4.31/testing/io_/__init__.pyc and new/py-1.4.32/testing/io_/__init__.pyc differ
Binary files old/py-1.4.31/testing/io_/__pycache__/__init__.cpython-35.pyc and new/py-1.4.32/testing/io_/__pycache__/__init__.cpython-35.pyc differ
Binary files old/py-1.4.31/testing/io_/__pycache__/test_capture.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/io_/__pycache__/test_capture.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/io_/__pycache__/test_capture.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/io_/__pycache__/test_capture.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/io_/__pycache__/test_saferepr.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/io_/__pycache__/test_saferepr.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/io_/__pycache__/test_saferepr.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/io_/__pycache__/test_saferepr.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/io_/__pycache__/test_terminalwriter.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/io_/__pycache__/test_terminalwriter.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/io_/__pycache__/test_terminalwriter.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/io_/__pycache__/test_terminalwriter.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/log/__init__.pyc and new/py-1.4.32/testing/log/__init__.pyc differ
Binary files old/py-1.4.31/testing/log/__pycache__/__init__.cpython-35.pyc and new/py-1.4.32/testing/log/__pycache__/__init__.cpython-35.pyc differ
Binary files old/py-1.4.31/testing/log/__pycache__/test_log.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/log/__pycache__/test_log.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/log/__pycache__/test_log.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/log/__pycache__/test_log.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/log/__pycache__/test_warning.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/log/__pycache__/test_warning.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/log/__pycache__/test_warning.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/log/__pycache__/test_warning.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__init__.pyc and new/py-1.4.32/testing/path/__init__.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/__init__.cpython-35.pyc and new/py-1.4.32/testing/path/__pycache__/__init__.cpython-35.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/common.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/common.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/common.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/common.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/common.cpython-35.pyc and new/py-1.4.32/testing/path/__pycache__/common.cpython-35.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/conftest.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/conftest.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/conftest.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/conftest.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/conftest.cpython-35.pyc and new/py-1.4.32/testing/path/__pycache__/conftest.cpython-35.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/svntestbase.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/svntestbase.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/svntestbase.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/svntestbase.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/svntestbase.cpython-35.pyc and new/py-1.4.32/testing/path/__pycache__/svntestbase.cpython-35.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/test_cacheutil.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/test_cacheutil.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/test_cacheutil.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/test_cacheutil.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/test_local.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/test_local.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/test_local.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/test_local.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/test_svnauth.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/test_svnauth.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/test_svnauth.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/test_svnauth.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/test_svnurl.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/test_svnurl.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/test_svnurl.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/test_svnurl.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/test_svnwc.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/test_svnwc.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/path/__pycache__/test_svnwc.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/path/__pycache__/test_svnwc.cpython-35-PYTEST.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/testing/path/common.py new/py-1.4.32/testing/path/common.py
--- old/py-1.4.31/testing/path/common.py 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/testing/path/common.py 2016-12-16 16:32:49.000000000 +0100
@@ -1,6 +1,8 @@
import py
import sys
+import pytest
+
class CommonFSTests(object):
def test_constructor_equality(self, path1):
p = path1.__class__(path1)
@@ -186,9 +188,12 @@
assert "sampledir" in l
assert not path1.sep.join(["sampledir", "otherfile"]) in l
- def test_visit_filterfunc_is_string(self, path1):
+ @pytest.mark.parametrize('fil', ['*dir', u'*dir',
+ pytest.mark.skip("sys.version_info <"
+ " (3,6)")(b'*dir')])
+ def test_visit_filterfunc_is_string(self, path1, fil):
l = []
- for i in path1.visit('*dir'):
+ for i in path1.visit(fil):
l.append(i.relto(path1))
assert len(l), 2
assert "sampledir" in l
@@ -429,6 +434,26 @@
assert dest.join('otherfile').check(file=1)
assert not source.join('sampledir').check()
+ def test_fspath_protocol_match_strpath(self, path1):
+ assert path1.__fspath__() == path1.strpath
+
+ def test_fspath_func_match_strpath(self, path1):
+ try:
+ from os import fspath
+ except ImportError:
+ from py._path.common import fspath
+ assert fspath(path1) == path1.strpath
+
+ @py.test.mark.skip("sys.version_info < (3,6)")
+ def test_fspath_open(self, path1):
+ f = path1.join('opentestfile')
+ open(f)
+
+ @py.test.mark.skip("sys.version_info < (3,6)")
+ def test_fspath_fsencode(self, path1):
+ from os import fsencode
+ assert fsencode(path1) == fsencode(path1.strpath)
+
def setuptestfs(path):
if path.join('samplefile').check():
return
Binary files old/py-1.4.31/testing/path/common.pyc and new/py-1.4.32/testing/path/common.pyc differ
Binary files old/py-1.4.31/testing/path/conftest.pyc and new/py-1.4.32/testing/path/conftest.pyc differ
Binary files old/py-1.4.31/testing/path/svntestbase.pyc and new/py-1.4.32/testing/path/svntestbase.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/testing/path/test_local.py new/py-1.4.32/testing/path/test_local.py
--- old/py-1.4.31/testing/path/test_local.py 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/testing/path/test_local.py 2016-12-16 16:32:49.000000000 +0100
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import with_statement
+import time
import py
import pytest
import os, sys
@@ -15,6 +16,8 @@
skiponwin32 = py.test.mark.skipif(
"sys.platform == 'win32' or getattr(os, '_name', None) == 'nt'")
+ATIME_RESOLUTION = 0.01
+
def pytest_funcarg__path1(request):
def setup():
@@ -26,6 +29,14 @@
assert path1.join("samplefile").check()
return request.cached_setup(setup, teardown, scope="session")
+def pytest_funcarg__fake_fspath_obj(request):
+ class FakeFSPathClass(object):
+ def __init__(self, path):
+ self._path = path
+ def __fspath__(self):
+ return self._path
+ return FakeFSPathClass("this/is/a/fake/path")
+
class TestLocalPath(common.CommonFSTests):
def test_join_normpath(self, tmpdir):
assert tmpdir.join(".") == tmpdir
@@ -298,6 +309,14 @@
x2 = py.path.local.sysfind(name, paths=[x.dirpath()])
assert x2 == x
+ def test_fspath_protocol_other_class(self, fake_fspath_obj):
+ # py.path is always absolute
+ py_path = py.path.local(fake_fspath_obj)
+ str_path = fake_fspath_obj.__fspath__()
+ assert py_path.check(endswith=str_path)
+ assert py_path.join(fake_fspath_obj).strpath == os.path.join(
+ py_path.strpath, str_path)
+
class TestExecutionOnWindows:
pytestmark = win32only
@@ -716,9 +735,9 @@
# we could wait here but timer resolution is very
# system dependent
path.read()
- time.sleep(0.01)
+ time.sleep(ATIME_RESOLUTION)
atime2 = path.atime()
- time.sleep(0.01)
+ time.sleep(ATIME_RESOLUTION)
duration = time.time() - now
assert (atime2-atime1) <= duration
@@ -781,6 +800,34 @@
a.copy(b, mode=True)
assert b.join(f.basename).stat().mode == newmode
+ def test_copy_stat_file(self, tmpdir):
+ src = tmpdir.ensure('src')
+ dst = tmpdir.join('dst')
+ # a small delay before the copy
+ time.sleep(ATIME_RESOLUTION)
+ src.copy(dst, stat=True)
+ oldstat = src.stat()
+ newstat = dst.stat()
+ assert oldstat.mode == newstat.mode
+ assert (dst.atime() - src.atime()) < ATIME_RESOLUTION
+ assert (dst.mtime() - src.mtime()) < ATIME_RESOLUTION
+
+ def test_copy_stat_dir(self, tmpdir):
+ test_files = ['a', 'b', 'c']
+ src = tmpdir.join('src')
+ for f in test_files:
+ src.join(f).write(f, ensure=True)
+ dst = tmpdir.join('dst')
+ # a small delay before the copy
+ time.sleep(ATIME_RESOLUTION)
+ src.copy(dst, stat=True)
+ for f in test_files:
+ oldstat = src.join(f).stat()
+ newstat = dst.join(f).stat()
+ assert (newstat.atime - oldstat.atime) < ATIME_RESOLUTION
+ assert (newstat.mtime - oldstat.mtime) < ATIME_RESOLUTION
+ assert oldstat.mode == newstat.mode
+
@failsonjython
def test_chown_identity(self, path1):
owner = path1.stat().owner
Binary files old/py-1.4.31/testing/process/__init__.pyc and new/py-1.4.32/testing/process/__init__.pyc differ
Binary files old/py-1.4.31/testing/process/__pycache__/__init__.cpython-35.pyc and new/py-1.4.32/testing/process/__pycache__/__init__.cpython-35.pyc differ
Binary files old/py-1.4.31/testing/process/__pycache__/test_cmdexec.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/process/__pycache__/test_cmdexec.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/process/__pycache__/test_cmdexec.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/process/__pycache__/test_cmdexec.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/process/__pycache__/test_forkedfunc.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/process/__pycache__/test_forkedfunc.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/process/__pycache__/test_forkedfunc.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/process/__pycache__/test_forkedfunc.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/process/__pycache__/test_killproc.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/process/__pycache__/test_killproc.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/process/__pycache__/test_killproc.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/process/__pycache__/test_killproc.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/root/__init__.pyc and new/py-1.4.32/testing/root/__init__.pyc differ
Binary files old/py-1.4.31/testing/root/__pycache__/__init__.cpython-35.pyc and new/py-1.4.32/testing/root/__pycache__/__init__.cpython-35.pyc differ
Binary files old/py-1.4.31/testing/root/__pycache__/test_builtin.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/root/__pycache__/test_builtin.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/root/__pycache__/test_builtin.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/root/__pycache__/test_builtin.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/root/__pycache__/test_error.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/root/__pycache__/test_error.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/root/__pycache__/test_error.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/root/__pycache__/test_error.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/root/__pycache__/test_py_imports.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/root/__pycache__/test_py_imports.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/root/__pycache__/test_py_imports.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/root/__pycache__/test_py_imports.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/root/__pycache__/test_std.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/root/__pycache__/test_std.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/root/__pycache__/test_std.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/root/__pycache__/test_std.cpython-35-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/root/__pycache__/test_xmlgen.cpython-27-PYTEST.pyc and new/py-1.4.32/testing/root/__pycache__/test_xmlgen.cpython-27-PYTEST.pyc differ
Binary files old/py-1.4.31/testing/root/__pycache__/test_xmlgen.cpython-35-PYTEST.pyc and new/py-1.4.32/testing/root/__pycache__/test_xmlgen.cpython-35-PYTEST.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/py-1.4.31/tox.ini new/py-1.4.32/tox.ini
--- old/py-1.4.31/tox.ini 2015-11-27 21:48:11.000000000 +0100
+++ new/py-1.4.32/tox.ini 2016-12-16 16:32:49.000000000 +0100
@@ -1,5 +1,5 @@
[tox]
-envlist=py26,py27,py33,py34,external
+envlist=py26,py27,py33,py34,py35,external
# py27-xdist causes problems with svn, py25 requires virtualenv==1.9.1
#indexserver=
# default=http://pypi.testrun.org
@@ -7,12 +7,12 @@
[testenv]
changedir=testing
commands=py.test --confcutdir=.. -rfsxX --junitxml={envlogdir}/junit-{envname}.xml []
-deps=pytest
+deps=pytest~=2.9.0
[testenv:py27-xdist]
basepython=python2.7
deps=
- pytest
+ pytest~=2.9.0
pytest-xdist
commands=
py.test -n3 -rfsxX --confcutdir=.. --runslowtests \
1
0