12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- From a0a937a454b2f82eae7ed3b4436614e64ef63e2d Mon Sep 17 00:00:00 2001
- From: Panu Matilainen <pmatilai@redhat.com>
- Date: Mon, 13 Mar 2023 12:41:11 +0200
- Subject: [PATCH] Use Python >= 3.2 compatible object hash slot type
- Python 3.2 changed the object hash type to make them pointer-width on
- all platforms - an incompatible change but apparently 3.2 was early enough
- in the 3.x days for such changes: https://bugs.python.org/issue9778
- The hash vs pointer size mismatch has quietly been there all along but
- clang >= 16 started treating this as an error, causing failed builds.
- The fix is easy and obvious enough, but this requires us to bump the
- minimum Python version from 3.1 to 3.2. Which thankfully is old enough that
- we can do without having to care or introduce build-time compatibility
- workarounds.
- Suggested-by: Khem Raj <raj.khem@gmail.com>
- Upstream: 45103f84764b2a293b068eb0f59456f553ec45d8
- Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
- ---
- INSTALL | 4 ++--
- python/header-py.c | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
- diff --git a/INSTALL b/INSTALL
- index 13d0d8a83..528c1e5c0 100644
- --- a/INSTALL
- +++ b/INSTALL
- @@ -66,8 +66,8 @@ These are available from
- http://www.bzip.org
- http://tukaani.org/xz/
-
- -If you want to build the Python bindings to RPM library, it can be enabled
- -with --enable-python option to configure. You'll need to have Python >= 3.1
- +Python bindings to RPM library are built by default, but it can be disabled
- +with -DENABLE_PYTHON=OFF. You'll need to have Python >= 3.2
- runtime and C API development environment installed.
- Python is available from:
- http://www.python.org/
- diff --git a/python/header-py.c b/python/header-py.c
- index 0aed0c926..c15503f35 100644
- --- a/python/header-py.c
- +++ b/python/header-py.c
- @@ -316,9 +316,9 @@ static PyObject * hdr_dsOfHeader(PyObject * s)
- "(Oi)", s, RPMTAG_NEVR);
- }
-
- -static long hdr_hash(PyObject * h)
- +static Py_hash_t hdr_hash(PyObject * h)
- {
- - return (long) h;
- + return (Py_hash_t) h;
- }
-
- static PyObject * hdr_reduce(hdrObject *s)
- --
- 2.49.0
|