Bug#938969: python-packaging: test failures due to wrong arch check

2019-08-30 Thread Tiago Daitx
Please consider the following debdiff to fix this issue.
diff -Nru python-packaging-19.1/debian/changelog python-packaging-19.1/debian/changelog
--- python-packaging-19.1/debian/changelog	2019-08-17 08:49:26.0 -0300
+++ python-packaging-19.1/debian/changelog	2019-08-29 18:58:34.0 -0300
@@ -1,3 +1,11 @@
+python-packaging (19.1-2) unstable; urgency=medium
+
+  * debian/patches/update-platform-for-pybuild.patch: use amd64 instead
+of x86_64 during the build as pybuild forcefully sets get_platform()
+to return linux-amd64.
+
+ -- Tiago Stürmer Daitx   Thu, 29 Aug 2019 21:58:34 +
+
 python-packaging (19.1-1) unstable; urgency=medium
 
   * New upstream version.
diff -Nru python-packaging-19.1/debian/patches/series python-packaging-19.1/debian/patches/series
--- python-packaging-19.1/debian/patches/series	2015-10-28 11:18:13.0 -0200
+++ python-packaging-19.1/debian/patches/series	2019-08-29 18:58:34.0 -0300
@@ -1 +1,2 @@
 # empty
+update-platform-for-pybuild.patch
diff -Nru python-packaging-19.1/debian/patches/update-platform-for-pybuild.patch python-packaging-19.1/debian/patches/update-platform-for-pybuild.patch
--- python-packaging-19.1/debian/patches/update-platform-for-pybuild.patch	1969-12-31 21:00:00.0 -0300
+++ python-packaging-19.1/debian/patches/update-platform-for-pybuild.patch	2019-08-29 18:58:34.0 -0300
@@ -0,0 +1,84 @@
+Description: update x86_64 references to amd64
+ pybuild sets the _PYTHON_HOST_PLATFORM environment variable which
+ causes distutils.util.get_platform() to return linux-amd64 instead
+ of linux-x86_64. This causes 2 tests in test/test_tags.py to fail.
+ This patch updates the test_tags.py file to expect amd64 instead
+ of x86_64. Meanwhile packaging/tags.py needs to be updated to
+ support both linux-x86_64 (for runtime) and linux-amd64 (for build
+ time).
+Author: Tiago Stürmer Daitx 
+Bug-Debian: http://bugs.debian.org/938969
+Forwarded: not-needed
+Last-Update: 2019-08-30
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/tests/test_tags.py
 b/tests/test_tags.py
