Update to 23.0

This commit is contained in:
Tomáš Hrnčiar 2022-12-08 08:36:47 +01:00 committed by Miro Hrončok
parent 0eec469fd7
commit 89328a2950
4 changed files with 9 additions and 70 deletions

1
.gitignore vendored
View File

@ -13,3 +13,4 @@
/packaging-21.0.tar.gz
/packaging-21.2.tar.gz
/packaging-21.3.tar.gz
/packaging-23.0.tar.gz

View File

@ -1,62 +0,0 @@
From c3476c3207efef576a185a047e6596b3b0cbcb42 Mon Sep 17 00:00:00 2001
From: Tzu-ping Chung <uranusjr@gmail.com>
Date: Wed, 20 Apr 2022 10:00:07 +0800
Subject: [PATCH 1/2] Correctly parse ELF for musllinux on Big Endian
---
packaging/_musllinux.py | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/packaging/_musllinux.py b/packaging/_musllinux.py
index 8ac3059b..d5d3e044 100644
--- a/packaging/_musllinux.py
+++ b/packaging/_musllinux.py
@@ -39,9 +39,11 @@ def _parse_ld_musl_from_elf(f: IO[bytes]) -> Optional[str]:
# p_fmt: Format for section header.
# p_idx: Indexes to find p_type, p_offset, and p_filesz.
e_fmt, p_fmt, p_idx = {
- 1: ("IIIIHHH", "IIIIIIII", (0, 1, 4)), # 32-bit.
- 2: ("QQQIHHH", "IIQQQQQQ", (0, 2, 5)), # 64-bit.
- }[ident[4]]
+ (1, 1): ("<IIIIHHH", "<IIIIIIII", (0, 1, 4)), # 32-bit LSB.
+ (1, 2): (">IIIIHHH", ">IIIIIIII", (0, 1, 4)), # 32-bit MSB.
+ (2, 1): ("<QQQIHHH", "<IIQQQQQQ", (0, 2, 5)), # 64-bit LSB.
+ (2, 2): (">QQQIHHH", ">IIQQQQQQ", (0, 2, 5)), # 64-bit MSB.
+ }[(ident[4], ident[5])]
except KeyError:
return None
else:
From a339dd3374b334a1a999481f3014f68a7389dacc Mon Sep 17 00:00:00 2001
From: Tzu-ping Chung <uranusjr@gmail.com>
Date: Sun, 29 May 2022 11:55:30 +0800
Subject: [PATCH 2/2] Always use LSB to parse binary in tests
---
tests/test_musllinux.py | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/tests/test_musllinux.py b/tests/test_musllinux.py
index d2c87ca1..2623bdbc 100644
--- a/tests/test_musllinux.py
+++ b/tests/test_musllinux.py
@@ -101,14 +101,15 @@ def test_parse_ld_musl_from_elf_no_interpreter_section():
with BIN_MUSL_X86_64.open("rb") as f:
data = f.read()
- # Change all sections to *not* PT_INTERP.
- unpacked = struct.unpack("16BHHIQQQIHHH", data[:58])
+ # Change all sections to *not* PT_INTERP. We are explicitly using LSB rules
+ # because the binaries are in LSB.
+ unpacked = struct.unpack("<16BHHIQQQIHHH", data[:58])
*_, e_phoff, _, _, _, e_phentsize, e_phnum = unpacked
for i in range(e_phnum + 1):
sb = e_phoff + e_phentsize * i
se = sb + 56
- section = struct.unpack("IIQQQQQQ", data[sb:se])
- data = data[:sb] + struct.pack("IIQQQQQQ", 0, *section[1:]) + data[se:]
+ section = struct.unpack("<IIQQQQQQ", data[sb:se])
+ data = data[:sb] + struct.pack("<IIQQQQQQ", 0, *section[1:]) + data[se:]
assert _parse_ld_musl_from_elf(io.BytesIO(data)) is None

View File

@ -17,18 +17,14 @@
%endif
Name: python-%{pypi_name}
Version: 21.3
Release: 8%{?dist}
Version: 23.0
Release: 1%{?dist}
Summary: Core utilities for Python packages
License: BSD or ASL 2.0
URL: https://github.com/pypa/packaging
Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz
# Correctly parse ELF for musllinux on Big Endian
# Merged upstream
Patch: https://github.com/pypa/packaging/pull/538.patch
BuildArch: noarch
BuildRequires: python%{python3_pkgversion}-devel
@ -61,7 +57,6 @@ Summary: %{summary}
%if %{with bootstrap}
Provides: python%{python3_pkgversion}dist(packaging) = %{version}
Provides: python%{python3_version}dist(packaging) = %{version}
Requires: python%{python3_version}dist(pyparsing)
Requires: python(abi) = %{python3_version}
%endif
@ -136,6 +131,11 @@ echo '%{python3_sitelib}/packaging*' > %{pyproject_files}
%changelog
* Fri Feb 03 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 23.0-1
- Update to 23.0.0
- https://fedoraproject.org/wiki/Changes/Update_python-packaging_to_version_22_plus
- Fixes: rhbz#2151743
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 21.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (packaging-21.3.tar.gz) = 8960deacda26877b73d98a3b632e760e902a16ec7a04707f84044980e4d4fb33e4f584db115c9008066aa876079f28633bafe37fbd5ce9a23830b6b89eb4ae7a
SHA512 (packaging-23.0.tar.gz) = 5dd2f4a596e5a1ed01b461a37e063573f5ae08e181df40377a167fe2483205b3d965e10dc403cd173d0f87e0bdcae3cde05bd39024783fbe44541d0f777d94de