commit 7079af76f4c7b77e064c402b464be0a71fdf41af Author: MSVSphere Packaging Team Date: Tue Nov 26 17:06:10 2024 +0300 import libkdumpfile-0.5.4-5.el10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..502a764 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libkdumpfile-0.5.4.tar.gz diff --git a/.libkdumpfile.metadata b/.libkdumpfile.metadata new file mode 100644 index 0000000..551bfb9 --- /dev/null +++ b/.libkdumpfile.metadata @@ -0,0 +1 @@ +193217e1a703afac73f9c9ed99d46a9ae7111df7 SOURCES/libkdumpfile-0.5.4.tar.gz diff --git a/SOURCES/libkdumpfile-c99.patch b/SOURCES/libkdumpfile-c99.patch new file mode 100644 index 0000000..f94d1ce --- /dev/null +++ b/SOURCES/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/SPECS/libkdumpfile.spec new file mode 100644 index 0000000..efcacd9 --- /dev/null +++ b/SPECS/libkdumpfile.spec @@ -0,0 +1,235 @@ +## 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.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 +BuildRequires: make +BuildRequires: sed +BuildRequires: libzstd-devel +BuildRequires: lzo-devel +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: snappy-devel +BuildRequires: zlib-devel + +%global _description %{expand: +libkdumpfile is a library to read kdump-compressed kernel core dumps.} + +%description %{_description} + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel %{_description} + +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package doc +Summary: Documentation for %{name} +BuildArch: noarch +# keep this until F38 is EOL (so Fedora < 41) as 0.5.1 was not noarch due to +# doxygen being run *after* rather than *before* build so it indexes "built" +# Python sources too +# likewise, EPEL 8 and 9 are affected +%if (0%{?fedora} && 0%{?fedora} < 41) || (0%{?rhel} && 0%{?rhel} < 10) +Obsoletes: %{name}-doc < 0.5.2-1 +%endif + +%description doc %{_description} + +The %{name}-doc package contains documentation for %{name}. + +%package -n python3-%{name} +Summary: Python bindings for %{name} +Obsoletes: %{name}-python < 0.4.0-6 +Provides: %{name}-python = %{version}-%{release} +Provides: %{name}-python%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n python3-%{name} %{_description} + +The python3-%{name} package contains Python bindings for %{name}. + +%package util +Summary: Utilities to read kernel core dumps +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description util %{_description} +The %{name}-devel package contains misc utilities built with %{name}. + + +%prep +%autosetup -p1 +# Remove unneeded shebang +sed -e "\|#!/usr/bin/env python|d" -i python/*/*.py + + +%build +%configure +%{__make} doxygen-doc +%make_build + + +%install +%make_install +find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' +# static artifacts are needed to run tests, but we don't +# want to ship them +find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';' + + +%check +%make_build check + + +%files +%license COPYING COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv3 +%doc README.md NEWS +%{_libdir}/libaddrxlat.so.%{addrlibsover}{,.*} +%{_libdir}/libkdumpfile.so.%{mainlibsover}{,.*} + +%files devel +%{_includedir}/%{name}/ +%{_libdir}/libaddrxlat.so +%{_libdir}/libkdumpfile.so +%{_libdir}/pkgconfig/libaddrxlat.pc +%{_libdir}/pkgconfig/libkdumpfile.pc + +%files doc +%license COPYING COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv3 +%doc doc/html + +%files -n python3-%{name} +%{python3_sitearch}/%{name}-%{version}-*.egg-info +%{python3_sitearch}/addrxlat/ +%{python3_sitearch}/_addrxlat.*.so +%{python3_sitearch}/kdumpfile/ +%{python3_sitearch}/_kdumpfile.*.so + +%files util +%{_bindir}/dumpattr +%{_bindir}/listxendoms +%{_bindir}/showxlat + +%changelog +* Tue Nov 26 2024 MSVSphere Packaging Team - 0.5.4-5 +- Rebuilt for MSVSphere 10 + +## 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 +- Fix documentation build to be properly be noarch + +* Thu Jul 20 2023 Fedora Release Engineering - 0.5.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 13 2023 Python Maint - 0.5.1-3 +- Rebuilt for Python 3.12 + +* Tue Feb 07 2023 Michel Alexandre Salim - 0.5.1-2 +- remove old quilt series listing + +* Tue Feb 07 2023 Michel Alexandre Salim - 0.5.1-1 +- Update to 0.5.1 + +* Fri Jan 20 2023 Michel Alexandre Salim - 0.5.0-3 +- Minor fixes for Python 3.12 compatibility +- Fix Python unit tests to use the right assert methods +- Explicitly BR python3-setuptools + +* Thu Jan 19 2023 Fedora Release Engineering - 0.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Aug 15 2022 Michel Alexandre Salim - 0.5.0-1 +- Update to 0.5.0 + +* Sat Aug 06 2022 Michel Alexandre Salim - 0.4.1^202208069184e5c-1 +- Include diskdump endianness fix + +* Fri Aug 05 2022 Michel Alexandre Salim - 0.4.1^202207144829feb-1 +- Update to latest Git snapshot + +* Thu Jul 21 2022 Fedora Release Engineering - 0.4.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 0.4.1-6 +- Rebuilt for Python 3.11 + +* Thu May 19 2022 Davide Cavalca - 0.4.1-5 +- Number the patches for epel8 compatibility + +* Thu May 12 2022 Michel Alexandre Salim - 0.4.1-4 +- Re-enable all tests on x86_64 + +* Thu May 12 2022 Michel Alexandre Salim - 0.4.1-3 +- Disable failing tests to work around upstream issue #40 + +* Wed May 11 2022 Michel Alexandre Salim - 0.4.1-2 +- Enable tests + +* Thu Apr 21 2022 Michel Alexandre Salim - 0.4.1-1 +- Update to 0.4.1 + +* Tue Apr 12 2022 Neal Gompa - 0.4.0-6 +- Update spec to comply with packaging guidelines + + Use correct globbing for libraries in file list + + Rename Python binding subpackage to match Python guidelines + + Stop globbing binaries in util subpackage + +* 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