diff --git a/issue_254.patch b/issue_254.patch new file mode 100644 index 0000000..0a62898 --- /dev/null +++ b/issue_254.patch @@ -0,0 +1,80 @@ +From f1d67cb7b6903c29c725fe46777d6e28757e04d5 Mon Sep 17 00:00:00 2001 +From: Marius Bakke +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 + diff --git a/packaging-19.2.tar.gz b/packaging-19.2.tar.gz deleted file mode 100644 index 6a907a3..0000000 --- a/packaging-19.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47 -size 59110 diff --git a/packaging-20.1.tar.gz b/packaging-20.1.tar.gz new file mode 100644 index 0000000..13a4e85 --- /dev/null +++ b/packaging-20.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e665345f9eef0c621aa0bf2f8d78cf6d21904eef16a93f020240b704a57f1334 +size 72955 diff --git a/python-packaging.changes b/python-packaging.changes index a945b89..09e8ecd 100644 --- a/python-packaging.changes +++ b/python-packaging.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Mon Feb 10 14:51:38 UTC 2020 - Ondřej Súkup + +- add issue_254.patch to fix tests under non-x86_64 pplatforms + +------------------------------------------------------------------- +Wed Feb 5 13:45:06 UTC 2020 - Ondřej Súkup + +- 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 diff --git a/python-packaging.spec b/python-packaging.spec index 611fe11..3b6180f 100644 --- a/python-packaging.spec +++ b/python-packaging.spec @@ -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