diff --git a/.gitignore b/.gitignore index aab75fc..86c672d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libkdumpfile-0.5.2.tar.gz +libkdumpfile-0.5.4.tar.gz diff --git a/.libkdumpfile.metadata b/.libkdumpfile.metadata deleted file mode 100644 index 125706e..0000000 --- a/.libkdumpfile.metadata +++ /dev/null @@ -1 +0,0 @@ -1770835d08f36a8ed2afa7f891742dc42a395637 SOURCES/libkdumpfile-0.5.2.tar.gz diff --git a/libkdumpfile-c99.patch b/libkdumpfile-c99.patch new file mode 100644 index 0000000..f94d1ce --- /dev/null +++ b/libkdumpfile-c99.patch @@ -0,0 +1,45 @@ +Python 3 does not have a tp_print member in PyTypeObject + +This avoids an int-conversion compiler error with current compilers: + +./kdumpfile.c:1449:9: error: initialization of 'long int' from 'int (*)(PyObject *, FILE *, int)' {aka 'int (*)(struct _object *, FILE *, int)'} makes integer from pointer without a cast + 1449 | attr_dir_print, /* tp_print*/ + | ^~~~~~~~~~~~~~ + +In Python 3.11, the field at this position is called +tp_vectorcall_offset and has type Py_ssize_t, hence the error. + +Submitted upstream: + +diff --git a/python/kdumpfile.c b/python/kdumpfile.c +index 7c5917522ef05539..332318e76f317dff 100644 +--- a/python/kdumpfile.c ++++ b/python/kdumpfile.c +@@ -1143,7 +1143,6 @@ attr_dir_repr(PyObject *_self) + Py_XDECREF(colon); + return result; + } +-#endif + + static int + attr_dir_print(PyObject *_self, FILE *fp, int flags) +@@ -1214,6 +1213,7 @@ attr_dir_print(PyObject *_self, FILE *fp, int flags) + kdump_attr_iter_end(ctx, &iter); + return -1; + } ++#endif + + static PyObject * + attr_iterkey_new(PyObject *_self) +@@ -1446,7 +1446,11 @@ static PyTypeObject attr_dir_object_type = + sizeof(char), /* tp_itemsize*/ + /* methods */ + attr_dir_dealloc, /* tp_dealloc*/ ++#if PY_MAJOR_VERSION < 3 + attr_dir_print, /* tp_print*/ ++#else ++ 0, ++#endif + 0, /* tp_getattr*/ + 0, /* tp_setattr*/ + 0, /* tp_compare*/ diff --git a/SPECS/libkdumpfile.spec b/libkdumpfile.spec similarity index 78% rename from SPECS/libkdumpfile.spec rename to libkdumpfile.spec index 20023d2..1d64aa2 100644 --- a/SPECS/libkdumpfile.spec +++ b/libkdumpfile.spec @@ -1,14 +1,25 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.6.1) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 5; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + %global mainlibsover 10 %global addrlibsover 3 Name: libkdumpfile -Version: 0.5.2 -Release: 2%{?dist} +Version: 0.5.4 +Release: %autorelease Summary: Kernel coredump file access License: LGPL-3.0-or-later OR GPL-2.0-or-later URL: https://github.com/ptesarik/libkdumpfile Source: %{url}/releases/download/v%{version}/%{name}-%{version}.tar.gz +Patch0: libkdumpfile-c99.patch BuildRequires: gcc-c++ BuildRequires: doxygen @@ -123,6 +134,25 @@ find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';' %{_bindir}/showxlat %changelog +## START: Generated by rpmautospec +* Thu May 02 2024 Philipp Rudo - 0.5.4-5 +- Add gating.yaml to RHEL10 libkdumpfile + +* Thu Jan 25 2024 Fedora Release Engineering - 0.5.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 0.5.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jan 04 2024 Florian Weimer - 0.5.4-2 +- More complete Python 3 port for improved C compatibility + +* Tue Nov 28 2023 Michel Lind - 0.5.4-1 +- Update to 0.5.4 + +* Fri Nov 10 2023 Michel Lind - 0.5.3-1 +- Update to 0.5.3 + * Wed Jul 26 2023 Michel Alexandre Salim - 0.5.2-1 - Update to 0.5.2 - Use SPDX license identifiers @@ -187,3 +217,16 @@ find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';' * Thu Jan 20 2022 Fedora Release Engineering - 0.4.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild +* Thu Jul 22 2021 Fedora Release Engineering - 0.4.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 0.4.0-3 +- Rebuilt for Python 3.10 + +* Fri Apr 2 2021 Davide Cavalca - 0.4.0-2 +- Fix license + +* Fri Feb 26 2021 Davide Cavalca - 0.4.0-1 +- Initial package + +## END: Generated by rpmautospec diff --git a/sources b/sources new file mode 100644 index 0000000..3a78051 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (libkdumpfile-0.5.4.tar.gz) = 40637dbdf8a5002bd649f1c94d9bd2258cb0df64efe3435f9ab51cfcce94300bf0422dcb0a4d0c535484a20b46fe6456cf7fb97164abc0673c90d2d631d3e350