+@@ -487,18 +487,18 @@ def test_have_compatible_glibc(monkeypat
+ 
+ 
+ def test_linux_platforms_64bit_on_64bit_os(monkeypatch):
+-is_64bit_os = distutils.util.get_platform().endswith("_x86_64")
++is_64bit_os = distutils.util.get_platform().endswith("_amd64")
+ if platform.system() != "Linux" or not is_64bit_os:
+-monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
++monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_amd64")
+ monkeypatch.setattr(tags, "_is_manylinux_compatible", lambda *args: False)
+ linux_platform = tags._linux_platforms(is_32bit=False)[-1]
+-assert linux_platform == "linux_x86_64"
++assert linux_platform == "linux_amd64"
+ 
+ 
+ def test_linux_platforms_32bit_on_64bit_os(monkeypatch):
+-is_64bit_os = distutils.util.get_platform().endswith("_x86_64")
++is_64bit_os = distutils.util.get_platform().endswith("_amd64")
+ if platform.system() != "Linux" or not is_64bit_os:
+-monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
++monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_amd64")
+ monkeypatch.setattr(tags, "_is_manylinux_compatible", lambda *args: False)
+ linux_platform = tags._linux_platforms(is_32bit=True)[-1]
+ assert linux_platform == "linux_i686"
+@@ -509,9 +509,9 @@ def test_linux_platforms_manylinux1(monk
+ tags, "_is_manylinux_compatible", lambda name, _: name == "manylinux1"
+ )
+ if platform.system() != "Linux":
+-monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
++monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_amd64")
+ platforms = tags._linux_platforms(is_32bit=False)
+-assert platforms == ["manylinux1_x86_64", "linux_x86_64"]
++assert platforms == ["manylinux1_amd64", "linux_amd64"]
+ 
+ 
+ def test_linux_platforms_manylinux2010(monkeypatch):
+@@ -519,9 +519,9 @@ def test_linux_platforms_manylinux2010(m
+ tags, "_is_manylinux_compatible", lambda name, _: name == "manylinux2010"
+ )
+ if platform.system() != "Linux":
+-monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
++monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_amd64")
+ platforms = tags._linux_platforms(is_32bit=False)
+-expected = ["manylinux2010_x86_64", "manylinux1_x86_64", "linux_x86_64"]
++expected = ["manylinux2010_amd64", "manylinux1_amd64", "linux_amd64"]
+ assert platforms == expected
+ 
+ 
+@@ -531,7 +531,7 @@ def test_sys_tags_linux_cpython(monkeypa
+ monkeypatch.setattr(tags, "_cpython_abi", lambda py_version: "cp33m")
+ if platform.system() != "Linux":
+ monkeypatch.setattr(platform, "system", lambda: "Linux")
+-monkeypatch.setattr(tags, 

Bug#938969: python-packaging: test failures due to wrong arch check

2019-08-30 Thread Tiago Daitx
Please consider the following debdiff to fix this issue.
diff -Nru python-packaging-19.1/debian/changelog python-packaging-19.1/debian/changelog
--- python-packaging-19.1/debian/changelog	2019-08-17 08:49:26.0 -0300
+++ python-packaging-19.1/debian/changelog	2019-08-29 18:58:34.0 -0300
@@ -1,3 +1,11 @@
+python-packaging (19.1-2) unstable; urgency=medium
+
+  * debian/patches/update-platform-for-pybuild.patch: use amd64 instead
+of x86_64 during the build as pybuild forcefully sets get_platform()
+to return linux-amd64.
+
+ -- Tiago Stürmer Daitx   Thu, 29 Aug 2019 21:58:34 +
+
 python-packaging (19.1-1) unstable; urgency=medium
 
   * New upstream version.
diff -Nru python-packaging-19.1/debian/patches/series python-packaging-19.1/debian/patches/series
--- python-packaging-19.1/debian/patches/series	2015-10-28 11:18:13.0 -0200
+++ python-packaging-19.1/debian/patches/series	2019-08-29 18:58:34.0 -0300
@@ -1 +1,2 @@
 # empty
+update-platform-for-pybuild.patch
diff -Nru python-packaging-19.1/debian/patches/update-platform-for-pybuild.patch python-packaging-19.1/debian/patches/update-platform-for-pybuild.patch
--- python-packaging-19.1/debian/patches/update-platform-for-pybuild.patch	1969-12-31 21:00:00.0 -0300
+++ python-packaging-19.1/debian/patches/update-platform-for-pybuild.patch	2019-08-29 18:58:34.0 -0300
@@ -0,0 +1,84 @@
+Description: update x86_64 references to amd64
+ pybuild sets the _PYTHON_HOST_PLATFORM environment variable which
+ causes distutils.util.get_platform() to return linux-amd64 instead
+ of linux-x86_64. This causes 2 tests in test/test_tags.py to fail.
+ This patch updates the test_tags.py file to expect amd64 instead
+ of x86_64. Meanwhile packaging/tags.py needs to be updated to
+ support both linux-x86_64 (for runtime) and linux-amd64 (for build
+ time).
+Author: Tiago Stürmer Daitx 
+Bug-Debian: http://bugs.debian.org/938969
+Forwarded: not-needed
+Last-Update: 2019-08-30
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/tests/test_tags.py
 b/tests/test_tags.py
+@@ -487,18 +487,18 @@ def test_have_compatible_glibc(monkeypat
+ 
+ 
+ def test_linux_platforms_64bit_on_64bit_os(monkeypatch):
+-is_64bit_os = distutils.util.get_platform().endswith("_x86_64")
++is_64bit_os = distutils.util.get_platform().endswith("_amd64")
+ if platform.system() != "Linux" or not is_64bit_os:
+-monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
++monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_amd64")
+ monkeypatch.setattr(tags, "_is_manylinux_compatible", lambda *args: False)
+ linux_platform = tags._linux_platforms(is_32bit=False)[-1]
+-assert linux_platform == "linux_x86_64"
++assert linux_platform == "linux_amd64"
+ 
+ 
+ def test_linux_platforms_32bit_on_64bit_os(monkeypatch):
+-is_64bit_os = distutils.util.get_platform().endswith("_x86_64")
++is_64bit_os = distutils.util.get_platform().endswith("_amd64")
+ if platform.system() != "Linux" or not is_64bit_os:
+-monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
++monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_amd64")
+ monkeypatch.setattr(tags, "_is_manylinux_compatible", lambda *args: False)
+ linux_platform = tags._linux_platforms(is_32bit=True)[-1]
+ assert linux_platform == "linux_i686"
+@@ -509,9 +509,9 @@ def test_linux_platforms_manylinux1(monk
+ tags, "_is_manylinux_compatible", lambda name, _: name == "manylinux1"
+ )
+ if platform.system() != "Linux":
+-monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
++monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_amd64")
+ platforms = tags._linux_platforms(is_32bit=False)
+-assert platforms == ["manylinux1_x86_64", "linux_x86_64"]
++assert platforms == ["manylinux1_amd64", "linux_amd64"]
+ 
+ 
+ def test_linux_platforms_manylinux2010(monkeypatch):
+@@ -519,9 +519,9 @@ def test_linux_platforms_manylinux2010(m
+ tags, "_is_manylinux_compatible", lambda name, _: name == "manylinux2010"
+ )
+ if platform.system() != "Linux":
+-monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64")
++monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_amd64")
+ platforms = tags._linux_platforms(is_32bit=False)
+-expected = ["manylinux2010_x86_64", "manylinux1_x86_64", "linux_x86_64"]
++expected = ["manylinux2010_amd64", "manylinux1_amd64", "linux_amd64"]
+ assert platforms == expected
+ 
+ 
+@@ -531,7 +531,7 @@ def test_sys_tags_linux_cpython(monkeypa
+ monkeypatch.setattr(tags, "_cpython_abi", lambda py_version: "cp33m")
+ if platform.system() != "Linux":
+ monkeypatch.setattr(platform, "system", lambda: "Linux")
+-monkeypatch.setattr(tags, 

Bug#938969: python-packaging: test failures due to wrong arch check

2019-08-30 Thread Tiago Stürmer Daitx
Package: python-packaging
Version: 19.0-1
Severity: important

Dear Maintainer,

Since 19.1-1 python-packaging introduced a Tags class that has methods
that depend upon distutils.util.get_platform(). 

The problem is that the behavior of get_platform() changes during build
time, as pybuild sets _PYTHON_HOST_PLATFORM which overrides the default
output of get_platform().

This causes linux-x86_64 to be changed to linux-amd64, leading to 2 test
failures and some if clauses to run amok as they expect the string x86_64.

Both tests/test_tags.py and packaging/tags.py require updates to deal
with the build time get_platform changes.

Regards,
Tiago

-- System Information:
Debian Release: buster/sid
  APT prefers eoan
  APT policy: (500, 'eoan'), (400, 'eoan-proposed')
Architecture: amd64 (x86_64)

Kernel: Linux 5.0.0-20-generic (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8), LANGUAGE=en_US 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python-packaging depends on:
ii  python2.7.16-1
ii  python-pyparsing  2.2.0+dfsg1-2
ii  python-six1.12.0-1build1

python-packaging recommends no packages.

python-packaging suggests no packages.

-- no debconf information