Accepting request 773191 from devel:languages:python

- add issue_254.patch to fix tests under non-x86_64 pplatforms 

- Update to 20.1
 * Fix a bug caused by reuse of an exhausted iterator.
 * Add type hints
 * Add proper trove classifiers for PyPy support 
 * Scale back depending on ctypes for manylinux support detection 
 * Use sys.implementation.name where appropriate for packaging.tags
 * Expand upon the API provded by packaging.tags
 * Officially support Python 3.8 
 * Add major, minor, and micro aliases to packaging.version.Version 
 * Properly mark packaging has being fully typed by adding a py.typed file

OBS-URL: https://build.opensuse.org/request/show/773191
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-packaging?expand=0&rev=14
This commit is contained in:
Oliver Kurz 2020-02-14 15:22:41 +00:00 committed by Git OBS Bridge
commit 04de720a74
5 changed files with 106 additions and 5 deletions

80
issue_254.patch Normal file
View File

@ -0,0 +1,80 @@
From f1d67cb7b6903c29c725fe46777d6e28757e04d5 Mon Sep 17 00:00:00 2001
From: Marius Bakke <mbakke@fastmail.com>
Date: Tue, 4 Feb 2020 09:29:23 +0100
Subject: [PATCH] Fix test_linux_platforms_manylinux* on architectures other
than x86_64 (#256)
* Fix test_linux_platforms_manylinux tests for i686.
By not assuming the platform is x86_64. Fixes #254.
* Allow test_linux_platforms_manylinux tests to pass on non x86.
The expected output only occurs on x86 platforms, so mock it on other
architectures.
Co-authored-by: Brett Cannon <54418+brettcannon@users.noreply.github.com>
---
tests/test_tags.py | 30 ++++++++++++++++++------------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/tests/test_tags.py b/tests/test_tags.py
index 1c05969..d7c1514 100644
--- a/tests/test_tags.py
+++ b/tests/test_tags.py
@@ -435,37 +435,43 @@ def test_linux_platforms_manylinux_unsupported(self, monkeypatch):
linux_platform = list(tags._linux_platforms(is_32bit=False))
assert linux_platform == ["linux_x86_64"]
- def test_linux_platforms_manylinux1(self, monkeypatch):
+ def test_linux_platforms_manylinux1(self, is_x86, monkeypatch):
monkeypatch.setattr(
tags, "_is_manylinux_compatible", lambda name, _: name == "manylinux1"
)
- if platform.system() != "Linux":
+ if platform.system() != "Linux" or not is_x86:
monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
+ monkeypatch.setattr(platform, "machine", lambda: "x86_64")
platforms = list(tags._linux_platforms(is_32bit=False))
- assert platforms == ["manylinux1_x86_64", "linux_x86_64"]
+ arch = platform.machine()
+ assert platforms == ["manylinux1_" + arch, "linux_" + arch]
- def test_linux_platforms_manylinux2010(self, monkeypatch):
+ def test_linux_platforms_manylinux2010(self, is_x86, monkeypatch):
monkeypatch.setattr(
tags, "_is_manylinux_compatible", lambda name, _: name == "manylinux2010"
)
- if platform.system() != "Linux":
+ if platform.system() != "Linux" or not is_x86:
monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
+ monkeypatch.setattr(platform, "machine", lambda: "x86_64")
platforms = list(tags._linux_platforms(is_32bit=False))
- expected = ["manylinux2010_x86_64", "manylinux1_x86_64", "linux_x86_64"]
+ arch = platform.machine()
+ expected = ["manylinux2010_" + arch, "manylinux1_" + arch, "linux_" + arch]
assert platforms == expected
- def test_linux_platforms_manylinux2014(self, monkeypatch):
+ def test_linux_platforms_manylinux2014(self, is_x86, monkeypatch):
monkeypatch.setattr(
tags, "_is_manylinux_compatible", lambda name, _: name == "manylinux2014"
)
- if platform.system() != "Linux":
+ if platform.system() != "Linux" or not is_x86:
monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
+ monkeypatch.setattr(platform, "machine", lambda: "x86_64")
platforms = list(tags._linux_platforms(is_32bit=False))
+ arch = platform.machine()
expected = [
- "manylinux2014_x86_64",
- "manylinux2010_x86_64",
- "manylinux1_x86_64",
- "linux_x86_64",
+ "manylinux2014_" + arch,
+ "manylinux2010_" + arch,
+ "manylinux1_" + arch,
+ "linux_" + arch,
]
assert platforms == expected

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47
size 59110

3
packaging-20.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e665345f9eef0c621aa0bf2f8d78cf6d21904eef16a93f020240b704a57f1334
size 72955

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Mon Feb 10 14:51:38 UTC 2020 - Ondřej Súkup <mimi.vx@gmail.com>
- add issue_254.patch to fix tests under non-x86_64 pplatforms
-------------------------------------------------------------------
Wed Feb 5 13:45:06 UTC 2020 - Ondřej Súkup <mimi.vx@gmail.com>
- Update to 20.1
* Fix a bug caused by reuse of an exhausted iterator.
* Add type hints
* Add proper trove classifiers for PyPy support
* Scale back depending on ctypes for manylinux support detection
* Use sys.implementation.name where appropriate for packaging.tags
* Expand upon the API provded by packaging.tags
* Officially support Python 3.8
* Add major, minor, and micro aliases to packaging.version.Version
* Properly mark packaging has being fully typed by adding a py.typed file
-------------------------------------------------------------------
Tue Oct 8 09:22:51 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package python-packaging
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -26,13 +26,14 @@
%bcond_with test
%endif
Name: python-packaging%{psuffix}
Version: 19.2
Version: 20.1
Release: 0
Summary: Core utilities for Python packages
License: Apache-2.0
Group: Development/Languages/Python
URL: https://github.com/pypa/packaging
Source: https://pypi.io/packages/source/p/packaging/packaging-%{version}.tar.gz
Patch0: issue_254.patch
BuildRequires: %{python_module six}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@ -55,6 +56,7 @@ Core utilities for Python packages
%prep
%setup -q -n packaging-%{version}
%patch0 -p1
# sdist must provide a packaging.egg-info, used below in install phase
test -d packaging.egg-info