forked from pool/OpenIPMI
Compare commits
10 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 33971c7555 | |||
| 8c46dce823 | |||
| ff39f90ad8 | |||
| 30af4b2558 | |||
| bdf6756ae3 | |||
| e83281a623 | |||
| 45f6f16aab | |||
| de6a9f2869 | |||
|
|
eb2919fbb1 | ||
| 9ac78ca4ae |
BIN
OpenIPMI-2.0.31.tar.gz
LFS
BIN
OpenIPMI-2.0.31.tar.gz
LFS
Binary file not shown.
@@ -1,240 +0,0 @@
|
||||
diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
|
||||
index e0804c5..3696cef 100644
|
||||
--- a/m4/ax_python_devel.m4
|
||||
+++ b/m4/ax_python_devel.m4
|
||||
@@ -1,5 +1,5 @@
|
||||
# ===========================================================================
|
||||
-# http://www.gnu.org/software/autoconf-archive/ax_python_devel.html
|
||||
+# https://www.gnu.org/software/autoconf-archive/ax_python_devel.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
@@ -52,7 +52,7 @@
|
||||
# Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
-# with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
+# with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
@@ -67,7 +67,7 @@
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
-#serial 18
|
||||
+#serial 25
|
||||
|
||||
AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL])
|
||||
AC_DEFUN([AX_PYTHON_DEVEL],[
|
||||
@@ -118,15 +118,39 @@ to something else than an empty string.
|
||||
fi
|
||||
|
||||
#
|
||||
- # if the macro parameter ``version'' is set, honour it
|
||||
+ # If the macro parameter ``version'' is set, honour it.
|
||||
+ # A Python shim class, VPy, is used to implement correct version comparisons via
|
||||
+ # string expressions, since e.g. a naive textual ">= 2.7.3" won't work for
|
||||
+ # Python 2.7.10 (the ".1" being evaluated as less than ".3").
|
||||
#
|
||||
if test -n "$1"; then
|
||||
AC_MSG_CHECKING([for a version of Python $1])
|
||||
- ac_supports_python_ver=`$PYTHON -c "import sys; \
|
||||
- ver = sys.version.split ()[[0]]; \
|
||||
+ cat << EOF > ax_python_devel_vpy.py
|
||||
+class VPy:
|
||||
+ def vtup(self, s):
|
||||
+ return tuple(map(int, s.strip().replace("rc", ".").split(".")))
|
||||
+ def __init__(self):
|
||||
+ import sys
|
||||
+ self.vpy = tuple(sys.version_info)
|
||||
+ def __eq__(self, s):
|
||||
+ return self.vpy == self.vtup(s)
|
||||
+ def __ne__(self, s):
|
||||
+ return self.vpy != self.vtup(s)
|
||||
+ def __lt__(self, s):
|
||||
+ return self.vpy < self.vtup(s)
|
||||
+ def __gt__(self, s):
|
||||
+ return self.vpy > self.vtup(s)
|
||||
+ def __le__(self, s):
|
||||
+ return self.vpy <= self.vtup(s)
|
||||
+ def __ge__(self, s):
|
||||
+ return self.vpy >= self.vtup(s)
|
||||
+EOF
|
||||
+ ac_supports_python_ver=`$PYTHON -c "import ax_python_devel_vpy; \
|
||||
+ ver = ax_python_devel_vpy.VPy(); \
|
||||
print (ver $1)"`
|
||||
+ rm -rf ax_python_devel_vpy*.py* __pycache__/ax_python_devel_vpy*.py*
|
||||
if test "$ac_supports_python_ver" = "True"; then
|
||||
- AC_MSG_RESULT([yes])
|
||||
+ AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([this package requires Python $1.
|
||||
@@ -141,16 +165,25 @@ variable to configure. See ``configure --help'' for reference.
|
||||
#
|
||||
# Check if you have distutils, else fail
|
||||
#
|
||||
- AC_MSG_CHECKING([for the distutils Python package])
|
||||
- ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
|
||||
- if test -z "$ac_distutils_result"; then
|
||||
+ 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])
|
||||
+ IMPORT_SYSCONFIG="import sysconfig"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
- AC_MSG_ERROR([cannot import Python module "distutils".
|
||||
+
|
||||
+ AC_MSG_CHECKING([for the distutils Python package])
|
||||
+ ac_sysconfig_result=`$PYTHON -c "from distutils import sysconfig" 2>&1`
|
||||
+ if test $? -eq 0; then
|
||||
+ AC_MSG_RESULT([yes])
|
||||
+ IMPORT_SYSCONFIG="from distutils import sysconfig"
|
||||
+ else
|
||||
+ AC_MSG_ERROR([cannot import Python module "distutils".
|
||||
Please check your Python installation. The error was:
|
||||
-$ac_distutils_result])
|
||||
- PYTHON_VERSION=""
|
||||
+$ac_sysconfig_result])
|
||||
+ PYTHON_VERSION=""
|
||||
+ fi
|
||||
fi
|
||||
|
||||
#
|
||||
@@ -158,10 +191,19 @@ $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));"`
|
||||
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
|
||||
+ # sysconfig module has different functions
|
||||
+ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
|
||||
+ print (sysconfig.get_path ('include'));"`
|
||||
+ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
|
||||
+ print (sysconfig.get_path ('platinclude'));"`
|
||||
+ else
|
||||
+ # old distutils way
|
||||
+ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
|
||||
+ print (sysconfig.get_python_inc ());"`
|
||||
+ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
|
||||
+ print (sysconfig.get_python_inc (plat_specific=1));"`
|
||||
+ fi
|
||||
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 +227,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 +250,8 @@ EOD`
|
||||
ac_python_libdir=`cat<<EOD | $PYTHON -
|
||||
|
||||
# There should be only one
|
||||
-import distutils.sysconfig
|
||||
-e = distutils.sysconfig.get_config_var('LIBDIR')
|
||||
+$IMPORT_SYSCONFIG
|
||||
+e = sysconfig.get_config_var('LIBDIR')
|
||||
if e is not None:
|
||||
print (e)
|
||||
EOD`
|
||||
@@ -217,8 +259,8 @@ EOD`
|
||||
# Now, for the library:
|
||||
ac_python_library=`cat<<EOD | $PYTHON -
|
||||
|
||||
-import distutils.sysconfig
|
||||
-c = distutils.sysconfig.get_config_vars()
|
||||
+$IMPORT_SYSCONFIG
|
||||
+c = sysconfig.get_config_vars()
|
||||
if 'LDVERSION' in c:
|
||||
print ('python'+c[['LDVERSION']])
|
||||
else:
|
||||
@@ -237,7 +279,7 @@ EOD`
|
||||
else
|
||||
# old way: use libpython from python_configdir
|
||||
ac_python_libdir=`$PYTHON -c \
|
||||
- "from distutils.sysconfig import get_python_lib as f; \
|
||||
+ "from sysconfig import get_python_lib as f; \
|
||||
import os; \
|
||||
print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
|
||||
PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version"
|
||||
@@ -258,35 +300,58 @@ EOD`
|
||||
#
|
||||
AC_MSG_CHECKING([for Python site-packages path])
|
||||
if test -z "$PYTHON_SITE_PKG"; then
|
||||
- PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
|
||||
- print (distutils.sysconfig.get_python_lib(0,0));"`
|
||||
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
|
||||
+ PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
|
||||
+ print (sysconfig.get_path('purelib'));"`
|
||||
+ else
|
||||
+ # distutils.sysconfig way
|
||||
+ PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
|
||||
+ print (sysconfig.get_python_lib(0,0));"`
|
||||
+ fi
|
||||
fi
|
||||
AC_MSG_RESULT([$PYTHON_SITE_PKG])
|
||||
AC_SUBST([PYTHON_SITE_PKG])
|
||||
|
||||
+ #
|
||||
+ # Check for platform-specific site packages
|
||||
+ #
|
||||
+ AC_MSG_CHECKING([for Python platform specific site-packages path])
|
||||
+ if test -z "$PYTHON_SITE_PKG"; then
|
||||
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
|
||||
+ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
|
||||
+ print (sysconfig.get_path('platlib'));"`
|
||||
+ else
|
||||
+ # distutils.sysconfig way
|
||||
+ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
|
||||
+ print (sysconfig.get_python_lib(1,0));"`
|
||||
+ fi
|
||||
+ fi
|
||||
+ AC_MSG_RESULT([$PYTHON_PLATFORM_SITE_PKG])
|
||||
+ AC_SUBST([PYTHON_PLATFORM_SITE_PKG])
|
||||
+
|
||||
#
|
||||
# libraries which must be linked in when embedding
|
||||
#
|
||||
AC_MSG_CHECKING(python extra libraries)
|
||||
- if test -z "$PYTHON_EXTRA_LDFLAGS"; then
|
||||
- PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
|
||||
- conf = distutils.sysconfig.get_config_var; \
|
||||
+ if test -z "$PYTHON_EXTRA_LIBS"; then
|
||||
+ PYTHON_EXTRA_LIBS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
|
||||
+ conf = sysconfig.get_config_var; \
|
||||
print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
|
||||
fi
|
||||
- AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
|
||||
- AC_SUBST(PYTHON_EXTRA_LDFLAGS)
|
||||
+ AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
|
||||
+ AC_SUBST(PYTHON_EXTRA_LIBS)
|
||||
|
||||
#
|
||||
# linking flags needed when embedding
|
||||
#
|
||||
AC_MSG_CHECKING(python extra linking flags)
|
||||
- if test -z "$PYTHON_EXTRA_LIBS"; then
|
||||
- PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
|
||||
- conf = distutils.sysconfig.get_config_var; \
|
||||
+ if test -z "$PYTHON_EXTRA_LDFLAGS"; then
|
||||
+ PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
|
||||
+ conf = sysconfig.get_config_var; \
|
||||
print (conf('LINKFORSHARED'))"`
|
||||
fi
|
||||
- AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
|
||||
- AC_SUBST(PYTHON_EXTRA_LIBS)
|
||||
+ AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
|
||||
+ AC_SUBST(PYTHON_EXTRA_LDFLAGS)
|
||||
|
||||
#
|
||||
# final check to see if everything compiles alright
|
||||
@@ -1,20 +0,0 @@
|
||||
Index: OpenIPMI-2.0.31/swig/OpenIPMI.i
|
||||
===================================================================
|
||||
--- OpenIPMI-2.0.31.orig/swig/OpenIPMI.i
|
||||
+++ OpenIPMI-2.0.31/swig/OpenIPMI.i
|
||||
@@ -3123,6 +3123,7 @@ init_glib(void)
|
||||
init_lang();
|
||||
#endif
|
||||
swig_os_hnd = init_glib_shim("");
|
||||
+ return 0;
|
||||
#else
|
||||
return ENOSYS;
|
||||
#endif
|
||||
@@ -3138,6 +3139,7 @@ init_glib12(void)
|
||||
init_lang();
|
||||
#endif
|
||||
swig_os_hnd = init_glib_shim("12");
|
||||
+ return 0;
|
||||
#else
|
||||
return ENOSYS;
|
||||
#endif
|
||||
176
OpenIPMI.changes
176
OpenIPMI.changes
@@ -1,3 +1,179 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 15 09:00:07 UTC 2025 - Thomas Renninger <trenn@suse.de>
|
||||
|
||||
- Update to version 2.0.37.1+git.ed1a49ee:
|
||||
* Some broken BMCs use an invalid padding length of 16
|
||||
* Move to version 2.0.37
|
||||
* lanserv: Add sysinfo.h to the makefile include list
|
||||
* lanserv: Set length on get chassis capability response
|
||||
* ipmi_sim: On a watchdog reset, stop the timer before starting
|
||||
* lanserv: Add platform event command handling
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 11 12:28:45 UTC 2025 - trenn@suse.de
|
||||
|
||||
- Update to version 2.0.36.56+git.0a3a991:
|
||||
* lanserv: Mark serial channels special
|
||||
* sol: Refcount sol instance in ipmid_changed
|
||||
* lanserv: Set the channel info accurately for system interface
|
||||
* lanserv: Allow serial IPMI connections on channels besides 15
|
||||
* lanserv: Add limits to the receive queue
|
||||
* lanserv: Add timing for messages
|
||||
* lanserv: Fix a bug in response handling for LAN messages
|
||||
* lanserv: Yet another message dup bug
|
||||
* lanserv: Fix a bug in message duplication
|
||||
* lanserv: Remove one more unnecessary memset
|
||||
* lanserv: Remove unnecessary memsets
|
||||
* lanserv: Add the cmd to the things check for response matching
|
||||
* lanserv: Add a function to allocate and free message
|
||||
* lanserv: Fix a memory leak
|
||||
* lanserv: Don't allocate a new message for SMI handling
|
||||
* lanserv: Rework naming and message handling a bit
|
||||
* lanserv: More malloc/free cleanups
|
||||
* lanserv: Clean up memory handling
|
||||
* lanserv: Remove functions from channel and use sysinfo
|
||||
* lanserv: Create and use a message queue type
|
||||
* lanserv: Separate out the receive queue
|
||||
* lanserv: Reduce the size of the sim_addr_t passed around
|
||||
* lanserv: Get lun 2 commands working
|
||||
* lanserv: Rework receive queue to not have a dummy first byte
|
||||
* lanserv: More message routing work
|
||||
* lanserv: More work on the message routing
|
||||
* lanserv: More rework
|
||||
* lanserv: More work on restructure
|
||||
* lanserv: Rework address names
|
||||
* lanserv: More restructuring on message handling
|
||||
* lanserv: Move check_msg_length() to serv.c
|
||||
* lanserv: Round-robin sessions
|
||||
* lanserv: Rework the send message handling
|
||||
* lan: Don't set reponse LUN to 2 in bridged messages
|
||||
* lanserv: Allow RMCP authtype for no session messages
|
||||
* github: Add readline to the dependencies
|
||||
* Remove support for UCD SNMP
|
||||
* ipmish: Fix snmp trap handling
|
||||
* lanserv: Use ssize_t for the return value of read()
|
||||
* lanserv: Get rid of the rmcpplus session member
|
||||
* lanserv: Preserve handle when clearing session data
|
||||
* lanserv: Don't allow user 0 to be configured
|
||||
* utils:md5: Handle data for md5 cannot be NULL
|
||||
* lanserv: Validate message ordering at authentication
|
||||
* lanserv: Don't assign session privilege until after auth is done
|
||||
* lanserv: Clear out session data on a close
|
||||
* utils: Check for NULL before freeing MD5 data
|
||||
* lib:lan: Reject a zero sid
|
||||
* sample: Fix data parsing in ipmicmd
|
||||
* ui: Pass in a sockaddr_in to SNMP trap handler
|
||||
* Fix gen_random()
|
||||
* lanserv: Check that authdata is initialized before cleanup
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 25 10:40:09 UTC 2024 - trenn@suse.de
|
||||
|
||||
- Fix bsc#1229910 CVE-2024-42934 by below 2 patches:
|
||||
* lanserv: Fix an issue with authorization range checking
|
||||
* lanserv: Check some bounds on incoming messages
|
||||
- Remove mainlined patches:
|
||||
D OpenIPMI-autoconf-m4-ax-python-devel-serial25.patch
|
||||
D OpenIPMI-c99.patch
|
||||
- Update to version 2.0.36.4+git.c114912:
|
||||
* strings: Fix an incorrect string in sensor type 0x1f
|
||||
* lanserv: Check that message and negotiated authtypes are the same
|
||||
* Update some strings for newer IPMI standards
|
||||
* Fix error report in startup_set_sel_time
|
||||
* Move to version 2.0.36
|
||||
* lanserv: Fix an issue with authorization range checking
|
||||
* lanserv: Fix an issue logging an error on a message
|
||||
* include: Add a doc for the lifetime of ipmi_entity_get_fru()
|
||||
* Move to version 2.0.35
|
||||
* lanserv: Check some bounds on incoming messages
|
||||
* Create SECURITY.md
|
||||
* swig: Cast some values to get proper passing of values
|
||||
* sample: Fix an snprintf overflow issue
|
||||
* ui: Fix an snprintf overflow issue
|
||||
* Add github actions
|
||||
* cmdlang: Remove yet more dead code
|
||||
* swig: Remove a double free
|
||||
* ui: More print issues
|
||||
* sensor: Remove more dead code
|
||||
* swig: Fix more resource leaks
|
||||
* Finish up error updates
|
||||
* ui: Fix a ton of formatting errors
|
||||
* cmdlang: Remove some dead code
|
||||
* cmdlang: Remove some dead code
|
||||
* cmdlang: Remove an unneeded if
|
||||
* cmdlang: Remove an unnecessary loop
|
||||
* cmdlang: Remove some dead code
|
||||
* lanserv: Fix an invalid overlapping copy
|
||||
* lanserv: Add a missing break for watchdog handling
|
||||
* lanserv: Add a check for the picmg address controller not found
|
||||
* lanserv: Add a missing NULL pointer check
|
||||
* lanserv: Fix an error report
|
||||
* lanserv: Fix an unsigned compare issue
|
||||
* lanserv: Remove some dead code
|
||||
* lanserv: Fix reading persistance data
|
||||
* domain: Fix some various bugs
|
||||
* entity: Fix a ordering check issue
|
||||
* fru: Remove unnecessary check
|
||||
* smi: Remove some dead code
|
||||
* utils: Fix address comparison
|
||||
* fru: Fix record with possible NULL data
|
||||
* mc: Fix sel re-fetch
|
||||
* atca: Fix some various issues
|
||||
* oem_motorola_mxp: Fix some minor issues
|
||||
* control,sensor: Fix some string handling
|
||||
* sel: Add a missing NULL check
|
||||
* sample: Remove some dead code
|
||||
* sensor: Fix some wrong sizes
|
||||
* tcl: Fix an infinite loop
|
||||
* swig: Fix a wrong malloc size
|
||||
* lanserv: Fix a memory leak in sdrcomp
|
||||
* unix: Add missing unlock on an error handler
|
||||
* unix: Cast a variable to int from time()
|
||||
* swig: Fix issues with memory handling
|
||||
* Don't run perl tests in parallel
|
||||
* C type errors in the SWIG-generated Perl bindings
|
||||
* Move to version 2.0.34
|
||||
* swig:perl: Fix the tests
|
||||
* swig:perl: Add a way to print the test environment
|
||||
* lanserv: Allow zero to be specified for the port
|
||||
* lanserv: Return an error if sensor data is requested before ready
|
||||
* unix: Handle EAGAIN along with EINTR
|
||||
* ipmi_sim:sensor: Add the low 8 bits of discrete value to sensor reading
|
||||
* fix coredump when use ipmi_ui
|
||||
* Fix the name of global event support for sensors
|
||||
* Update configure.ac
|
||||
* Move to version 2.0.33
|
||||
* exec: fix race in symlink install
|
||||
* Make lan.conf and simulator startup file 600 permissions
|
||||
* Update the python m4 file
|
||||
* Avoid searching host library path
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 18 12:31:39 UTC 2024 - Martin Jambor <mjambor@suse.com>
|
||||
|
||||
- Add OpenIPMI-c99.patch in order to make the package buildable with
|
||||
GCC 14. Patch comes from upstream
|
||||
https://sourceforge.net/p/openipmi/patches/38/ [[boo#1225871]]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 10 13:34:05 UTC 2022 - trenn@suse.de
|
||||
|
||||
- Update to version 2.0.32.3+git.05faa36e:
|
||||
* entity: Handle NULL entity in internal_fru_fetch_done()
|
||||
* entity: Keep the entity around duringa FRU fetch
|
||||
* Move to version 2.0.32
|
||||
* Fix readline and python support
|
||||
* sol: Fix multiple flush queuing issue
|
||||
- Patches that are mainline:
|
||||
D fix-conversions.patch
|
||||
D unix_thread-Remove-the-fd-handler-sets-before-it-s-set-up.patch
|
||||
D lanserv-Add-the-judgment-on-the-validity-of-length-in-emu_cmd.c-and-session-in-lanserv_ipmi.c.patch
|
||||
D OpenIPMI-no-return-in-nonvoid-function.patch
|
||||
- Refreshed patches not yet mainline:
|
||||
M openipmi-tinfo.patch
|
||||
M fix_dia_version_detection.patch
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 9 16:41:24 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package OpenIPMI
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -16,11 +16,6 @@
|
||||
#
|
||||
|
||||
|
||||
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
||||
%if ! %{defined _fillupdir}
|
||||
%define _fillupdir %{_localstatedir}/adm/fillup-templates
|
||||
%endif
|
||||
|
||||
# IPMI.pdf build for devel package
|
||||
# It is not worth to build, but as I got it running I add it
|
||||
# how it worked for me in Tumbleweed, Leap 42.2 and 42.3 and SLE 15
|
||||
@@ -29,40 +24,29 @@
|
||||
%if 0%{?suse_version} < 1500
|
||||
%define doc_build 0
|
||||
%endif
|
||||
|
||||
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
||||
%if ! %{defined _fillupdir}
|
||||
%define _fillupdir %{_localstatedir}/adm/fillup-templates
|
||||
%endif
|
||||
Name: OpenIPMI
|
||||
Version: 2.0.31
|
||||
Version: 2.0.37.1+git.ed1a49ee
|
||||
Release: 0
|
||||
Summary: Service processor access via IPMI
|
||||
License: LGPL-2.1-or-later
|
||||
Group: System/Monitoring
|
||||
URL: http://openipmi.sourceforge.net
|
||||
Source0: http://prdownloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz
|
||||
Source0: openipmi-%{version}.tar.gz
|
||||
Source1: sysconfig.ipmi
|
||||
Source2: ipmi.service
|
||||
Source3: openipmi-helper
|
||||
Source4: bootstrap
|
||||
Source99: OpenIPMI-rpmlintrc
|
||||
# Patch0: OpenIPMI-2.0.25..HEAD_git.diff
|
||||
Patch1: OpenIPMI-prefer_perl_vendor.patch
|
||||
Patch2: fix-conversions.patch
|
||||
# PATCH-FIX-UPSTREAM do not use bundled libedit
|
||||
# Patch3: 0003-Apply-OpenIPMI-2.0.21-nobundle.patch.patch
|
||||
# PATCH-FIX-UPSTREAM detect tinfo from ncurses properly
|
||||
Patch4: openipmi-tinfo.patch
|
||||
Patch2: openipmi-tinfo.patch
|
||||
# link with ncurses
|
||||
Patch5: OpenIMPI-add-libncurses.patch
|
||||
# some int functions do not return a value
|
||||
Patch6: OpenIPMI-no-return-in-nonvoid-function.patch
|
||||
Patch7: fix_dia_version_detection.patch
|
||||
Patch8: use_python3_shebang
|
||||
Patch9: lanserv-Add-the-judgment-on-the-validity-of-length-in-emu_cmd.c-and-session-in-lanserv_ipmi.c.patch
|
||||
Patch10: unix_thread-Remove-the-fd-handler-sets-before-it-s-set-up.patch
|
||||
# PATCH-FIX-UPSTREAM OpenIPMI-autoconf-m4-ax-python-devel-serial25.patch
|
||||
# replace autoconf script serial18 addtion by serial 25 capable of finding python3.10
|
||||
# retains upstream change https://sourceforge.net/p/openipmi/code/ci/53d2b36b58383d155e2410cae3b30975a92f417d
|
||||
Patch11: OpenIPMI-autoconf-m4-ax-python-devel-serial25.patch
|
||||
|
||||
Patch3: OpenIMPI-add-libncurses.patch
|
||||
Patch4: fix_dia_version_detection.patch
|
||||
Patch5: use_python3_shebang
|
||||
BuildRequires: autoconf-archive
|
||||
BuildRequires: gd-devel
|
||||
BuildRequires: gdbm-devel
|
||||
@@ -86,6 +70,12 @@ BuildRequires: swig
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: tcl-devel
|
||||
BuildRequires: tix
|
||||
Requires(post): %fillup_prereq
|
||||
Provides: ipmi_ui
|
||||
Provides: ipmicmd
|
||||
Provides: ipmilan
|
||||
%{?systemd_ordering}
|
||||
%{?perl_requires}
|
||||
%if 0%{?doc_build}
|
||||
BuildRequires: dia
|
||||
BuildRequires: ghostscript
|
||||
@@ -96,13 +86,6 @@ BuildRequires: texlive-latex
|
||||
BuildRequires: texlive-moreverb
|
||||
%endif
|
||||
|
||||
Requires(post): %fillup_prereq
|
||||
Provides: ipmi_ui
|
||||
Provides: ipmicmd
|
||||
Provides: ipmilan
|
||||
%{?systemd_ordering}
|
||||
%{?perl_requires}
|
||||
|
||||
%description
|
||||
OpenIPMI allows access to IPMI information on a server and to abstract it.
|
||||
|
||||
@@ -144,15 +127,15 @@ Group: System/Monitoring
|
||||
Requires: OpenIPMI
|
||||
Requires: python3-tk
|
||||
Requires: tix
|
||||
Provides: openipmigui
|
||||
Conflicts: OpenIPMI-python
|
||||
Provides: openipmigui
|
||||
|
||||
%description python3
|
||||
The Python parts provide an OpenIPMI Python library and a GUI, openipmigui,
|
||||
that makes use of it.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
%autosetup -n openipmi-%{version} -p1
|
||||
|
||||
rm -rf ./libedit
|
||||
|
||||
|
||||
16
_service
Normal file
16
_service
Normal file
@@ -0,0 +1,16 @@
|
||||
<services>
|
||||
<service name="obs_scm" mode="localonly">
|
||||
<param name="url">https://github.com/cminyard/openipmi.git</param>
|
||||
<param name="scm">git</param>
|
||||
<!-- <param name="basename">OpenIPMI</param> -->
|
||||
<param name="versionrewrite-pattern">v(.*)</param>
|
||||
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@+git.%h</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
</service>
|
||||
<service name="set_version" mode="localonly"/>
|
||||
<service name="tar" mode="buildtime"/>
|
||||
<service name="recompress" mode="buildtime">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">gz</param>
|
||||
</service>
|
||||
</services>
|
||||
4
_servicedata
Normal file
4
_servicedata
Normal file
@@ -0,0 +1,4 @@
|
||||
<servicedata>
|
||||
<service name="tar_scm">
|
||||
<param name="url">https://github.com/cminyard/openipmi.git</param>
|
||||
<param name="changesrevision">ed1a49ee3477d7385e078150420f9fed51ebeae6</param></service></servicedata>
|
||||
@@ -1,16 +0,0 @@
|
||||
Not sure for what exactly this could be
|
||||
|
||||
|
||||
Index: OpenIPMI-2.0.25/swig/OpenIPMI.i
|
||||
===================================================================
|
||||
--- OpenIPMI-2.0.25.orig/swig/OpenIPMI.i 2018-06-20 15:53:54.000000000 +0200
|
||||
+++ OpenIPMI-2.0.25/swig/OpenIPMI.i 2018-08-27 16:31:55.632653896 +0200
|
||||
@@ -2704,7 +2704,7 @@ sol_data_received_cb(ipmi_sol_conn_t *co
|
||||
int rv = 0;
|
||||
|
||||
conn_ref = swig_make_ref(conn, ipmi_sol_conn_t);
|
||||
- swig_call_cb_rv('i', &rv, cb, "sol_data_received", "%p%*b",
|
||||
+ swig_call_cb_rv('i', &rv, cb, "sol_data_received", "%p%*s",
|
||||
&conn_ref, count, buf);
|
||||
swig_free_ref_check(conn_ref, ipmi_sol_conn_t);
|
||||
return rv;
|
||||
@@ -1,8 +1,8 @@
|
||||
Index: OpenIPMI-2.0.31/configure.ac
|
||||
Index: openipmi-2.0.32.3+git.05faa36e/configure.ac
|
||||
===================================================================
|
||||
--- OpenIPMI-2.0.31.orig/configure.ac
|
||||
+++ OpenIPMI-2.0.31/configure.ac
|
||||
@@ -720,11 +720,14 @@ AC_HAVE_FUNCS(syslog)
|
||||
--- openipmi-2.0.32.3+git.05faa36e.orig/configure.ac
|
||||
+++ openipmi-2.0.32.3+git.05faa36e/configure.ac
|
||||
@@ -729,11 +729,14 @@ AC_HAVE_FUNCS(syslog)
|
||||
DIA=
|
||||
AC_PATH_PROG(diaprog, dia)
|
||||
if test "x$diaprog" != "x"; then
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
From: zhangqiumiao <zhangqiumiao1@huawei.com>
|
||||
Subject: lanserv: Add the judgment on the validity of length in emu_cmd.c and session in lanserv_ipmi.c
|
||||
References:
|
||||
Patch-Mainline:
|
||||
Git-commit: 35525f7903bdbfe98c1b101f2c30afd78fbdda98
|
||||
Git-repo: https://git.code.sf.net/p/openipmi/code.git
|
||||
|
||||
|
||||
|
||||
Signed-off-by: <trenn@suse.com>
|
||||
diff --git a/lanserv/emu_cmd.c b/lanserv/emu_cmd.c
|
||||
index ea3f8685..727bb0c8 100644
|
||||
--- a/lanserv/emu_cmd.c
|
||||
+++ b/lanserv/emu_cmd.c
|
||||
@@ -913,6 +913,9 @@ mc_add_fru_data(emu_out_t *out, emu_data_t *emu, lmc_data_t *mc, char **toks)
|
||||
if (rv)
|
||||
return rv;
|
||||
|
||||
+ if (length > MAX_FRU_SIZE)
|
||||
+ return EINVAL;
|
||||
+
|
||||
tok = mystrtok(NULL, " \t\n", toks);
|
||||
if (!tok) {
|
||||
out->eprintf(out, "**No FRU data type given");
|
||||
diff --git a/lanserv/lanserv_ipmi.c b/lanserv/lanserv_ipmi.c
|
||||
index 4005bcba..ccd60015 100644
|
||||
--- a/lanserv/lanserv_ipmi.c
|
||||
+++ b/lanserv/lanserv_ipmi.c
|
||||
@@ -3143,7 +3143,7 @@ get_associated_mc(channel_t *chan, uint32_t session_id, unsigned int payload)
|
||||
lanserv_data_t *lan = chan->chan_info;
|
||||
session_t *session = sid_to_session(lan, session_id);
|
||||
|
||||
- if (payload >= LANSERV_NUM_CLOSERS)
|
||||
+ if (payload >= LANSERV_NUM_CLOSERS || session == NULL)
|
||||
return NULL;
|
||||
|
||||
return session->closers[payload].mc;
|
||||
3
openipmi-2.0.37.1+git.ed1a49ee.obscpio
Normal file
3
openipmi-2.0.37.1+git.ed1a49ee.obscpio
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a3587055b6ace806687762d398ce2d524e750be0187508b15987fba7ff9b796a
|
||||
size 7330829
|
||||
@@ -1,8 +1,8 @@
|
||||
Index: OpenIPMI-2.0.31/configure.ac
|
||||
Index: openipmi-2.0.32.3+git.05faa36e/configure.ac
|
||||
===================================================================
|
||||
--- OpenIPMI-2.0.31.orig/configure.ac
|
||||
+++ OpenIPMI-2.0.31/configure.ac
|
||||
@@ -768,10 +768,12 @@ AX_CONFIG_FEATURE(
|
||||
--- openipmi-2.0.32.3+git.05faa36e.orig/configure.ac
|
||||
+++ openipmi-2.0.32.3+git.05faa36e/configure.ac
|
||||
@@ -777,10 +777,12 @@ AX_CONFIG_FEATURE(
|
||||
[epoll_pwait], [This platform supports epoll(7) with epoll_pwait(2)],
|
||||
[HAVE_EPOLL_PWAIT], [This platform supports epoll(7) with epoll_pwait(2).])
|
||||
|
||||
|
||||
4
openipmi.obsinfo
Normal file
4
openipmi.obsinfo
Normal file
@@ -0,0 +1,4 @@
|
||||
name: openipmi
|
||||
version: 2.0.37.1+git.ed1a49ee
|
||||
mtime: 1754339351
|
||||
commit: ed1a49ee3477d7385e078150420f9fed51ebeae6
|
||||
@@ -1,28 +0,0 @@
|
||||
From: Corey Minyard <cminyard@mvista.com>
|
||||
Subject: unix_thread: Remove the fd handler sets before it's set up
|
||||
References:
|
||||
Patch-Mainline:
|
||||
Git-commit: d613d279dbce2d5e4594f6fed39653d83af0d99b
|
||||
Git-repo: https://git.code.sf.net/p/openipmi/code.git
|
||||
|
||||
There were a couple of fd handler set before the fd was actually
|
||||
configured. With recent changes in the selector code that would result
|
||||
in an assert. The calls were unnecessary, so remove them.
|
||||
|
||||
Signed-off-by: Corey Minyard <cminyard@mvista.com>
|
||||
|
||||
|
||||
Signed-off-by: <trenn@suse.com>
|
||||
diff --git a/unix/posix_thread_os_hnd.c b/unix/posix_thread_os_hnd.c
|
||||
index 28c66898..cb315c5e 100644
|
||||
--- a/unix/posix_thread_os_hnd.c
|
||||
+++ b/unix/posix_thread_os_hnd.c
|
||||
@@ -140,8 +140,6 @@ add_fd(os_handler_t *handler,
|
||||
fd_data->data_ready = data_ready;
|
||||
fd_data->handler = handler;
|
||||
fd_data->freed = freed;
|
||||
- sel_set_fd_write_handler(posix_sel, fd, SEL_FD_HANDLER_DISABLED);
|
||||
- sel_set_fd_except_handler(posix_sel, fd, SEL_FD_HANDLER_DISABLED);
|
||||
rv = sel_set_fd_handlers(posix_sel, fd, fd_data, fd_handler, NULL, NULL,
|
||||
free_fd_data);
|
||||
if (rv) {
|
||||
Reference in New Issue
Block a user