From cfc50baa6a7d8d77f10843f8c4ae5716e229be16 Mon Sep 17 00:00:00 2001 From: Pavel Cahyna Date: Sun, 11 Feb 2024 20:29:10 +0100 Subject: [PATCH 01/17] Resolve one Python 3.13 compatibility issue Include in SWIG code to prevent errors about implicit declaration of function 'isspace' & 'isxdigit'. bz#2245793 --- OpenIPMI-py313compat.patch | 12 ++++++++++++ OpenIPMI.spec | 1 + 2 files changed, 13 insertions(+) create mode 100644 OpenIPMI-py313compat.patch diff --git a/OpenIPMI-py313compat.patch b/OpenIPMI-py313compat.patch new file mode 100644 index 0000000..60845b4 --- /dev/null +++ b/OpenIPMI-py313compat.patch @@ -0,0 +1,12 @@ +diff -ur OpenIPMI-2.0.34/swig/OpenIPMI.i OpenIPMI-2.0.34-python/swig/OpenIPMI.i +--- OpenIPMI-2.0.34/swig/OpenIPMI.i 2024-02-11 19:52:41.555777279 +0100 ++++ OpenIPMI-2.0.34-python/swig/OpenIPMI.i 2024-02-11 20:11:59.061132776 +0100 +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + + #ifdef HAVE_GETADDRINFO + #include +Only in OpenIPMI-2.0.34-python/swig: OpenIPMI.i~ diff --git a/OpenIPMI.spec b/OpenIPMI.spec index 8edb0de..1aedd17 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -15,6 +15,7 @@ Patch1: 0001-man.patch Patch2: OpenIPMI-ax-python.patch Patch3: OpenIPMI-sysconfig.patch Patch4: OpenIPMI-c99.patch +Patch5: OpenIPMI-py313compat.patch BuildRequires: make BuildRequires: gdbm-devel swig glib2-devel net-snmp-devel ncurses-devel From 595d9c22313a17c22638fea070f482055daa90f6 Mon Sep 17 00:00:00 2001 From: Pavel Cahyna Date: Sun, 11 Feb 2024 20:46:55 +0100 Subject: [PATCH 02/17] Update to 2.0.34 and drop unneeded patches --- .gitignore | 1 + OpenIPMI-ax-python.patch | 12 -- OpenIPMI-sysconfig.patch | 239 --------------------------------------- OpenIPMI.spec | 11 +- sources | 2 +- 5 files changed, 8 insertions(+), 257 deletions(-) delete mode 100644 OpenIPMI-ax-python.patch delete mode 100644 OpenIPMI-sysconfig.patch diff --git a/.gitignore b/.gitignore index d61324c..60c81c3 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ OpenIPMI-2.0.18.tar.gz /OpenIPMI-2.0.29.tar.gz /OpenIPMI-2.0.31.tar.gz /OpenIPMI-2.0.32.tar.gz +/OpenIPMI-2.0.34.tar.gz diff --git a/OpenIPMI-ax-python.patch b/OpenIPMI-ax-python.patch deleted file mode 100644 index 9c74546..0000000 --- a/OpenIPMI-ax-python.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urNp a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4 ---- a/m4/ax_python_devel.m4 2021-08-02 13:15:04.122972905 +0200 -+++ b/m4/ax_python_devel.m4 2021-08-02 13:16:17.407749535 +0200 -@@ -143,7 +143,7 @@ variable to configure. See ``configure - - # - AC_MSG_CHECKING([for the distutils Python package]) - ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` -- if test -z "$ac_distutils_result"; then -+ if test $? -eq 0; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) diff --git a/OpenIPMI-sysconfig.patch b/OpenIPMI-sysconfig.patch deleted file mode 100644 index bfd56d3..0000000 --- a/OpenIPMI-sysconfig.patch +++ /dev/null @@ -1,239 +0,0 @@ -diff -urNp a/configure b/configure ---- a/configure 2021-08-02 13:38:21.012807239 +0200 -+++ b/configure 2021-08-02 14:32:29.884167376 +0200 -@@ -13535,20 +13535,20 @@ variable to configure. See \`\`configure - fi - - # -- # Check if you have distutils, else fail -+ # Check if you have sysconfig, else fail - # -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5 --$as_echo_n "checking for the distutils Python package... " >&6; } -- ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` -- if test -z "$ac_distutils_result"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the sysconfig Python package" >&5 -+$as_echo_n "checking for the sysconfig Python package... " >&6; } -+ ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1` -+ if test -z "$ac_sysconfig_result"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 - $as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } -- as_fn_error $? "cannot import Python module \"distutils\". -+ as_fn_error $? "cannot import Python module \"sysconfig\". - Please check your Python installation. The error was: --$ac_distutils_result" "$LINENO" 5 -+$ac_sysconfig_result" "$LINENO" 5 - PYTHON_VERSION="" - fi - -@@ -13558,10 +13558,10 @@ $ac_distutils_result" "$LINENO" 5 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5 - $as_echo_n "checking for Python include path... " >&6; } - if test -z "$PYTHON_CPPFLAGS"; then -- python_path=`$PYTHON -c "import distutils.sysconfig; \ -- print (distutils.sysconfig.get_python_inc ());"` -- plat_python_path=`$PYTHON -c "import distutils.sysconfig; \ -- print (distutils.sysconfig.get_python_inc (plat_specific=1));"` -+ python_path=`$PYTHON -c "import sysconfig; \ -+ print (sysconfig.get_path('include'));"` -+ plat_python_path=`$PYTHON -c "import sysconfig; \ -+ print (sysconfig.get_path('include'));"` - if test -n "${python_path}"; then - if test "${plat_python_path}" != "${python_path}"; then - python_path="-I$python_path -I$plat_python_path" -@@ -13587,7 +13587,7 @@ $as_echo_n "checking for Python library - - # join all versioning strings, on some systems - # major/minor numbers could be in different list elements --from distutils.sysconfig import * -+from sysconfig import * - e = get_config_var('VERSION') - if e is not None: - print(e) -@@ -13613,8 +13613,8 @@ _ACEOF - ac_python_libdir=`cat<&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5 - $as_echo_n "checking for Python site-packages path... " >&6; } - if test -z "$PYTHON_SITE_PKG"; then -- PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \ -- print (distutils.sysconfig.get_python_lib(0,0));"` -+ PYTHON_SITE_PKG=`$PYTHON -c "import sysconfig; \ -+ print (sysconfig.get_path('platlib'));"` - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5 - $as_echo "$PYTHON_SITE_PKG" >&6; } -@@ -13678,8 +13678,8 @@ $as_echo "$PYTHON_SITE_PKG" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5 - $as_echo_n "checking python extra libraries... " >&6; } - if test -z "$PYTHON_EXTRA_LDFLAGS"; then -- PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \ -- conf = distutils.sysconfig.get_config_var; \ -+ PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import sysconfig; \ -+ conf = sysconfig.get_config_var; \ - print (conf('LIBS') + ' ' + conf('SYSLIBS'))"` - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5 -@@ -13692,8 +13692,8 @@ $as_echo "$PYTHON_EXTRA_LDFLAGS" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5 - $as_echo_n "checking python extra linking flags... " >&6; } - if test -z "$PYTHON_EXTRA_LIBS"; then -- PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \ -- conf = distutils.sysconfig.get_config_var; \ -+ PYTHON_EXTRA_LIBS=`$PYTHON -c "import sysconfig; \ -+ conf = sysconfig.get_config_var; \ - print (conf('LINKFORSHARED'))"` - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5 -diff -urNp a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4 ---- a/m4/ax_python_devel.m4 2021-08-02 13:38:21.025807373 +0200 -+++ b/m4/ax_python_devel.m4 2021-08-02 14:36:33.262720424 +0200 -@@ -139,17 +139,17 @@ variable to configure. See ``configure - - fi - - # -- # Check if you have distutils, else fail -+ # Check if you have sysconfig, else fail - # -- AC_MSG_CHECKING([for the distutils Python package]) -- ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` -+ AC_MSG_CHECKING([for the sysconfig Python package]) -+ ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1` - if test $? -eq 0; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) -- AC_MSG_ERROR([cannot import Python module "distutils". -+ AC_MSG_ERROR([cannot import Python module "sysconfig". - Please check your Python installation. The error was: --$ac_distutils_result]) -+$ac_sysconfig_result]) - PYTHON_VERSION="" - fi - -@@ -158,10 +158,10 @@ $ac_distutils_result]) - # - AC_MSG_CHECKING([for Python include path]) - if test -z "$PYTHON_CPPFLAGS"; then -- python_path=`$PYTHON -c "import distutils.sysconfig; \ -- print (distutils.sysconfig.get_python_inc ());"` -- plat_python_path=`$PYTHON -c "import distutils.sysconfig; \ -- print (distutils.sysconfig.get_python_inc (plat_specific=1));"` -+ python_path=`$PYTHON -c "import sysconfig; \ -+ print (sysconfig.get_path('include'));"` -+ plat_python_path=`$PYTHON -c "import sysconfig; \ -+ print (sysconfig.get_path('include'));"` - if test -n "${python_path}"; then - if test "${plat_python_path}" != "${python_path}"; then - python_path="-I$python_path -I$plat_python_path" -@@ -185,7 +185,7 @@ $ac_distutils_result]) - - # join all versioning strings, on some systems - # major/minor numbers could be in different list elements --from distutils.sysconfig import * -+from sysconfig import * - e = get_config_var('VERSION') - if e is not None: - print(e) -@@ -208,8 +208,8 @@ EOD` - ac_python_libdir=`cat< %{buildroot}%{_mandir}/man1/ipmish.1 %{_mandir}/man5/ipmi_sim_cmd.5* %changelog +* Sun Feb 11 2024 Fedora Release Monitoring - 2.0.34-1 +- Update to 2.0.34 (rhbz#2105023) + * Mon Jan 22 2024 Fedora Release Engineering - 2.0.32-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/sources b/sources index ec51f6c..bf85804 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (OpenIPMI-2.0.32.tar.gz) = e409f32e6bbf26756338ada386fa394d48d734b4d6ba4beca700ce60bc3af3d0f41e972a328c4e076ae014f4fbd8598d05d3f879f9c6d76198e6ae1a2ba03e95 +SHA512 (OpenIPMI-2.0.34.tar.gz) = 25402019a4ee243effca30b7e0bfd4934f2e505a25009ea6330c4c9317299fde937ab3640f2dcb48aaabc9919d3a8f064807c368c0c0e6bca341e3c19ec82edd From e144f3ad661277522887f609defeb8d7123505d1 Mon Sep 17 00:00:00 2001 From: Pavel Cahyna Date: Sun, 11 Feb 2024 21:10:57 +0100 Subject: [PATCH 03/17] Add a patch from C9S Include config.h in cmdlang to avoid gethostbyname cmdlang.c uses a configure macro to determine getaddrinfo support. Without the macro defined, it uses gethostbyname instead of getaddrinfo. This was actually happening erroneously, because the code did not include config.h. Fix that. Avoids one rpminspect/rpmdiff warning. --- OpenIPMI.spec | 1 + include-config-h-cmdlang.patch | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 include-config-h-cmdlang.patch diff --git a/OpenIPMI.spec b/OpenIPMI.spec index a41c95e..8843778 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -12,6 +12,7 @@ Source1: openipmi.sysconf Source2: openipmi-helper Source3: ipmi.service Patch1: 0001-man.patch +Patch2: include-config-h-cmdlang.patch Patch4: OpenIPMI-c99.patch Patch5: OpenIPMI-py313compat.patch diff --git a/include-config-h-cmdlang.patch b/include-config-h-cmdlang.patch new file mode 100644 index 0000000..4f9fcab --- /dev/null +++ b/include-config-h-cmdlang.patch @@ -0,0 +1,12 @@ +diff -up OpenIPMI-2.0.32/cmdlang/cmdlang.c~ OpenIPMI-2.0.32/cmdlang/cmdlang.c +--- OpenIPMI-2.0.32/cmdlang/cmdlang.c~ 2021-01-22 19:51:28.000000000 +0100 ++++ OpenIPMI-2.0.32/cmdlang/cmdlang.c 2022-01-28 11:55:42.375470392 +0100 +@@ -32,6 +32,8 @@ + */ + + ++#include ++ + #include + #include + #include From c88325940a8a630c5685004734478a3e5fa4eeb3 Mon Sep 17 00:00:00 2001 From: Pavel Cahyna Date: Mon, 12 Feb 2024 09:14:48 +0100 Subject: [PATCH 04/17] Resolve a minor issue found by rpmdiff (from C9S) "Subpackage OpenIPMI-lanserv on aarch64 x86_64 ppc64le s390x consumes libraries libOpenIPMIposix.so.0()(64bit) libOpenIPMIutils.so.0()(64bit) from subpackage OpenIPMI-libs but does not have explicit package version requirement. Please add Requires: OpenIPMI-libs = %{version}-%{release} to OpenIPMI-lanserv in the specfile to avoid the need to test interoperability between the various combinations of old and new subpackages." "Subpackage OpenIPMI-devel on aarch64 x86_64 ppc64le s390x consumes library libIPMIlanserv.so.0()(64bit) from subpackage OpenIPMI-lanserv but does not have explicit package version requirement. Please add Requires: OpenIPMI-lanserv = %{version}-%{release} to OpenIPMI-devel in the specfile to avoid the need to test interoperability between the various combinations of old and new subpackages." --- OpenIPMI.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OpenIPMI.spec b/OpenIPMI.spec index 8843778..ebdc868 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -69,6 +69,7 @@ Summary: The development environment for the OpenIPMI project Requires: pkgconfig Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-lanserv%{?_isa} = %{version}-%{release} %description devel The OpenIPMI-devel package contains the development libraries and header files @@ -77,6 +78,7 @@ of the OpenIPMI project. %package lanserv Summary: Emulates an IPMI network listener Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description lanserv This package contains a network IPMI listener. From a2170f0b388e47de9b2ec998d0f166c9c89c0c10 Mon Sep 17 00:00:00 2001 From: Pavel Cahyna Date: Mon, 12 Feb 2024 11:23:56 +0100 Subject: [PATCH 05/17] Conditional Perl & Python module build By default disabled - seem to be unused. Debian has them disabled too. Related: rhbz#2245793 --- OpenIPMI.spec | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/OpenIPMI.spec b/OpenIPMI.spec index ebdc868..ea82550 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -1,5 +1,8 @@ %global _hardened_build 1 +%bcond_with python +%bcond_with perl + Summary: IPMI (Intelligent Platform Management Interface) library and tools Name: OpenIPMI @@ -17,8 +20,17 @@ Patch4: OpenIPMI-c99.patch Patch5: OpenIPMI-py313compat.patch BuildRequires: make -BuildRequires: gdbm-devel swig glib2-devel net-snmp-devel ncurses-devel -BuildRequires: openssl-devel python3-devel perl-devel perl-generators +BuildRequires: gdbm-devel glib2-devel net-snmp-devel ncurses-devel +%if %{with python} || %{with perl} +BuildRequires: swig +%endif +BuildRequires: openssl-devel +%if %{with python} +BuildRequires: python3-devel +%endif +%if %{with perl} +BuildRequires: perl-devel perl-generators +%endif BuildRequires: pkgconfig BuildRequires: readline-devel BuildRequires: automake @@ -44,13 +56,16 @@ Summary: The OpenIPMI runtime libraries The OpenIPMI-libs package contains the runtime libraries for shared binaries and applications. +%if %{with perl} %package perl Summary: IPMI Perl language bindings Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description perl The OpenIPMI-perl package contains the Perl language bindings for OpenIPMI. +%endif +%if %{with python} %package -n python3-openipmi %{?python_provide:%python_provide python3-openipmi} %{?python_provide:%python_provide python3-OpenIPMI} @@ -63,6 +78,7 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n python3-openipmi The OpenIPMI-python package contains the Python language bindings for OpenIPMI. +%endif %package devel Summary: The development environment for the OpenIPMI project @@ -94,8 +110,15 @@ This package contains a network IPMI listener. LDFLAGS="%{__global_ldflags} -Wl,--as-needed" \ --disable-dependency-tracking \ --disable-static \ +%if %{with python} --with-pythoninstall=%{python3_sitearch} \ --with-python=%{__python3} \ +%else + --with-python=no \ +%endif +%if %{without perl} + --with-perl=no \ +%endif --with-tcl=no \ --with-tkinter=no @@ -172,13 +195,17 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 %{_mandir}/man7/ipmi_cmdlang* %{_mandir}/man7/openipmi_conparms* +%if %{with perl} %files perl %attr(644,root,root) %{perl_vendorarch}/OpenIPMI.pm %{perl_vendorarch}/auto/OpenIPMI +%endif +%if %{with python} %files -n python3-openipmi %{python3_sitearch}/*OpenIPMI* %{python3_sitearch}/__pycache__/OpenIPMI.*.pyc +%endif %files libs %{_libdir}/libOpenIPMI*.so.* From d6d15f112717645a2af45657bd0cf5ca83764afb Mon Sep 17 00:00:00 2001 From: Pavel Cahyna Date: Mon, 12 Feb 2024 09:20:58 +0100 Subject: [PATCH 06/17] Update %changelog --- OpenIPMI.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/OpenIPMI.spec b/OpenIPMI.spec index ea82550..fa57e01 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -229,8 +229,14 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 %{_mandir}/man5/ipmi_sim_cmd.5* %changelog -* Sun Feb 11 2024 Fedora Release Monitoring - 2.0.34-1 +* Sun Feb 11 2024 Pavel Cahyna - 2.0.34-1 - Update to 2.0.34 (rhbz#2105023) +- Resolve issues found by rpmdiff + - add a patch to fix getaddrinfo detection to avoid using gethostbyname + - add explicit Requires: on subpackages to avoid the need to test + interoperability between the various combinations of old and new + subpackages +- Conditional Perl & Python module build, by default disabled * Mon Jan 22 2024 Fedora Release Engineering - 2.0.32-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 3a18f154a6a471bd47848ce39531f3b04ab0abf0 Mon Sep 17 00:00:00 2001 From: Pavel Cahyna Date: Tue, 7 May 2024 12:21:35 +0200 Subject: [PATCH 07/17] Remove patch integrated upstream Related: bz2278007 --- OpenIPMI-c99.patch | 60 ---------------------------------------------- OpenIPMI.spec | 1 - 2 files changed, 61 deletions(-) delete mode 100644 OpenIPMI-c99.patch diff --git a/OpenIPMI-c99.patch b/OpenIPMI-c99.patch deleted file mode 100644 index 40cb5c4..0000000 --- a/OpenIPMI-c99.patch +++ /dev/null @@ -1,60 +0,0 @@ -C type errors in the SWIG-generated Perl bindings - -The first change fixes an error with newer compilers: - -OpenIPMI_wrap.c: In function ‘_wrap_strconstarray_val_set’: -OpenIPMI_wrap.c:10491:27: error: assignment to ‘const char **’ from incompatible pointer type ‘char **’ -10491 | if (arg1) (arg1)->val = arg2; - | ^ - -The second change is also about a compiler error: - -In file included from /usr/lib64/perl5/CORE/perl.h:4530, - from OpenIPMI_wrap.c:751: -OpenIPMI_wrap.c: In function ‘_wrap_ipmi_sol_conn_t_write’: -/usr/lib64/perl5/CORE/sv.h:1952:31: error: passing argument 3 of ‘Perl_SvPV_helper’ from incompatible pointer type - 1952 | Perl_SvPV_helper(aTHX_ sv, &len, flags, SvPVnormal_type_, \ -/usr/lib64/perl5/CORE/sv.h:1972:37: note: in expansion of macro ‘SvPV_flags’ - 1972 | #define SvPV(sv, len) SvPV_flags(sv, len, SV_GMAGIC) - | ^~~~~~~~~~ -OpenIPMI_wrap.c:27664:24: note: in expansion of macro ‘SvPV’ -27664 | (&arg2)->val = SvPV(tempsv, (&arg2)->len); - | ^~~~ -In file included from /usr/lib64/perl5/CORE/perl.h:7812: -/usr/lib64/perl5/CORE/sv_inline.h:908:33: note: expected ‘STRLEN * const’ {aka ‘long unsigned int * const’} but argument is of type ‘int *’ - 908 | STRLEN * const lp, - | ~~~~~~~~~~~~~~~^~ - -But the existing code looks broken on big-endian 64-bit architectures, -too. - -Submitted upstream: - -diff --git a/swig/OpenIPMI.i b/swig/OpenIPMI.i -index 8e674a94e6f85f62..db2aa1b5292a276f 100644 ---- a/swig/OpenIPMI.i -+++ b/swig/OpenIPMI.i -@@ -359,7 +359,7 @@ typedef struct iargarray - %} - typedef struct strconstarray - { -- char **val; -+ const char **val; - int len; - } strconstarray; - typedef struct argarray -diff --git a/swig/perl/OpenIPMI_lang.i b/swig/perl/OpenIPMI_lang.i -index d13b62f09e69e02a..d7482d1135cdc3e4 100644 ---- a/swig/perl/OpenIPMI_lang.i -+++ b/swig/perl/OpenIPMI_lang.i -@@ -292,7 +292,9 @@ - $1.val = NULL; - $1.len = 0; - } else { -- $1.val = SvPV(tempsv, $1.len); -+ STRLEN len; -+ $1.val = SvPV(tempsv, len); -+ $1.len = len; - } - } - diff --git a/OpenIPMI.spec b/OpenIPMI.spec index fa57e01..e0d1030 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -16,7 +16,6 @@ Source2: openipmi-helper Source3: ipmi.service Patch1: 0001-man.patch Patch2: include-config-h-cmdlang.patch -Patch4: OpenIPMI-c99.patch Patch5: OpenIPMI-py313compat.patch BuildRequires: make From a31e92343fea7cca2c96a9d03c73c170ebe1594c Mon Sep 17 00:00:00 2001 From: Pavel Cahyna Date: Tue, 7 May 2024 14:45:00 +0200 Subject: [PATCH 08/17] Update to 2.0.35 (#2278007) --- .gitignore | 1 + OpenIPMI.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 60c81c3..74b8b02 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ OpenIPMI-2.0.18.tar.gz /OpenIPMI-2.0.31.tar.gz /OpenIPMI-2.0.32.tar.gz /OpenIPMI-2.0.34.tar.gz +/OpenIPMI-2.0.35.tar.gz diff --git a/OpenIPMI.spec b/OpenIPMI.spec index e0d1030..a3c74c7 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -6,7 +6,7 @@ Summary: IPMI (Intelligent Platform Management Interface) library and tools Name: OpenIPMI -Version: 2.0.34 +Version: 2.0.35 Release: 1%{?dist} License: LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause URL: http://sourceforge.net/projects/openipmi/ diff --git a/sources b/sources index bf85804..8bbc09d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (OpenIPMI-2.0.34.tar.gz) = 25402019a4ee243effca30b7e0bfd4934f2e505a25009ea6330c4c9317299fde937ab3640f2dcb48aaabc9919d3a8f064807c368c0c0e6bca341e3c19ec82edd +SHA512 (OpenIPMI-2.0.35.tar.gz) = 95a662fbdc5f799b37ce2987cad9305160032f566164032de0495fd9bafe80a423d18b4dcf91937155f853fece1d71fcc3f7eef52f6c48d2eceb68d020ca79f2 From 9a0ad87fac1d30c42f187bd790ca7cb3bacf5160 Mon Sep 17 00:00:00 2001 From: Pavel Cahyna Date: Tue, 7 May 2024 14:41:18 +0200 Subject: [PATCH 09/17] Switch to https --- OpenIPMI.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenIPMI.spec b/OpenIPMI.spec index a3c74c7..39e7873 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -9,8 +9,8 @@ Name: OpenIPMI Version: 2.0.35 Release: 1%{?dist} License: LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause -URL: http://sourceforge.net/projects/openipmi/ -Source: http://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz +URL: https://sourceforge.net/projects/openipmi/ +Source: https://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz Source1: openipmi.sysconf Source2: openipmi-helper Source3: ipmi.service From 88ae7665857c17ac5f00a3f892291e7a5ae6c532 Mon Sep 17 00:00:00 2001 From: Pavel Cahyna Date: Tue, 7 May 2024 14:45:25 +0200 Subject: [PATCH 10/17] Update changelog --- OpenIPMI.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OpenIPMI.spec b/OpenIPMI.spec index 39e7873..8cc47c3 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -228,6 +228,11 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 %{_mandir}/man5/ipmi_sim_cmd.5* %changelog +* Tue May 7 2024 Pavel Cahyna - 2.0.35-1 +- Switch to https +- Update to 2.0.35 (rhbz#2278007) + drop patch integrated upstream + * Sun Feb 11 2024 Pavel Cahyna - 2.0.34-1 - Update to 2.0.34 (rhbz#2105023) - Resolve issues found by rpmdiff From 664ac6d0ffced21d9ca31f2359ce0ba6032ea57d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 15:04:33 +0000 Subject: [PATCH 11/17] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- OpenIPMI.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenIPMI.spec b/OpenIPMI.spec index 8cc47c3..55bc6b0 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -7,7 +7,7 @@ Summary: IPMI (Intelligent Platform Management Interface) library and tools Name: OpenIPMI Version: 2.0.35 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause URL: https://sourceforge.net/projects/openipmi/ Source: https://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz @@ -228,6 +228,9 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 %{_mandir}/man5/ipmi_sim_cmd.5* %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 2.0.35-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Tue May 7 2024 Pavel Cahyna - 2.0.35-1 - Switch to https - Update to 2.0.35 (rhbz#2278007) From 45b2ff20f8166ec829ba1555440d95d9f21ae0f2 Mon Sep 17 00:00:00 2001 From: Pavel Cahyna Date: Thu, 22 Aug 2024 21:55:17 +0200 Subject: [PATCH 12/17] Update to 2.0.36 (#2302353) Resolves CVE-2024-42934 --- .gitignore | 1 + OpenIPMI.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 74b8b02..18dbbc6 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ OpenIPMI-2.0.18.tar.gz /OpenIPMI-2.0.32.tar.gz /OpenIPMI-2.0.34.tar.gz /OpenIPMI-2.0.35.tar.gz +/OpenIPMI-2.0.36.tar.gz diff --git a/OpenIPMI.spec b/OpenIPMI.spec index 55bc6b0..fb04edb 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -6,8 +6,8 @@ Summary: IPMI (Intelligent Platform Management Interface) library and tools Name: OpenIPMI -Version: 2.0.35 -Release: 2%{?dist} +Version: 2.0.36 +Release: 1%{?dist} License: LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause URL: https://sourceforge.net/projects/openipmi/ Source: https://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz @@ -228,6 +228,10 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 %{_mandir}/man5/ipmi_sim_cmd.5* %changelog +* Thu Aug 22 2024 Fedora Release Monitoring - 2.0.36-1 +- Update to 2.0.36 (#2302353) +- Resolves CVE-2024-42934 + * Wed Jul 17 2024 Fedora Release Engineering - 2.0.35-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild diff --git a/sources b/sources index 8bbc09d..1870111 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (OpenIPMI-2.0.35.tar.gz) = 95a662fbdc5f799b37ce2987cad9305160032f566164032de0495fd9bafe80a423d18b4dcf91937155f853fece1d71fcc3f7eef52f6c48d2eceb68d020ca79f2 +SHA512 (OpenIPMI-2.0.36.tar.gz) = a47725308336f200e88a1eb8641ed5ef03fc8bb43ee47f7a99e39df68640ff912b6842c1710d7e767aeb724fc41fa4ed3b244685812ee985e5200003a45f4015 From dccfce06e679e26fd2c4d69cd2f7cb6c094338d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 15 Feb 2024 19:23:44 +0100 Subject: [PATCH 13/17] Update the Python 3.13 compatibility patch - the ctypes.h changes in not necessary any more (still valuable upstream) - the PyEval_InitThreads() function was removed and does nothing since 3.7 (upstream might need a more complex patch to support Python 3.6 etc.) Fixes https://bugzilla.redhat.com/2245793 --- OpenIPMI-py313compat.patch | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/OpenIPMI-py313compat.patch b/OpenIPMI-py313compat.patch index 60845b4..fccde75 100644 --- a/OpenIPMI-py313compat.patch +++ b/OpenIPMI-py313compat.patch @@ -1,12 +1,13 @@ -diff -ur OpenIPMI-2.0.34/swig/OpenIPMI.i OpenIPMI-2.0.34-python/swig/OpenIPMI.i ---- OpenIPMI-2.0.34/swig/OpenIPMI.i 2024-02-11 19:52:41.555777279 +0100 -+++ OpenIPMI-2.0.34-python/swig/OpenIPMI.i 2024-02-11 20:11:59.061132776 +0100 -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - - #ifdef HAVE_GETADDRINFO - #include -Only in OpenIPMI-2.0.34-python/swig: OpenIPMI.i~ +diff --git a/swig/python/OpenIPMI_lang.i b/swig/python/OpenIPMI_lang.i +index 67221fd..d150d81 100644 +--- a/swig/python/OpenIPMI_lang.i ++++ b/swig/python/OpenIPMI_lang.i +@@ -541,7 +541,7 @@ static void OI_put_py_state(int current) + #else + static void init_lang(void) + { +- PyEval_InitThreads(); ++ /* nothing */ + } + #define OI_PY_STATE PyGILState_STATE + #define OI_PY_STATE_GET() PyGILState_Ensure() From eab46d052724d69ae5e5a364f1eaedd673fa7641 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 08:49:45 +0000 Subject: [PATCH 14/17] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- OpenIPMI.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenIPMI.spec b/OpenIPMI.spec index fb04edb..a4016f2 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -7,7 +7,7 @@ Summary: IPMI (Intelligent Platform Management Interface) library and tools Name: OpenIPMI Version: 2.0.36 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause URL: https://sourceforge.net/projects/openipmi/ Source: https://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz @@ -228,6 +228,9 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 %{_mandir}/man5/ipmi_sim_cmd.5* %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 2.0.36-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Thu Aug 22 2024 Fedora Release Monitoring - 2.0.36-1 - Update to 2.0.36 (#2302353) - Resolves CVE-2024-42934 From e81dec8ae9526bdd4b23c5ff739edb5b037891cc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 15:54:03 +0000 Subject: [PATCH 15/17] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- OpenIPMI.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenIPMI.spec b/OpenIPMI.spec index a4016f2..6c5caf9 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -7,7 +7,7 @@ Summary: IPMI (Intelligent Platform Management Interface) library and tools Name: OpenIPMI Version: 2.0.36 -Release: 2%{?dist} +Release: 3%{?dist} License: LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause URL: https://sourceforge.net/projects/openipmi/ Source: https://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz @@ -228,6 +228,9 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 %{_mandir}/man5/ipmi_sim_cmd.5* %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 2.0.36-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Thu Jan 16 2025 Fedora Release Engineering - 2.0.36-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 2edc97063dc61b500d01430ef454c5b9cde006e5 Mon Sep 17 00:00:00 2001 From: Josef Ridky Date: Mon, 12 Jan 2026 18:33:24 +0100 Subject: [PATCH 16/17] Rebuild for new net-snmp release Signed-off-by: Josef Ridky --- OpenIPMI.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenIPMI.spec b/OpenIPMI.spec index 6c5caf9..eb73792 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -7,7 +7,7 @@ Summary: IPMI (Intelligent Platform Management Interface) library and tools Name: OpenIPMI Version: 2.0.36 -Release: 3%{?dist} +Release: 4%{?dist} License: LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause URL: https://sourceforge.net/projects/openipmi/ Source: https://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz @@ -228,6 +228,9 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 %{_mandir}/man5/ipmi_sim_cmd.5* %changelog +* Mon Jan 12 2026 Josef Ridky - 2.0.36-4 +- rebuild for new net-snmp release + * Wed Jul 23 2025 Fedora Release Engineering - 2.0.36-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 32e6b7566bdcf7cdc0f26c522377ee214c8f2644 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 02:39:45 +0000 Subject: [PATCH 17/17] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- OpenIPMI.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenIPMI.spec b/OpenIPMI.spec index eb73792..7016dc2 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -7,7 +7,7 @@ Summary: IPMI (Intelligent Platform Management Interface) library and tools Name: OpenIPMI Version: 2.0.36 -Release: 4%{?dist} +Release: 5%{?dist} License: LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause URL: https://sourceforge.net/projects/openipmi/ Source: https://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz @@ -228,6 +228,9 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 %{_mandir}/man5/ipmi_sim_cmd.5* %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 2.0.36-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Mon Jan 12 2026 Josef Ridky - 2.0.36-4 - rebuild for new net-snmp release