Sync from SUSE:SLFO:Main OpenIPMI revision 472dc46a9f8e9932b675fb80f988e4dc

This commit is contained in:
Adrian Schröter 2024-05-03 10:47:39 +02:00
commit 084a85b243
19 changed files with 2023 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,12 @@
Index: OpenIPMI-2.0.31/ui/Makefile.am
===================================================================
--- OpenIPMI-2.0.31.orig/ui/Makefile.am
+++ OpenIPMI-2.0.31/ui/Makefile.am
@@ -18,6 +18,6 @@ libOpenIPMIui_la_LIBADD = $(top_builddir
libOpenIPMIui_la_LDFLAGS = -version-info $(LD_VERSION) -no-undefined
ipmi_ui_SOURCES = basic_ui.c
-ipmi_ui_LDADD = libOpenIPMIui.la $(top_builddir)/utils/libOpenIPMIutils.la $(top_builddir)/lib/libOpenIPMI.la $(top_builddir)/unix/libOpenIPMIposix.la $(TERM_LIBS) $(SNMPLIBS) $(OPENSSLLIBS) $(GDBM_LIB)
+ipmi_ui_LDADD = libOpenIPMIui.la $(top_builddir)/utils/libOpenIPMIutils.la $(top_builddir)/lib/libOpenIPMI.la $(top_builddir)/unix/libOpenIPMIposix.la $(TERM_LIBS) $(SNMPLIBS) $(OPENSSLLIBS) $(GDBM_LIB) -lncurses
ipmi_ui_CFLAGS = -Wall -Wsign-compare -I$(top_builddir)/include \
-I$(top_srcdir)/include -DIPMI_CHECK_LOCKS

BIN
OpenIPMI-2.0.31.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,240 @@
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

View File

@ -0,0 +1,20 @@
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

View File

@ -0,0 +1,17 @@
Index: OpenIPMI-2.0.31/configure.ac
===================================================================
--- OpenIPMI-2.0.31.orig/configure.ac
+++ OpenIPMI-2.0.31/configure.ac
@@ -455,10 +455,10 @@ if test "x$perlcflags" = "x" -o "x$perli
if test "x$perlinstalldir" = "x"; then
perlinstalldir=`(eval \`perl -V:installvendorarch\`; echo $installvendorarch)`
if test "x$perlinstalldir" = "x" -o ! -d "$perlinstalldir"; then
- perlinstalldir=`$perlprog -e 'for $i (@INC) { if ($i =~ /site_perl\/.+\/.+/) { print "$i"; last; } }'`
+ perlinstalldir=`$perlprog -e 'for $i (@INC) { if ($i =~ /vendor_perl\/.+\/.+/) { print "$i"; last; } }'`
fi
if test "x$perlinstalldir" = "x" -o ! -d "$perlinstalldir"; then
- perlinstalldir=`$perlprog -e 'for $i (@INC) { if ($i =~ /vendor_perl\/.+\/.+/) { print "$i"; last; } }'`
+ perlinstalldir=`$perlprog -e 'for $i (@INC) { if ($i =~ /site_perl\/.+\/.+/) { print "$i"; last; } }'`
fi
if test "x$perlinstalldir" = "x" -o ! -d "$perlinstalldir"; then
perlinstalldir=$perldir

1
OpenIPMI-rpmlintrc Normal file
View File

@ -0,0 +1 @@
addFilter('files-duplicate')

636
OpenIPMI.changes Normal file
View File

@ -0,0 +1,636 @@
-------------------------------------------------------------------
Mon May 9 16:41:24 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Add OpenIPMI-autoconf-m4-ax-python-devel-serial25.patch
which updates m4/ax_python_devel.m4 to serial25, retaining
upstreams PYTHON_VERSION addition, before the bootstrap runs
automake, because the new serial 25 can deal with
Python 3.10 version strings and deprecation of distutils.
-------------------------------------------------------------------
Thu Apr 28 00:16:24 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Resolve rpmlint report "libOpenIPMI0.x86_64: E:
shlib-policy-name-error SONAME: libOpenIPMIui.so.1, expected
package suffix: 1"
- Trim manual library Provides. Prospective users (packages) ought
to let rpm find the dependencies (and their name is usually
"libIPMIlanserv.so.0()(64bit)" not "libIPMIlanserv".
-------------------------------------------------------------------
Tue Oct 12 19:22:34 UTC 2021 - Thomas Renninger <trenn@suse.de>
- Fix file conflict with old python2 version (bsc#1190999):
found conflict of OpenIPMI-python-2.0.25-7.3.1.x86_64 with OpenIPMI-python3-2.0.31-1.1.x86_64
/usr/bin/openipmigui
/usr/share/man/man1/openipmigui.1.gz
-------------------------------------------------------------------
Wed Oct 6 07:17:32 UTC 2021 - Thomas Renninger <trenn@suse.de>
- Enhance changelog as demanded in an internal submitrequest
-------------------------------------------------------------------
Tue Sep 28 08:30:14 UTC 2021 - Thomas Renninger <trenn@suse.de>
- Add latest mainline fixes:
A lanserv-Add-the-judgment-on-the-validity-of-length-in-emu_cmd.c-and-session-in-lanserv_ipmi.c.patch
A unix_thread-Remove-the-fd-handler-sets-before-it-s-set-up.patch
-------------------------------------------------------------------
Fri Jul 9 08:15:37 UTC 2021 - Thomas Renninger <trenn@suse.de>
- Update to version 2.0.31
Adopted patches to latest sources:
M OpenIMPI-add-libncurses.patch
M OpenIPMI-no-return-in-nonvoid-function.patch
M OpenIPMI-prefer_perl_vendor.patch
M fix_dia_version_detection.patch
M openipmi-tinfo.patch
* sample: Prefer glib for solterm instead of posix
* sample: Remove -rdynamic from openipmicmd
* smample: Compile ipmicmd with glib if it is available
* glib: Allow NULL timeout to perform_one_op()
* lanserv: Fix an issue with rmcp sending
* Rework mcserv.h so that marvell-mod can get what it needs
* lanserv: Move sol_init_mc() into sol code
* lanserv: Remove all calls from the library to user code
* Move ipmi_log() to ipmi_log.h
* ui: export ipmi_ui_cb_handlers
* ui: Add link libraries to UI library
* Add -no-undefined to all shared library links
* Rework ipmi_cmdlang_report_event()
* Rework ipmi_cmdlang_global_err()
* Get rid of posix_vlog()
* lanserv: Use recv, not read, for a network socket
* A lot windows (DLL, winsock, etc.) enhancements
- Update to version 2.0.30:
* Switch to python3 by default
* lanserv: Fix some various bugs
* sol: Fix some various bugs
* sdrcomp: Fix some memory leaks
* sol: Fix some packet handling errors
* solterm: Clean things up at shutdown
* Fix a leak in the selector code
* sol: Rewrite the library code
* sol: Return errors from close if the send fails
* Reconfigure the transmitter on a reconnect
* Refuse writes greater than 255 bytes
* lan: Fix timer cleanup
* Fix init/shutdown issues with mcs and domains
* Fix shutdown on error issues
* Fix a memory leak at initialization
* selector: Make the timer stop with done work right when handler running
* Add parameters to let the lan timeouts be specified
* initscript: Don't delete ipmi devices if udev created them
* selector: Rework to allow an arbitrary number of fds with epoll
* Don't disable fd handlers before setting one up
* Don't crash if passed in fd is >= FD_SETSIZE
-------------------------------------------------------------------
Mon Jun 28 20:42:15 UTC 2021 - Matej Cepl <mcepl@suse.com>
- Use Python3 instead of Python2 (bsc#1190999).
-------------------------------------------------------------------
Mon Mar 8 14:16:36 UTC 2021 - Matthias Gerstner <matthias.gerstner@suse.com>
- drop -fPIC from CFLAGS which breaks our gcc-PIE profile resulting in
non-position independent binaries and thus weakened security (bsc#1183046).
-------------------------------------------------------------------
Mon Aug 17 21:38:50 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- update to 2.0.29:
* Add an external definition for ipmi_malloc_shutdown()
* Pass 0 to snprintf size when calculating real size
* selector: Fix a signed/unsigned comparison
* selector: Fix handling if pselect() returns 0
* selector: Return the right value for timer already in use
* selector: Cause the read handler to be called on an exception
* selector: Fix multi-threading issues
* selector: Add an selector call to install a sigmask
* For for brokenness with fork() and epoll()
* Fix a deadlock when freeing a running timer
* lanserv: Allow individual group extensions to be registered
* Include readline history headers where needed
-------------------------------------------------------------------
Mon Jan 20 13:29:35 UTC 2020 - Josef Möllers <josef.moellers@suse.com>
- Update to latest version 2.0.28
* Fixed a number of potential buffer overruns by appending a NUL
character to strncpy'd strings.
* switched from editline to readline
* some variable and function renaming to avoid leading
underscores
* more changes, no documentation available (ChangeLog file
is unchanged!)
* Two patches now obsolete.
[OpenIPMI-2.0.25..HEAD_git.diff,
0003-Apply-OpenIPMI-2.0.21-nobundle.patch.patch,
OpenIPMI-2.0.28.tar.gz]
-------------------------------------------------------------------
Sun Mar 17 10:14:37 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Use noun phrase in summary. Remove em dashes from summaries.
- Implement shared library packaging policy.
-------------------------------------------------------------------
Tue Sep 11 15:34:15 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
- Use noun phrase in summary. Ensure neutrality of description.
- Update unspecific summaries of subpackages.
- Drop --with-pic which is only relevant for static libs.
- Speedier /usr/bin/find call.
-------------------------------------------------------------------
Fri Sep 7 13:56:06 UTC 2018 - trenn@suse.de
- Update to latest version 2.0.25 plus latest fixes (fate#326195):
- A OpenIPMI-2.0.25..HEAD_git.diff
Patch to latest git commit:
commit 4ac55d7dc7016c9e5f0c474f69f4e64e7aacac42
Date: Wed Jul 18 13:59:29 2018 -0500
unix: Add a way to clear fd handlers with no callbacks
I had to manually edit git diff v2.0.25.. and remove .gitignore deletion
to patch succesfully. Build service wants to have the original
.tar.gz tarball from sourceforge.
I also had to add the bootstrap file which seem to exist in git sources
but not in the exported tarball, even it is not listed in .gitignore:
A bootstrap
OAD
0001-Apply-OpenIPMI-2.0.18-pthread-pkgconfig.patch.patch
- Adjusted patches:
M 0003-Apply-OpenIPMI-2.0.21-nobundle.patch.patch
M fix-conversions.patch
M OpenIPMI-prefer_perl_vendor.patch
M openipmi-tinfo.patch
- Fix build service error (use /usr/bin/python3 in shebang instead of env
A use_python3_shebang
- Build documentation (IPMI.pdf) ourselves as IPMI.pdf vanished from sources
For this quite some build requires had to be added as well
A fix_dia_version_detection.patch
-------------------------------------------------------------------
Wed Jul 25 16:24:55 UTC 2018 - dimstar@opensuse.org
- Replace usage of deprecated py_sitedir macro with
python_sitearch.
-------------------------------------------------------------------
Fri Jan 19 08:12:06 UTC 2018 - josef.moellers@suse.com
- * added a section defining IPMI_SI_MODULE_NAME to sysconfig.ipmi
* added code to OpenIPMI.spec/%install to modify sysconfig.ipmi
according to architecture
* modified openipmi-helper to load "sysconfig.ipmi" AFTER setting
default IPMI_SI_MODULE_NAME=ipmi_si
[bsc#1059820, OpenIPMI.spec, openipmi-helper, sysconfig.ipmi]
-------------------------------------------------------------------
Thu Nov 23 13:37:07 UTC 2017 - rbrown@suse.com
- Replace references to /var/adm/fillup-templates with new
%_fillupdir macro (boo#1069468)
-------------------------------------------------------------------
Mon Sep 25 12:58:32 UTC 2017 - josef.moellers@suse.com
- Upgrade to 2.0.24
* Mainly code cleanup and small rewrites.
* Variable renaming IPMI_... to OPENIPMI_...
* Improved internal error handling
* IPv6 support added/completed.
[fate#322830, OpenIMPI-add-libncurses.patch,
OpenIPMI-no-return-in-nonvoid-function.patch]
-------------------------------------------------------------------
Tue Jun 27 11:57:28 UTC 2017 - tchvatal@suse.com
- Version update to lates trelease 2.0.23:
* There is no longer actively updated changelog
* Various bugfixes since last git pull from 2016-02-26
- Drop OpenIPMI-libtool.patch which was merged upstream
- Drop OpenIPMI_2.0.21_to_HEAD.patch patch as it is no longer
needed
- Add patch openipmi-tinfo.patch to detect tinfo properly
- Add patch to fix OpenIPMIpthread pc file (from Fedora)
0001-Apply-OpenIPMI-2.0.18-pthread-pkgconfig.patch.patch
- Add patch to not bundle libedit (from Fedora)
0003-Apply-OpenIPMI-2.0.21-nobundle.patch.patch
-------------------------------------------------------------------
Wed Sep 14 09:54:22 UTC 2016 - fgerling@suse.com
- Update spec file to properly install sysconfig.ipmi (bsc#989985, bsc#988443)
-------------------------------------------------------------------
Tue Mar 8 08:44:52 UTC 2016 - dimstar@opensuse.org
- Remove one occurence of perl_requires: once is sufficient.
-------------------------------------------------------------------
Mon Mar 7 16:19:17 UTC 2016 - trenn@suse.de
- Fix perl requires by using the pre-defined macro (bsc#969576)
-------------------------------------------------------------------
Fri Feb 26 08:17:13 UTC 2016 - trenn@suse.de
- Update to latest git commit:
a01bbe94efff3a5f239b3b5440c8..052d36ec88515c1b1177faa442833e3
Add: OpenIPMI_2.0.21_to_HEAD.patch
Removed modifications for:
- lanserv/ipmi_sim_chassiscontrol
- lanserv/marvell-bmc/TODO
due to git repo inconsistencies
- Some spec file cleanups obs complained about
-> also spec-cleaner run through
-------------------------------------------------------------------
Sat Feb 7 17:14:57 UTC 2015 - dimstar@opensuse.org
- Do not try to register/deregister OpenIPMI.info.gz in post/postun
of the devel package: we do not install such a file.
-------------------------------------------------------------------
Sat Dec 27 17:42:00 UTC 2014 - Led <ledest@gmail.com>
- fix bashisms in openipmi-helper script
-------------------------------------------------------------------
Wed Nov 19 23:18:06 UTC 2014 - dimstar@opensuse.org
- Replace systemd BuildRequires with pkgconfig(systemd): we do not
require the full installation / dep chain of systemd.
-------------------------------------------------------------------
Sat Oct 25 13:24:06 UTC 2014 - p.drouand@gmail.com
- Use systemd instead of sysvinit
+ Add ipmi.service
+ Add openipmi-helper to keep capabilities of sysvinit script
+ Add systemd related macros
- Remove obsolete/depreciated macros
-------------------------------------------------------------------
Thu Jul 10 15:08:21 UTC 2014 - trenn@suse.de
- Split OpenIPMI into base package and OpenIPMI-python
OpenIPMI-python gets OpenIPMI python library and openipmigui which is
a python based gui.
Like above the OpenIPMI base package does not need python-tk and tix
packages any more.
-------------------------------------------------------------------
Thu Feb 13 08:25:50 UTC 2014 - kkaempf@suse.com
- Update to 2.0.21
Bugfix release
- marvell: Add a command to directly set the duty cycle of the fans.
- The IANA numbers are supposed to be in bytes 2-4 off responses to
IANA commands, but they were not being put there. Fix this in the
main IANA handling to do this automatically, and modify the
command handling to strip the IANA from the command and add it to
a message field. This makes handling of IANA commands more
natural and allows standard message response generation to work.
- Drop upstreamed patches:
tcl-includes-moved.patch, new-names-for-new-variables,
OpenIPMI-popt.patch, OpenIPMI-2.0.16-larger-ipmibuf.patch,
do-fclose.patch, bug-854693_segv_sol.patch
-------------------------------------------------------------------
Thu Jan 9 15:03:26 UTC 2014 - trenn@suse.de
- Cleanup patches:
Drop: fix-devel-deps.patch
Add changelog to most of the patches and submitted them mainline.
Add: bug-854693_segv_sol.patch
bnc#854693
-------------------------------------------------------------------
Fri Oct 4 08:31:43 UTC 2013 - kkaempf@suse.com
- Fix SLE 11 build
-------------------------------------------------------------------
Thu Nov 15 12:37:58 UTC 2012 - kkaempf@suse.com
- Update to 2.0.20-rc1
* Rename lanserv_emu to ipmi_sim, and modify ipmi_sim to use
the OS handler.
* lanserv, man: Did a massive restructure of lanserv and the
IPMI simulator for supporting a VM interface.
* Many bugs fixed
- Suffix all patches with .patch
-------------------------------------------------------------------
Wed Sep 12 07:31:13 UTC 2012 - coolo@suse.com
- use %perl_requires
-------------------------------------------------------------------
Wed Sep 5 15:06:42 UTC 2012 - duwe@suse.com
- fix bnc#714634
-------------------------------------------------------------------
Tue Nov 15 13:10:35 UTC 2011 - coolo@suse.com
- add libtool as buildrequire to avoid implicit dependency
-------------------------------------------------------------------
Sun Oct 23 22:40:29 UTC 2011 - pascal.bleser@opensuse.org
- fix mtime on python .pyc files
- remove python .pyo files (they're useless)
- add reload to init script, which fails with exit code 3 as it is not
implemented
- update to 2.0.19 (cumulated):
* ipmi.init - Initscripts should be idempotent, meaning you can safely call
"start" multiple times in a row and receive a success each time if the
service is running. This requirement is mentioned in the LSB Spec, version
3.1, section 20.2.
* lib/sensor.c: Change the "share count" checking to check if share count is
> 1, not > 0, because some silly machines set the value to one when they
should set it to zero, and one is a silly setting
* add a cache option
-------------------------------------------------------------------
Sun Jan 16 14:58:27 UTC 2011 - aj@suse.de
- Buildrequire python-xml instead of dropped pyxml.
-------------------------------------------------------------------
Thu Mar 11 16:04:00 CET 2010 - duwe@suse.de
- compile and dependency fixes
(bnc#388026,bnc#529028,bnc#497595,bnc#552480)
- use a large buffer for SoL (bnc#587029)
-------------------------------------------------------------------
Mon Nov 23 00:45:06 CET 2009 - ro@suse.de
- use py_sitedir macro in filelist
-------------------------------------------------------------------
Fri Nov 20 16:17:38 CET 2009 - duwe@suse.de
- update to version 2.0.16, per FATE#307244
-------------------------------------------------------------------
Sun Aug 9 12:43:26 CEST 2009 - coolo@novell.com
- use new python macros
-------------------------------------------------------------------
Mon Mar 2 15:28:27 CET 2009 - crrodriguez@suse.de
- save 3MB by removing static libraries and "la" files
-------------------------------------------------------------------
Thu Sep 11 17:00:59 CEST 2008 - kukuk@suse.de
- Update to 2.0.14 [fate#304439]
- fix at least the worst bugs in init script
-------------------------------------------------------------------
Tue May 6 07:59:42 CEST 2008 - coolo@suse.de
- return in non-void functions
-------------------------------------------------------------------
Tue Apr 15 17:01:26 CEST 2008 - schwab@suse.de
- Fix popt configure check.
-------------------------------------------------------------------
Mon Apr 14 14:04:59 CEST 2008 - schwab@suse.de
- Work around misuse of libtool.
-------------------------------------------------------------------
Sun Apr 6 21:04:19 CEST 2008 - coolo@suse.de
- build with latest tcl, reduce build requires
-------------------------------------------------------------------
Wed Jan 16 16:43:01 CET 2008 - duwe@suse.de
- Update to 2.0.13
+ better sensors support
+ numerous bug fixes, including #310247
- fixed bug#156215
-------------------------------------------------------------------
Fri Apr 20 09:16:14 CEST 2007 - aj@suse.de
- Package does not need latex for normal building, remove build
dependency.
-------------------------------------------------------------------
Mon Mar 26 15:21:26 CEST 2007 - rguenther@suse.de
- package .la and .so file in OpenIPMI-devel package only
- add gdbm-devel BuildRequires
-------------------------------------------------------------------
Mon Feb 5 15:22:26 CET 2007 - duwe@suse.de
- fix not-really-shadowing variable with questionable behaviour
(reported in Bug #232439)
-------------------------------------------------------------------
Wed Dec 20 17:38:47 CET 2006 - coyli@suse.de
- fix misconfigured destination library directory for perl
and python code.
- add openssl-devel and ncurse-devel in Build Requires of
OpenIPMI-devel.
-------------------------------------------------------------------
Tue Nov 7 10:12:17 CET 2006 - coyli@suse.de
- fix deadlock in openipmigui (BUG #206661)
- get openssl linked in
- remove compiling warning in source code
- modify licnese from GPL to LGPL
- fix an out of range looping bug, which chould cause crash
to programs linked with OpenIPMI library
-------------------------------------------------------------------
Thu Sep 14 19:17:28 CEST 2006 - duwe@suse.de
- Update to 2.0.7 (thanks, coly)
+ new front-ends, some graphical ("openipmigui")
+ various bugfixes
+ new FRU interface
+ tcl bindings added
site_perl spared thanks to Rudi.
-------------------------------------------------------------------
Mon May 29 13:18:04 CEST 2006 - kukuk@suse.de
- ipmi init script: Replace /sbin/udev with /sbin/udevd [#174010]
-------------------------------------------------------------------
Fri Mar 3 16:36:44 CET 2006 - duwe@suse.de
- update to 1.4.26
- various small bug and memory leak fixes
- fix local operation on ATCA
- add support for multiple IPMB channels with different IPMB
addresses
-------------------------------------------------------------------
Wed Jan 25 21:33:53 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Tue Dec 20 14:50:11 CET 2005 - duwe@suse.de
- Add %insserv_prereq and %fillup_prereq fixing Bug #140314
-------------------------------------------------------------------
Mon Dec 19 14:50:50 CET 2005 - ro@suse.de
- fixed filelist
-------------------------------------------------------------------
Tue Nov 8 14:10:16 CET 2005 - dmueller@suse.de
- don't build as root
-------------------------------------------------------------------
Wed Oct 26 16:27:27 CEST 2005 - duwe@suse.de
- add patches by matt to sync with upstream (#128770)
-------------------------------------------------------------------
Mon Oct 10 13:29:35 CEST 2005 - duwe@suse.de
- rc script name change openipmi->ipmi (Bug #120227)
- default start in runlevels 2 3 5 (Bug #121651)
-------------------------------------------------------------------
Thu Sep 22 14:50:15 CEST 2005 - duwe@suse.de
- Update to version 1.4.19 (#117699)
- add initscripts (#117103)
-------------------------------------------------------------------
Mon Jun 6 13:25:32 CEST 2005 - mrueckert@suse.de
- Update to version 1.4.16
-------------------------------------------------------------------
Tue May 10 10:20:19 CEST 2005 - meissner@suse.de
- fixed potential 2 byte overflow due to bug in strncpy().
-------------------------------------------------------------------
Sat Mar 26 15:36:18 CET 2005 - nashif@suse.de
- Fixed license in include file (#74351)
-------------------------------------------------------------------
Fri Feb 18 01:54:13 CET 2005 - nashif@suse.de
- Update to 1.3.17
- Split package
-------------------------------------------------------------------
Sat Jan 8 16:04:13 CET 2005 - nashif@suse.de
- Fixed installation of info files
-------------------------------------------------------------------
Tue Jan 4 19:47:07 CET 2005 - nashif@suse.de
- Update to version 1.3.16
-------------------------------------------------------------------
Thu Oct 28 04:19:27 CEST 2004 - nashif@suse.de
- Updated to version 1.3.11
-------------------------------------------------------------------
Tue Aug 10 23:51:24 CEST 2004 - nashif@suse.de
- Updated to version 1.3.9
-------------------------------------------------------------------
Tue Jun 8 04:23:54 CEST 2004 - nashif@suse.de
- Updated to version 1.3.8
-------------------------------------------------------------------
Thu May 6 01:49:30 CEST 2004 - nashif@suse.de
- Added a way to get the number of entries and free
bytes in the SEL.
-------------------------------------------------------------------
Fri Apr 30 04:26:59 CEST 2004 - nashif@suse.de
- Fixes by author:
* lib/sel.c: Fixed a bug in the sel get where the info allocated
can go away before the operation returns, but the info is used
after the operation returns.
* lib/sensor.c: Fix the hysteresis setting to send a message that
is the right size.
-------------------------------------------------------------------
Wed Apr 28 15:46:12 CEST 2004 - nashif@suse.de
- Updated to 1.3.6 (as per bug #38602)
-------------------------------------------------------------------
Mon Mar 22 19:00:18 CET 2004 - nashif@suse.de
- Enabled sources again
- files with legal issues have been removed upstream
-------------------------------------------------------------------
Mon Mar 22 00:09:30 CET 2004 - nashif@suse.de
- Update to release 1.2.21
-------------------------------------------------------------------
Fri Feb 27 11:41:22 CET 2004 - tsieden@suse.de
- update to release 1.2.7
- replaced test_md2.c with a dummy, switched to a nosrc.rpm
to avoid legal problems
-------------------------------------------------------------------
Mon Oct 27 09:12:13 CET 2003 - kukuk@suse.de
- Don't link static libraries in shared one without -fPIC compiled
- Fix building on lib64 architectures
-------------------------------------------------------------------
Thu Oct 23 16:29:04 CEST 2003 - tsieden@suse.de
- branched -devel package
-------------------------------------------------------------------
Fri Oct 17 10:35:24 CEST 2003 - tsieden@suse.de
- initial release 1.1.4

296
OpenIPMI.spec Normal file
View File

@ -0,0 +1,296 @@
#
# spec file for package OpenIPMI
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
#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
# latex packages where not avail for SLE 12 flavors
%define doc_build 0
%if 0%{?suse_version} < 1500
%define doc_build 0
%endif
Name: OpenIPMI
Version: 2.0.31
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
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
# 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
BuildRequires: autoconf-archive
BuildRequires: gd-devel
BuildRequires: gdbm-devel
BuildRequires: glib2-devel
BuildRequires: libedit-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: net-snmp-devel
BuildRequires: openssl-devel
BuildRequires: perl-macros
BuildRequires: pkgconfig
BuildRequires: popt-devel
BuildRequires: python-rpm-macros
BuildRequires: python3-devel
BuildRequires: python3-tk
BuildRequires: python3-xml
BuildRequires: readline-devel
BuildRequires: swig
BuildRequires: systemd-rpm-macros
BuildRequires: tcl-devel
BuildRequires: tix
%if 0%{?doc_build}
BuildRequires: dia
BuildRequires: ghostscript
BuildRequires: texlive-acronym
BuildRequires: texlive-bibtex
BuildRequires: texlive-dvips-bin
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.
The device driver is included in the Linux kernel, and there is a
user-level library available for it as well. This OpenIPMI package
also includes the ipmicmd program, a program that can inject and
receive messages.
%package -n libOpenIPMI0
Summary: User-level library for accessing IPMI services
Group: System/Libraries
%description -n libOpenIPMI0
The user-level library that provides a higher-level abstraction of
IPMI and generic services.
%package -n libOpenIPMIui1
Summary: User-level library for accessing IPMI services
Group: System/Libraries
%description -n libOpenIPMIui1
The user-level library that provides a higher-level abstraction of
IPMI and generic services.
%package devel
Summary: Development files for OpenIPMI
Group: Development/Libraries/C and C++
Requires: glibc-devel
Requires: libOpenIPMI0 = %{version}-%{release}
Requires: libOpenIPMIui1 = %{version}-%{release}
%description devel
These libraries are needed to get full access to the OpenIPMI
functions.
%package python3
Summary: Python module and GUI for OpenIPMI
Group: System/Monitoring
Requires: OpenIPMI
Requires: python3-tk
Requires: tix
Provides: openipmigui
Conflicts: OpenIPMI-python
%description python3
The Python parts provide an OpenIPMI Python library and a GUI, openipmigui,
that makes use of it.
%prep
%autosetup -p1
rm -rf ./libedit
%build
export EDIT_CFLAGS=`pkg-config --cflags libedit`
export EDIT_LIBS=`pkg-config --libs libedit`
export CFLAGS="%{optflags} -fno-strict-aliasing"
export PYTHON_VERSION=%{python3_version}
chmod 755 %{SOURCE4}
%{SOURCE4}
%configure --disable-static \
--with-openssl=yes \
--with-pythoninstall=%{python3_sitearch} \
--with-tcl=yes \
--with-tcllibs=-ltcl%{tcl_version} \
--with-tkinter=yes
%make_build
%if 0%{?doc_build}
cd doc
make IPMI.pdf
%endif
%install
%make_install
install -d %{buildroot}%{_fillupdir}
install -d %{buildroot}%{_unitdir}
install -d %{buildroot}%{_sbindir}
case "%{_arch}" in
ppc64*) IPMI_SI_MODULE_NAME=ipmi_powernv;;
aarch64|arm*) IPMI_SI_MODULE_NAME=ipmi_ssif;;
*) IPMI_SI_MODULE_NAME=ipmi_si;;
esac
sed -i "s/^IPMI_SI_MODULE_NAME=.*/IPMI_SI_MODULE_NAME=\"$IPMI_SI_MODULE_NAME\"/" %{SOURCE1}
install -m 644 %{SOURCE1} %{buildroot}%{_fillupdir}
install -m 644 %{SOURCE2} %{buildroot}%{_unitdir}
ln -sv service %{buildroot}%{_sbindir}/rcipmi
install -d %{buildroot}%{_libexecdir}
install -m 755 %{SOURCE3} %{buildroot}%{_libexecdir}/openipmi-helper
find %{buildroot} -type f -name "*.la" -delete -print
# rebuild python3 files to fix timestamps:
for d in "%{python3_sitelib}" "%{python3_sitearch}"; do
[ -d "%{buildroot}$d" ] || continue
find "%{buildroot}$d/" -type f \( -name '*.pyc' -o -name '*.pyo' \) -delete
python3 -c 'import compileall; compileall.compile_dir("%{buildroot}'"$d"'",ddir="'"$d"'",force=1)'
done
%pre
%service_add_pre ipmi.service
%preun
%service_del_preun ipmi.service
%post
%fillup_only -n ipmi
%service_add_post ipmi.service
%postun
%service_del_postun ipmi.service
%post -n libOpenIPMI0 -p /sbin/ldconfig
%postun -n libOpenIPMI0 -p /sbin/ldconfig
%post -n libOpenIPMIui1 -p /sbin/ldconfig
%postun -n libOpenIPMIui1 -p /sbin/ldconfig
%files
%license COPYING COPYING.BSD COPYING.LIB
%doc CONFIGURING_FOR_LAN FAQ
%doc README README.Force README.MotorolaMXP
%{_fillupdir}/sysconfig.ipmi
%{_unitdir}/ipmi.service
%{_sbindir}/rcipmi
%{_libexecdir}/openipmi-helper
%dir %{_sysconfdir}/ipmi
%config(noreplace) %{_sysconfdir}/ipmi/*
###### perl files ######
%dir %{perl_vendorarch}/auto/OpenIPMI
%{perl_vendorarch}/auto/OpenIPMI/OpenIPMI.so
%{perl_vendorarch}/OpenIPMI.pm
%doc swig/perl/sample swig/perl/ipmi_powerctl
###### ui files ######
%{_bindir}/ipmi_sim
%{_bindir}/ipmi_ui
%{_bindir}/ipmicmd
%{_bindir}/openipmicmd
%{_bindir}/ipmish
%{_bindir}/openipmish
%{_bindir}/sdrcomp
%{_bindir}/solterm
%{_bindir}/rmcp_ping
%{_bindir}/openipmi_eventd
%{_mandir}/man1/ipmi_ui.1*
%{_mandir}/man1/openipmicmd.1*
%{_mandir}/man1/openipmish.1*
%{_mandir}/man1/solterm.1*
%{_mandir}/man1/openipmi_eventd.1*
%{_mandir}/man1/rmcp_ping.1*
%{_mandir}/man1/ipmi_sim.1*
%{_mandir}/man5/ipmi_lan.5*
%{_mandir}/man5/ipmi_sim_cmd.5*
%{_mandir}/man7/ipmi_cmdlang.7*
%{_mandir}/man7/openipmi_conparms.7*
###### lanserv files #####
%{_bindir}/ipmilan
%{_mandir}/man8/ipmilan.8*
%files -n libOpenIPMI0
%{_libdir}/libIPMIlanserv.so.*
%{_libdir}/libOpenIPMI.so.*
%{_libdir}/libOpenIPMIcmdlang.so.*
%{_libdir}/libOpenIPMIglib.so.*
%{_libdir}/libOpenIPMIposix.so.*
%{_libdir}/libOpenIPMIpthread.so.*
%{_libdir}/libOpenIPMIutils.so.*
%files -n libOpenIPMIui1
%{_libdir}/libOpenIPMIui.so.*
%files devel
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%if 0%{?doc_build}
%doc doc/IPMI.pdf
%endif
###################################################
%files python3
%{python3_sitearch}/*OpenIPMI.*
%doc swig/OpenIPMI.i
###### gui files ######
%dir %{python3_sitearch}/openipmigui
%{python3_sitearch}/openipmigui/*
%{python3_sitearch}/__pycache__/*
%attr(755,root,root) %{_bindir}/openipmigui
%{_mandir}/man1/openipmigui.1*
%changelog

42
bootstrap Normal file
View File

@ -0,0 +1,42 @@
#! /bin/sh -x
#
# Copyright (c) 2003, Intel Corporation
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or
# without modification, are permitted provided that the following
# conditions are met:
#
# Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the distribution.
#
# Neither the name of Intel Corporation nor the names
# of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
libtoolize --copy --force --automake
aclocal
autoheader
automake --add-missing --copy --foreign
autoconf

16
fix-conversions.patch Normal file
View File

@ -0,0 +1,16 @@
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;

View File

@ -0,0 +1,21 @@
Index: OpenIPMI-2.0.31/configure.ac
===================================================================
--- OpenIPMI-2.0.31.orig/configure.ac
+++ OpenIPMI-2.0.31/configure.ac
@@ -720,11 +720,14 @@ AC_HAVE_FUNCS(syslog)
DIA=
AC_PATH_PROG(diaprog, dia)
if test "x$diaprog" != "x"; then
- diaver=`$diaprog --version 2>&1 | grep 'Dia version' | sed 's/Dia version \([[^,]]*\), .*$/\1/' | sed 's/^\([[0-9.]]\+\)+.*$/\1/'`
+ diaver=`$diaprog --version 2>&1 | grep 'Dia version' | sed 's/Dia version \([^,]*\), .*$/\1/' | sed 's/^\([[0-9.]]\+\)+.*$/\1/'`
tmp=`echo $diaver | sed 's/^[[0-9.]]\+$//'`
if test "x$diaver" = "x" -o "x$tmp" != 'x'; then
- # Couldn't get the dia version, give up.
+ # Couldn't get the dia version, guess we have a latest one.
echo "Couldn't determine the dia version from '$diaver'"
+ echo "Assuming Dia version 0.94 or newer"
+ DIA_FILTER_NAME=--filter
+ DIA="$diaprog"
exit 1
else
DIA="$diaprog"

12
ipmi.service Normal file
View File

@ -0,0 +1,12 @@
[Unit]
Description=IPMI Driver
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/lib/openipmi-helper start
ExecStop=/usr/lib/openipmi-helper stop
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,37 @@
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;

513
openipmi-helper Normal file
View File

@ -0,0 +1,513 @@
#!/bin/sh
#############################################################################
#
# ipmi: OpenIPMI Driver helper script
#
# Authors: Jan Safranek <jsafrane@redhat.com>
#
# Based on IPMI init script by:
# Matt Domsch <Matt_Domsch@dell.com>
# Chris Poblete <Chris_Poblete@dell.com>
#
# Status return code bits
# no bits set = no errors
# bit 0 set = minimum modules aren't loaded
# bit 1 set = requested feature module isn't loaded
# bit 2 set = /dev/ipmi0 (or /dev/imb if using that instead) doesn't exist
# bit 3 set = /dev/watchdog doesn't exist
# bit 4 set = lockfile doesn't exist
# bit 5 set = modules are loaded even when asked to be unloaded
CONFIGFILE=/etc/sysconfig/ipmi
#############################################################################
# GLOBALS
#############################################################################
MODULE_NAME="ipmi"
INTF_NUM=0
IPMI_SMB_MODULE_NAME="ipmi_smb"
IPMI_SI_MODULE_NAME="ipmi_si"
kernel=`uname -r | cut -d. -f1-2`
if [ "${kernel}" = "2.4" ]; then
IPMI_SMB_MODULE_NAME="ipmi_smb_intf"
IPMI_SI_MODULE_NAME="ipmi_si_drv"
fi
# source config info
[ -r ${CONFIGFILE} ] && . ${CONFIGFILE}
MODULES_INTERFACES=""
[ "${DEV_IPMI}" = "yes" ] && MODULES_INTERFACES="${MODULES_INTERFACES} ipmi_devintf"
[ "${IPMI_IMB}" = "yes" ] && MODULES_INTERFACES="${MODULES_INTERFACES} ipmi_imb"
MODULES_FEATURES=""
[ "${IPMI_WATCHDOG}" = "yes" ] && MODULES_FEATURES="${MODULES_FEATURES} ipmi_watchdog"
[ "${IPMI_POWEROFF}" = "yes" ] && MODULES_FEATURES="${MODULES_FEATURES} ipmi_poweroff"
MODULES_HW=""
[ "${IPMI_SI}" = "yes" ] && MODULES_HW="${MODULES_HW} ${IPMI_SI_MODULE_NAME}"
[ "${IPMI_SMB}" = "yes" ] && MODULES_HW="${MODULES_HW} ${IPMI_SMB_MODULE_NAME}"
MODULES_BASE="ipmi_msghandler"
MODULES="${MODULES_INTERFACES} ${MODULES_FEATURES} ${MODULES_HW} ${MODULES_BASE}"
RETVAL=0
LOCKFILE=/var/lock/subsys/ipmi
DEV_IPMI_TIMEOUT=150
UDEV_EXISTS=0
if [ -e /sbin/udev -o -e /sbin/udevd ]; then
UDEV_EXISTS=1
fi
#############################################################################
# NOTES:
# * /dev/ipmi0 is unconditionally deleted here on ipmi_devintf unload,
# because SLES9 and RHEL4 kernels don't send a message for udev to delete
# it for us.
#
#############################################################################
modules_loaded_verbose()
{
OnePlusLoaded=0
OnePlusUnloaded=0
for m in $@; do
if /sbin/lsmod | grep $m >/dev/null 2>&1 ; then
echo "$m module loaded."
OnePlusLoaded=1
else
echo "$m module not loaded."
OnePlusUnloaded=1
fi
done
}
modules_loaded()
{
OnePlusLoaded=0
OnePlusUnloaded=0
for m in $@; do
if /sbin/lsmod | grep $m >/dev/null 2>&1 ; then
OnePlusLoaded=1
else
OnePlusUnloaded=1
fi
done
}
device_node_exists ()
{
if [ -e "$1" ]; then
echo "$1 exists."
return 1
fi
echo "$1 does not exist."
return 0
}
minimum_modules_loaded()
{
rc_base=1
rc_hw=1
modules_loaded_verbose "${MODULES_BASE}"
[ ${OnePlusLoaded} -eq 0 ] && rc_base=0
modules_loaded_verbose "${MODULES_HW}"
[ ${OnePlusLoaded} -eq 0 ] && rc_hw=0
return $((rc_base && rc_hw))
}
#############################################################################
load_si()
{
if [ "${IPMI_SI}" = "yes" ]; then
modprobe ${IPMI_SI_MODULE_NAME} > /dev/null 2>&1
modules_loaded ${IPMI_SI_MODULE_NAME}
[ ${OnePlusLoaded} -ne 1 ] && RETVAL=$((RETVAL | 1))
fi
}
load_smb()
{
if [ "${IPMI_SMB}" = "yes" ]; then
modprobe ${IPMI_SMB_MODULE_NAME} > /dev/null 2>&1
modules_loaded ${IPMI_SMB_MODULE_NAME}
[ ${OnePlusLoaded} -ne 1 ] && RETVAL=$((RETVAL | 1))
fi
}
load_hw_modules()
{
load_si
load_smb
}
start_watchdog_common()
{
load_hw_modules
modprobe ipmi_watchdog ${IPMI_WATCHDOG_OPTIONS} > /dev/null 2>&1
modules_loaded ipmi_watchdog
[ ${OnePlusUnloaded} -ne 0 ] &&
RETVAL=$((RETVAL | 2)) &&
echo "Watchdog startup failed: cannot load ipmi_watchdog module" &&
return
if [ ${UDEV_EXISTS} -eq 0 -a ! -e /dev/watchdog ]; then
mknod -m 0600 /dev/watchdog c 10 130
[ $? -ne 0 ] &&
RETVAL=$((RETVAL | 8)) &&
echo "Watchdog startup failed: cannot create /dev/watchdog" &&
return
fi
}
start_watchdog_quiet()
{
[ "${IPMI_WATCHDOG}" != "yes" ] &&
return
start_watchdog_common
}
start_watchdog()
{
[ "${IPMI_WATCHDOG}" != "yes" ] &&
RETVAL=$((RETVAL | 2)) &&
echo "Watchdog not configured" &&
return
start_watchdog_common
}
stop_watchdog()
{
modprobe -q -r ipmi_watchdog > /dev/null 2>&1
modules_loaded ipmi_watchdog
if [ ${OnePlusLoaded} -ne 0 ]; then
RETVAL=$((RETVAL | 32))
echo "Watchog shutdown failed: cannot unload ipmi_watchdog module"
else
if [ "${IPMI_WATCHDOG}" = "yes" ]; then
[ ${UDEV_EXISTS} -eq 0 ] && rm -f /dev/watchdog
fi
fi
}
stop_watchdog_quiet()
{
modprobe -q -r ipmi_watchdog > /dev/null 2>&1
modules_loaded ipmi_watchdog
if [ ${OnePlusLoaded} -ne 0 ]; then
RETVAL=$((RETVAL | 32))
else
if [ "${IPMI_WATCHDOG}" = "yes" ]; then
[ ${UDEV_EXISTS} -eq 0 ] && rm -f /dev/watchdog
fi
fi
}
start_powercontrol_common()
{
local poweroff_opts=""
load_hw_modules
if [ "${IPMI_POWERCYCLE}" = "yes" ]; then
modinfo ipmi_poweroff 2>/dev/null | grep poweroff_control > /dev/null 2>&1 && \
poweroff_opts="poweroff_control=2"
modinfo ipmi_poweroff 2>/dev/null | grep poweroff_powercycle > /dev/null 2>&1 && \
poweroff_opts="poweroff_powercycle=1"
fi
modprobe ipmi_poweroff "${poweroff_opts}" > /dev/null 2>&1
modules_loaded ipmi_poweroff
[ ${OnePlusUnloaded} -ne 0 ] &&
RETVAL=$((RETVAL | 2)) &&
echo "Powercontroll startup failed: cannot load ipmi_poweroff module" &&
return
}
start_powercontrol_quiet()
{
[ "${IPMI_POWEROFF}" != "yes" ] &&
return
start_powercontrol_common
}
start_powercontrol()
{
[ "${IPMI_POWEROFF}" != "yes" ] &&
RETVAL=$((RETVAL | 2)) &&
echo "Powercontroll not configured" &&
return
start_powercontrol_common
}
stop_powercontrol()
{
modprobe -q -r ipmi_poweroff > /dev/null 2>&1
modules_loaded ipmi_poweroff
if [ ${OnePlusLoaded} -ne 0 ]; then
RETVAL=$((RETVAL | 32))
echo "Powercontroll shutdown failed: cannot unload ipmi_poweroff module"
fi
}
stop_powercontrol_quiet()
{
modprobe -q -r ipmi_poweroff > /dev/null 2>&1
modules_loaded ipmi_poweroff
[ ${OnePlusLoaded} -ne 0 ] && RETVAL=$((RETVAL | 32))
}
#############################################################################
unload_all_ipmi_modules()
{
stop_watchdog_quiet
stop_powercontrol_quiet
for m in ${MODULES}; do
modprobe -q -r ${m} > /dev/null 2>&1
done
# delete interface node ONLY if ipmi_devintf is unloaded
[ `lsmod | grep -c "ipmi_devintf"` -eq 0 ] &&
rm -f "/dev/ipmi${INTF_NUM}"
}
unload_ipmi_modules_leave_features()
{
for m in ${MODULES_INTERFACES}; do
modprobe -q -r ${m} > /dev/null 2>&1
done
# delete interface node ONLY if ipmi_devintf is unloaded
[ `lsmod | grep -c "ipmi_devintf"` -eq 0 ] &&
rm -f "/dev/ipmi${INTF_NUM}"
lsmod | egrep -q "ipmi_(poweroff|watchdog)" > /dev/null 2>&1
if [ "$?" -ne "0" ]; then
stop_watchdog_quiet
stop_powercontrol_quiet
for m in ${MODULES}; do
modprobe -q -r ${m} > /dev/null 2>&1
done
fi
}
#############################################################################
load_ipmi_modules ()
{
local locdelay
modprobe ipmi_msghandler > /dev/null 2>&1
modules_loaded ipmi_msghandler
[ ${OnePlusLoaded} -ne 1 ] && unload_all_ipmi_modules && RETVAL=$((RETVAL | 1)) && return
load_hw_modules
[ $((RETVAL & 1)) -eq 1 ] && unload_all_ipmi_modules && RETVAL=$((RETVAL | 1)) && return
if [ "${DEV_IPMI}" = "yes" ]; then
modprobe ipmi_devintf > /dev/null 2>&1
modules_loaded ipmi_devintf
RETVAL=$((RETVAL & ~2))
[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
if [ ${OnePlusLoaded} -eq 1 ]; then
if [ ${UDEV_EXISTS} -eq 0 ]; then
DEVMAJOR=`cat /proc/devices | awk '/ipmidev/{print $1}'`
rm -f /dev/ipmi${INTF_NUM}
mknod -m 0600 /dev/ipmi${INTF_NUM} c ${DEVMAJOR} 0 || RETVAL=$((RETVAL | 4))
fi
# udev can take several seconds to create /dev/ipmi0,
# but it happens asynchronously, so delay here
locdelay=${DEV_IPMI_TIMEOUT}
while [ ! -e /dev/ipmi${INTF_NUM} -a ${locdelay} -gt 0 ]; do
locdelay=$((locdelay - 1))
sleep 0.1
done
fi
fi
if [ "${IPMI_IMB}" = "yes" ]; then
modprobe ipmi_imb > /dev/null 2>&1
modules_loaded ipmi_imb
RETVAL=$((RETVAL & ~2))
[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
if [ ${OnePlusLoaded} -eq 1 ]; then
DEVMAJOR=`cat /proc/devices | awk '/imb/{print $1}'`
rm -f /dev/imb
mknod -m 0600 /dev/imb c ${DEVMAJOR} 0 || RETVAL=$((RETVAL | 4))
fi
fi
# Per Corey Minyard, essentially no one uses ipmi_radisys
# and we don't want to encourage its further use
# so it won't be handled here.
return
}
#############################################################################
start()
{
load_ipmi_modules
if [ ${RETVAL} -eq 0 ]; then
touch ${LOCKFILE}
else
if [ $((RETVAL & 1)) -eq 1 ]; then
echo "Startup failed."
else
touch ${LOCKFILE} && echo "Warning!?"
fi
fi
start_watchdog_quiet
start_powercontrol_quiet
}
#############################################################################
stop()
{
unload_ipmi_modules_leave_features
modules_loaded ${MODULES_INTERFACES}
if [ ${OnePlusLoaded} -ne 0 ]; then
RETVAL=$((RETVAL | 32))
echo "Shutdown failed, something may be in use"
else
rm -f ${LOCKFILE}
fi
}
stop_all()
{
unload_all_ipmi_modules
modules_loaded ${MODULES}
if [ ${OnePlusLoaded} -ne 0 ]; then
RETVAL=$((RETVAL | 32))
echo "Shutdown failed, something may be in use"
else
rm -f ${LOCKFILE}
fi
}
#############################################################################
restart()
{
stop_all
RETVAL=0
start
}
#############################################################################
reload()
{
stop_all
RETVAL=0
start
}
#############################################################################
status_all()
{
minimum_modules_loaded
[ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
modules_loaded_verbose ${MODULES_FEATURES} ${MODULES_INTERFACES}
[ ${OnePlusUnloaded} -ne 0 ] && RETVAL=$((RETVAL | 2))
if [ "${DEV_IPMI}" = "yes" ]; then
device_node_exists /dev/ipmi${INTF_NUM}
[ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
fi
if [ "${IPMI_IMB}" = "yes" ]; then
device_node_exists /dev/imb
[ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
fi
if [ "${IPMI_WATCHDOG}" = "yes" ]; then
device_node_exists /dev/watchdog
[ $? -eq 0 ] && RETVAL=$((RETVAL | 8))
fi
[ ! -e ${LOCKFILE} ] && RETVAL=$((RETVAL | 16))
}
status()
{
minimum_modules_loaded
[ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
if [ "${DEV_IPMI}" = "yes" ]; then
modules_loaded_verbose ipmi_devintf
[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
device_node_exists /dev/ipmi${INTF_NUM}
[ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
fi
if [ "${IPMI_IMB}" = "yes" ]; then
device_node_exists /dev/imb
[ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
fi
}
status_watchdog()
{
minimum_modules_loaded
[ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
modules_loaded_verbose ipmi_watchdog
[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
device_node_exists /dev/watchdog
[ $? -eq 0 ] && RETVAL=$((RETVAL | 8))
}
status_powercontrol()
{
minimum_modules_loaded
[ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
modules_loaded_verbose ipmi_powercontrol
[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
}
#############################################################################
usage ()
{
echo "Usage: $0 {start|stop|status" 1>&2
echo " restart|condrestart|try-restart|reload|force-reload" 1>&2
echo " start-watchdog|stop-watchdog|status-watchdog" 1>&2
echo " start-powercontrol|stop-powercontrol|status-powercontrol" 1>&2
echo " stop-all|status-all}" 1>&2
RETVAL=2
}
condrestart ()
{
[ -e ${LOCKFILE} ] && restart
}
#############################################################################
# MAIN
#############################################################################
case "$1" in
start) start ;;
stop) stop ;;
restart) restart ;;
force-reload) reload ;;
reload) reload ;;
status) status ;;
status-all) status_all ;;
condrestart) condrestart ;;
try-restart) condrestart ;;
start-watchdog) start_watchdog ;;
stop-watchdog) stop_watchdog ;;
status-watchdog) status_watchdog ;;
start-powercontrol) start_powercontrol ;;
stop-powercontrol) stop_powercontrol ;;
status-powercontrol) status_powercontrol ;;
stop-all) stop_all ;;
*) usage ;;
esac
exit ${RETVAL}
#############################################################################
# end of file
#############################################################################

19
openipmi-tinfo.patch Normal file
View File

@ -0,0 +1,19 @@
Index: OpenIPMI-2.0.31/configure.ac
===================================================================
--- OpenIPMI-2.0.31.orig/configure.ac
+++ OpenIPMI-2.0.31/configure.ac
@@ -768,10 +768,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).])
-AC_CHECK_LIB(curses, tgetent, TERM_LIBS=-lcurses,
+PKG_CHECK_MODULES(ncurses, ncurses, TERM_LIBS=$ncurses_LIBS,
+ [AC_CHECK_LIB(tinfo, tgetent, TERM_LIBS=-ltinfo,
+ [AC_CHECK_LIB(curses, tgetent, TERM_LIBS=-lcurses,
[AC_CHECK_LIB(ncursesw, tgetent, TERM_LIBS=-lncursesw,
[AC_CHECK_LIB(ncurses, tgetent, TERM_LIBS=-lncurses,
- [AC_MSG_ERROR([libtermcap, libcurses or libncurses are required!])])] )] )
+ [AC_MSG_ERROR([libtinfo, libtermcap, libcurses or libncurses are required!])])] )] )] )] )
AC_SUBST(TERM_LIBS)
AC_CHECK_FUNCS(cfmakeraw)

77
sysconfig.ipmi Normal file
View File

@ -0,0 +1,77 @@
## Path: Hardware/IPMI
## Description: Enable standard hardware interfaces (KCS, BT, SMIC)
## Type: yesno
## Default: "yes"
## Config: ipmi
# Enable standard hardware interfaces (KCS, BT, SMIC)
# You probably want this enabled.
IPMI_SI=yes
## Path: Hardware/IPMI
## Description: Name of driver to access hardware interfaces
## Type: string
## Default: "ipmi_si"
## Config: ipmi
# Name of driver to access hardware interfaces
# This is only used when IPMI_SI=yes
IPMI_SI_MODULE_NAME="ipmi_si"
## Path: Hardware/IPMI
## Description: Enable /dev/ipmi0 interface, used by ipmitool, ipmicmd,
## Type: yesno
## Default: "yes"
## Config: ipmi
# Enable /dev/ipmi0 interface, used by ipmitool, ipmicmd,
# and other userspace IPMI-using applications.
# You probably want this enabled.
DEV_IPMI=yes
## Path: Hardware/IPMI
## Description: Enable IPMI_WATCHDOG if you want the IPMI watchdog
## Type: yesno
## Default: "no"
## Config: ipmi
# Enable IPMI_WATCHDOG if you want the IPMI watchdog
# to reboot the system if it hangs
IPMI_WATCHDOG=no
## Path: Hardware/IPMI
## Description: Watchdog options - modinfo ipmi_watchdog for details
## Type: string
## Default: "timeout=60"
## Config: ipmi
# Watchdog options - modinfo ipmi_watchdog for details
# watchdog timeout value in seconds
# as there is no userspace ping application that runs during shutdown,
# be sure to give it enough time for any device drivers to
# do their cleanup (e.g. megaraid cache flushes)
# without the watchdog triggering prematurely
IPMI_WATCHDOG_OPTIONS="timeout=60"
## Path: Hardware/IPMI
## Description: Enable IPMI_POWEROFF if you want the IPMI poweroff module to be loaded.
## Type: yesno
## Default: "no"
## Config: ipmi
# Enable IPMI_POWEROFF if you want the IPMI
# poweroff module to be loaded.
IPMI_POWEROFF=no
## Path: Hardware/IPMI
## Description: Enable IPMI_POWERCYCLE if you want the system to be power-cycled on reboot
## Type: yesno
## Default: "no"
## Config: ipmi
# Enable IPMI_POWERCYCLE if you want the system to be power-cycled (power
# down, delay briefly, power on) rather than power off, on systems
# that support such. IPMI_POWEROFF=yes is also required.
IPMI_POWERCYCLE=no
## Path: Hardware/IPMI
## Description: Enable "legacy" interfaces for applications
## Type: yesno
## Default: "no"
## Config: ipmi
# Enable "legacy" interfaces for applications
# Intel IMB driver interface
IPMI_IMB=no

View File

@ -0,0 +1,28 @@
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) {

10
use_python3_shebang Normal file
View File

@ -0,0 +1,10 @@
Index: OpenIPMI-2.0.25/swig/python/openipmigui.py
===================================================================
--- OpenIPMI-2.0.25.orig/swig/python/openipmigui.py 2018-06-20 15:53:54.000000000 +0200
+++ OpenIPMI-2.0.25/swig/python/openipmigui.py 2018-09-07 15:55:13.970977102 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# openipmigui.py
#