diff --git a/.gitignore b/.gitignore index d61324c..18dbbc6 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,6 @@ 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 +/OpenIPMI-2.0.35.tar.gz +/OpenIPMI-2.0.36.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-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-py313compat.patch b/OpenIPMI-py313compat.patch new file mode 100644 index 0000000..fccde75 --- /dev/null +++ b/OpenIPMI-py313compat.patch @@ -0,0 +1,13 @@ +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() 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}/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.* @@ -200,6 +228,39 @@ 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 + +* 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 + +* 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 + +* 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 + - 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 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 diff --git a/sources b/sources index ec51f6c..1870111 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (OpenIPMI-2.0.32.tar.gz) = e409f32e6bbf26756338ada386fa394d48d734b4d6ba4beca700ce60bc3af3d0f41e972a328c4e076ae014f4fbd8598d05d3f879f9c6d76198e6ae1a2ba03e95 +SHA512 (OpenIPMI-2.0.36.tar.gz) = a47725308336f200e88a1eb8641ed5ef03fc8bb43ee47f7a99e39df68640ff912b6842c1710d7e767aeb724fc41fa4ed3b244685812ee985e5200003a45f4015