commit 084a85b243a043dd2c683c57dacbc145132cdd4a94ace9402506d0b8e795ff4a Author: Adrian Schröter Date: Fri May 3 10:47:39 2024 +0200 Sync from SUSE:SLFO:Main OpenIPMI revision 472dc46a9f8e9932b675fb80f988e4dc diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/OpenIMPI-add-libncurses.patch b/OpenIMPI-add-libncurses.patch new file mode 100644 index 0000000..285faab --- /dev/null +++ b/OpenIMPI-add-libncurses.patch @@ -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 diff --git a/OpenIPMI-2.0.31.tar.gz b/OpenIPMI-2.0.31.tar.gz new file mode 100644 index 0000000..53b13c7 --- /dev/null +++ b/OpenIPMI-2.0.31.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7052f37726ff454b0dcac49f35dd030bc12c9570ca0ba5cd2d17774b8e9d9717 +size 3129097 diff --git a/OpenIPMI-autoconf-m4-ax-python-devel-serial25.patch b/OpenIPMI-autoconf-m4-ax-python-devel-serial25.patch new file mode 100644 index 0000000..7d64466 --- /dev/null +++ b/OpenIPMI-autoconf-m4-ax-python-devel-serial25.patch @@ -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 . ++# with this program. If not, see . + # + # 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< + +- 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 + +- 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 + +- 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 + +- Enhance changelog as demanded in an internal submitrequest + +------------------------------------------------------------------- +Tue Sep 28 08:30:14 UTC 2021 - Thomas Renninger + +- 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 + +- 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 + +- Use Python3 instead of Python2 (bsc#1190999). + +------------------------------------------------------------------- +Mon Mar 8 14:16:36 UTC 2021 - Matthias Gerstner + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + diff --git a/OpenIPMI.spec b/OpenIPMI.spec new file mode 100644 index 0000000..b468a6e --- /dev/null +++ b/OpenIPMI.spec @@ -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 diff --git a/bootstrap b/bootstrap new file mode 100644 index 0000000..5023cb3 --- /dev/null +++ b/bootstrap @@ -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 + + diff --git a/fix-conversions.patch b/fix-conversions.patch new file mode 100644 index 0000000..b8bba48 --- /dev/null +++ b/fix-conversions.patch @@ -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; diff --git a/fix_dia_version_detection.patch b/fix_dia_version_detection.patch new file mode 100644 index 0000000..9bfe5b9 --- /dev/null +++ b/fix_dia_version_detection.patch @@ -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" diff --git a/ipmi.service b/ipmi.service new file mode 100644 index 0000000..556591d --- /dev/null +++ b/ipmi.service @@ -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 diff --git a/lanserv-Add-the-judgment-on-the-validity-of-length-in-emu_cmd.c-and-session-in-lanserv_ipmi.c.patch b/lanserv-Add-the-judgment-on-the-validity-of-length-in-emu_cmd.c-and-session-in-lanserv_ipmi.c.patch new file mode 100644 index 0000000..2eb0579 --- /dev/null +++ b/lanserv-Add-the-judgment-on-the-validity-of-length-in-emu_cmd.c-and-session-in-lanserv_ipmi.c.patch @@ -0,0 +1,37 @@ +From: zhangqiumiao +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: +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; diff --git a/openipmi-helper b/openipmi-helper new file mode 100644 index 0000000..3b2abdf --- /dev/null +++ b/openipmi-helper @@ -0,0 +1,513 @@ +#!/bin/sh +############################################################################# +# +# ipmi: OpenIPMI Driver helper script +# +# Authors: Jan Safranek +# +# Based on IPMI init script by: +# Matt Domsch +# Chris Poblete +# +# 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 +############################################################################# + diff --git a/openipmi-tinfo.patch b/openipmi-tinfo.patch new file mode 100644 index 0000000..bf47163 --- /dev/null +++ b/openipmi-tinfo.patch @@ -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) diff --git a/sysconfig.ipmi b/sysconfig.ipmi new file mode 100644 index 0000000..cfb2030 --- /dev/null +++ b/sysconfig.ipmi @@ -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 diff --git a/unix_thread-Remove-the-fd-handler-sets-before-it-s-set-up.patch b/unix_thread-Remove-the-fd-handler-sets-before-it-s-set-up.patch new file mode 100644 index 0000000..278e83c --- /dev/null +++ b/unix_thread-Remove-the-fd-handler-sets-before-it-s-set-up.patch @@ -0,0 +1,28 @@ +From: Corey Minyard +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 + + +Signed-off-by: +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) { diff --git a/use_python3_shebang b/use_python3_shebang new file mode 100644 index 0000000..088d2e1 --- /dev/null +++ b/use_python3_shebang @@ -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 + #