Compare commits

..

No commits in common. "rawhide" and "f20" have entirely different histories.

9 changed files with 1423 additions and 598 deletions

14
.gitignore vendored
View file

@ -1,16 +1,2 @@
OpenIPMI-2.0.18.tar.gz
/OpenIPMI-2.0.19.tar.gz
/openipmi-2.0.21.tar.gz
/OpenIPMI-2.0.21.tar.gz
/OpenIPMI-2.0.22.tar.gz
/OpenIPMI-2.0.23.tar.gz
/OpenIPMI-2.0.24.tar.gz
/OpenIPMI-2.0.25.tar.gz
/OpenIPMI-2.0.27.tar.gz
/OpenIPMI-2.0.28.tar.gz
/OpenIPMI-2.0.29.tar.gz
/OpenIPMI-2.0.31.tar.gz
/OpenIPMI-2.0.32.tar.gz
/OpenIPMI-2.0.34.tar.gz
/OpenIPMI-2.0.35.tar.gz
/OpenIPMI-2.0.36.tar.gz

View file

@ -0,0 +1,18 @@
468067 - "pkg-config --libs OpenIPMIpthread" fails
Fix the pkgconfig file.
Reported upstream as http://sourceforge.net/tracker/index.php?func=detail&aid=2188750&group_id=36127&atid=416301
diff -up OpenIPMI-2.0.18/OpenIPMIpthread.pc.in.orig OpenIPMI-2.0.18/OpenIPMIpthread.pc.in
--- OpenIPMI-2.0.18/OpenIPMIpthread.pc.in.orig 2005-08-17 05:56:02.000000000 +0200
+++ OpenIPMI-2.0.18/OpenIPMIpthread.pc.in 2010-05-20 15:48:07.000000000 +0200
@@ -6,6 +6,6 @@ includedir=@includedir@
Name: OpenIPMIpthread
Description: Pthread OS handler for OpenIPMI
Version: @VERSION@
-Requires: OpenIPMI pthread
+Requires: OpenIPMI
Libs: -L${libdir} -lOpenIPMIutils -lOpenIPMIpthread
-Cflags: -I${includedir}
+Cflags: -I${includedir} -pthread

View file

@ -1,63 +1,7 @@
From dfca464e5fe4c9107f08bff7e6e2730a504945b7 Mon Sep 17 00:00:00 2001
From: Boris Ranto <branto@redhat.com>
Date: Thu, 2 Jun 2016 12:47:22 +0200
Subject: [PATCH] Apply './OpenIPMI-2.0.19-man.patch'
Signed-off-by: Boris Ranto <branto@redhat.com>
---
lanserv/ipmilan.8 | 13 ++++++++++---
man/ipmi_cmdlang.7 | 36 ++++++++++++++++++------------------
man/ipmi_ui.1 | 10 +++++-----
man/openipmi_conparms.7 | 4 ++--
man/openipmicmd.1 | 6 +++---
man/openipmigui.1 | 12 ++++++------
man/openipmish.1 | 12 +++++++++++-
man/rmcp_ping.1 | 2 +-
man/solterm.1 | 6 +++---
sample/ipmicmd.c | 1 +
sample/rmcp_ping.c | 5 +++++
sample/solterm.c | 7 ++++++-
ui/basic_ui.c | 25 +++++++++++++++++++++++++
13 files changed, 96 insertions(+), 43 deletions(-)
diff --git a/lanserv/ipmilan.8 b/lanserv/ipmilan.8
index ff43d5c..9360507 100644
--- a/lanserv/ipmilan.8
+++ b/lanserv/ipmilan.8
@@ -29,18 +29,25 @@ address they came in.
.SH OPTIONS
.TP
-.BI \-c\ config-file
+\fB\-c\fR file,\ \fB\-\-config\-file\fR file
Set the configuration file to one other than the default of
.I "/etc/ipmi_lan.conf"
.TP
-.B \-n
+\fB\-i\fR device,\ \fB\-\-ipmi-dev\fR device
+Sets the desired device
+.TP
+\fB\-n\fR,\ \fB\-\-daemonize\fR
Stops the daemon from forking and detaching from the controlling
terminal. This is useful for running from init.
.TP
-.B \-d
+\fB\-d\fR,\ \fB\-\-debug\fR
Turns on debugging to standard output. You generally have to use
.B \-n
with this.
+.TP
+\fB\-?\fR,\ \fB\-\-help\fR,\ \fB\-\-usage\fR
+Prints brief usage hints message.
+
.SH CONFIGURATION
diff --git a/man/ipmi_cmdlang.7 b/man/ipmi_cmdlang.7
index 4d18e76..a6d73b9 100644
--- a/man/ipmi_cmdlang.7
+++ b/man/ipmi_cmdlang.7
@@ -246,7 +246,7 @@ instance, the command to create a domain is
diff -up ./man/ipmi_cmdlang.7.manscan ./man/ipmi_cmdlang.7
--- ./man/ipmi_cmdlang.7.manscan 2013-06-05 10:21:15.742099865 +0200
+++ ./man/ipmi_cmdlang.7 2013-06-05 10:40:49.767658999 +0200
@@ -246,7 +246,7 @@ instance, the command to create a domain
The command to list all sensors in a domain named domain1 is
.B sensor list domain1.
@ -66,7 +10,7 @@ index 4d18e76..a6d73b9 100644
listed after the command description. In those responses, anything
that begins with a
.B %
@@ -316,7 +316,7 @@ BMC. For that, notice that the LAN connection has an options extra IP
@@ -316,7 +316,7 @@ BMC. For that, notice that the LAN conn
and port for the second IP address. OpenIPMI supports these IP
addresses and connection, detecting failures, switching between
addresses, and other fault-tolerant things. It does this
@ -183,7 +127,7 @@ index 4d18e76..a6d73b9 100644
on the control type.
.TP
Response:
@@ -1128,7 +1128,7 @@ multiple lights. The options values (marked with
@@ -1128,7 +1128,7 @@ multiple lights. The options values (ma
) will not be
present if local control is set to true. Local control means that
the LED takes whatever default function it does on the device
@ -210,7 +154,7 @@ index 4d18e76..a6d73b9 100644
the MC. Note that when you get a pef config, you claim a lock on the
MC that must be unlocked.
@@ -1780,7 +1780,7 @@ operational and finished all it SDR, FRU, and bus scans:
@@ -1780,7 +1780,7 @@ operational and finished all it SDR, FRU
.fi
.RE
@ -219,10 +163,41 @@ index 4d18e76..a6d73b9 100644
.RS
.nf
EVENT
diff --git a/man/ipmi_ui.1 b/man/ipmi_ui.1
index 9c5d9b6..011255f 100644
--- a/man/ipmi_ui.1
+++ b/man/ipmi_ui.1
diff -up ./man/ipmilan.8.manscan ./man/ipmilan.8
--- ./man/ipmilan.8.manscan 2013-06-04 15:43:43.597127168 +0200
+++ ./man/ipmilan.8 2013-06-05 13:36:31.282753184 +0200
@@ -29,18 +29,25 @@ address they came in.
.SH OPTIONS
.TP
-.BI \-c\ config-file
+\fB\-c\fR file,\ \fB\-\-config\-file\fR file
Set the configuration file to one other than the default of
.I "/etc/ipmi_lan.conf"
.TP
-.B \-n
+\fB\-i\fR device,\ \fB\-\-ipmi-dev\fR device
+Sets the desired device
+.TP
+\fB\-n\fR,\ \fB\-\-daemonize\fR
Stops the daemon from forking and detaching from the controlling
terminal. This is useful for running from init.
.TP
-.B \-d
+\fB\-d\fR,\ \fB\-\-debug\fR
Turns on debugging to standard output. You generally have to use
.B \-n
with this.
+.TP
+\fB\-?\fR,\ \fB\-\-help\fR,\ \fB\-\-usage\fR
+Prints brief usage hints message.
+
.SH CONFIGURATION
diff -up ./man/ipmi_ui.1.manscan ./man/ipmi_ui.1
--- ./man/ipmi_ui.1.manscan 2013-06-04 15:33:32.206892146 +0200
+++ ./man/ipmi_ui.1 2013-06-05 10:44:52.592882502 +0200
@@ -4,7 +4,7 @@
ipmi_ui \- Crude interface to an IPMI system
@ -241,7 +216,7 @@ index 9c5d9b6..011255f 100644
the right window to scroll.
Note that you must set your environment \fBTERM\fP variable properly for
@@ -48,7 +48,7 @@ the connections are to the same IPMI domain through different
@@ -48,7 +48,7 @@ the connections are to the same IPMI dom
management controllers. Also, each LAN connection may have two IP
addresses. These are two different addresses to the same management
controller. So you may have a total of 4 IP addresses to an IPMI
@ -250,7 +225,7 @@ index 9c5d9b6..011255f 100644
management controller.
.SH OPTIONS
@@ -174,12 +174,12 @@ turns events on or off from the sensor (\fB0\fP or \fB1\fP).
@@ -174,12 +174,12 @@ turns events on or off from the sensor (
turns scanning on or off for the sensor (\fB0\fP or \fB1\fP).
.I "assertion-bitmask"
specifies the bitmask of thresholds or states
@ -265,10 +240,39 @@ index 9c5d9b6..011255f 100644
deasserted.
.SH CONTROLS
diff --git a/man/openipmi_conparms.7 b/man/openipmi_conparms.7
index 587da2a..9dc6404 100644
--- a/man/openipmi_conparms.7
+++ b/man/openipmi_conparms.7
diff -up ./man/openipmicmd.1.manscan ./man/openipmicmd.1
--- ./man/openipmicmd.1.manscan 2013-06-04 13:57:08.825074711 +0200
+++ ./man/openipmicmd.1 2013-06-05 10:45:54.938921332 +0200
@@ -22,7 +22,7 @@ interfaces.
Execute a single command an exit.
.TP
-.BI <connection parms>
+.BI <connection\ parms>
The parameters for the connection depend on the connection type.
These are all described in openipmi_conparms (7)
@@ -32,7 +32,7 @@ Once up, you can execute commands in the
commands and responses are asynchronous, you issue a command and the
interface returns immediately. When the response comes back, it will
be dumped on your console. That's a little strange looking, but IPMI
-is ansychronous underneath. Note that the \fB\-k\fP option is synchronous,
+is asynchronous underneath. Note that the \fB\-k\fP option is synchronous,
it will wait for the response or a timeout before returning.
.TP
@@ -82,7 +82,7 @@ Remove a command registration.
.BR openipmi_conparms (7)
.SH "KNOWN PROBLEMS"
-The asychronous nature of the program can be annoying.
+The asynchronous nature of the program can be annoying.
.SH AUTHOR
.PP
diff -up ./man/openipmi_conparms.7.manscan ./man/openipmi_conparms.7
--- ./man/openipmi_conparms.7.manscan 2013-06-05 10:46:13.818932142 +0200
+++ ./man/openipmi_conparms.7 2013-06-05 10:47:48.332980969 +0200
@@ -1,7 +1,7 @@
.TH openipmi_conparms 7 05/13/03 OpenIPMI "Connection Parameters for OpenIPMI"
@ -287,42 +291,10 @@ index 587da2a..9dc6404 100644
\fBaes_cbc_128\fP, \fBxrc4_128\fP, and \fBxrc_40\fP. The \fBbmcpick\fP option is used by
default, which means the BMC picks the algorithm it wants to use.
diff --git a/man/openipmicmd.1 b/man/openipmicmd.1
index 6bd2401..5d206d1 100644
--- a/man/openipmicmd.1
+++ b/man/openipmicmd.1
@@ -22,7 +22,7 @@ interfaces.
Execute a single command an exit.
.TP
-.BI <connection parms>
+.BI <connection\ parms>
The parameters for the connection depend on the connection type.
These are all described in openipmi_conparms (7)
@@ -32,7 +32,7 @@ Once up, you can execute commands in the user interface. Note that
commands and responses are asynchronous, you issue a command and the
interface returns immediately. When the response comes back, it will
be dumped on your console. That's a little strange looking, but IPMI
-is ansychronous underneath. Note that the \fB\-k\fP option is synchronous,
+is asynchronous underneath. Note that the \fB\-k\fP option is synchronous,
it will wait for the response or a timeout before returning.
.TP
@@ -82,7 +82,7 @@ Remove a command registration.
.BR openipmi_conparms (7)
.SH "KNOWN PROBLEMS"
-The asychronous nature of the program can be annoying.
+The asynchronous nature of the program can be annoying.
.SH AUTHOR
.PP
diff --git a/man/openipmigui.1 b/man/openipmigui.1
index 04f880b..0c8c10f 100644
--- a/man/openipmigui.1
+++ b/man/openipmigui.1
@@ -38,7 +38,7 @@ Turn on message debugging, this will dump all messages to debug log output.
diff -up ./man/openipmigui.1.manscan ./man/openipmigui.1
--- ./man/openipmigui.1.manscan 2013-06-05 10:48:43.389006143 +0200
+++ ./man/openipmigui.1 2013-06-05 10:51:13.372066408 +0200
@@ -38,7 +38,7 @@ Turn on message debugging, this will dum
.TP
.B \-\-drawmsg
Turn on raw message debugging, this will dump all low-level messages to
@ -340,7 +312,7 @@ index 04f880b..0c8c10f 100644
Management Controllers (MCs) for that domain.
Right click drives most of the operations in the tree window. Many
@@ -92,7 +92,7 @@ Color is used in the GUI to denote error status, and shading is used
@@ -92,7 +92,7 @@ Color is used in the GUI to denote error
to denote availability. If a sensor has an error, the tree entry for
that sensor will change colors. Black means no error, yellow means
warning, red means critical, and blue means non-recoverable. These
@ -358,7 +330,7 @@ index 04f880b..0c8c10f 100644
information is beyond the scope of this document, as IPMI controls are
very complex. See the IPMI document from OpenIPMI for information
about controls.
@@ -214,7 +214,7 @@ channel listing. Note that some user setting (the name and password)
@@ -214,7 +214,7 @@ channel listing. Note that some user se
are global to all channels on the MC.
Due to the IPMI spec and some unfortunate implementation bugs, some
@ -376,11 +348,10 @@ index 04f880b..0c8c10f 100644
pulls up all the parameters for the LAN and allows them to be set.
Right-clicking on an item allows it to be changed.
diff --git a/man/openipmish.1 b/man/openipmish.1
index 36b1e43..2c902e4 100644
--- a/man/openipmish.1
+++ b/man/openipmish.1
@@ -26,7 +26,7 @@ Turn on message debugging, this will dump all messages to debug log output.
diff -up ./man/openipmish.1.manscan ./man/openipmish.1
--- ./man/openipmish.1.manscan 2013-06-05 10:52:26.787092815 +0200
+++ ./man/openipmish.1 2013-06-05 14:01:12.004559270 +0200
@@ -26,7 +26,7 @@ Turn on message debugging, this will dum
.TP
.B \-\-drawmsg
Turn on raw message debugging, this will dump all low-level messages to
@ -389,7 +360,7 @@ index 36b1e43..2c902e4 100644
protocol messages are also dumped, not just IPMI messages.
.TP
.B \-\-dmem
@@ -34,11 +34,21 @@ Turn on memory debugging, this will cause memory allocation and
@@ -34,11 +34,21 @@ Turn on memory debugging, this will caus
deallocations to be checked. When the program terminates, it will
dump all memory that was not properly freed (leaked).
.TP
@ -411,10 +382,9 @@ index 36b1e43..2c902e4 100644
.B \-\-snmp
Enable the SNMP trap handler.
.B openipmish
diff --git a/man/rmcp_ping.1 b/man/rmcp_ping.1
index d60019a..ce5cab0 100644
--- a/man/rmcp_ping.1
+++ b/man/rmcp_ping.1
diff -up ./man/rmcp_ping.1.manscan ./man/rmcp_ping.1
--- ./man/rmcp_ping.1.manscan 2013-06-05 10:52:59.704104189 +0200
+++ ./man/rmcp_ping.1 2013-06-05 10:53:09.788107626 +0200
@@ -38,7 +38,7 @@ starttag. This is zero by default
Turns on debugging to standard output.
.TP
@ -424,11 +394,10 @@ index d60019a..ce5cab0 100644
.SH AUTHOR
.PP
diff --git a/man/solterm.1 b/man/solterm.1
index 1479a1b..ada15d8 100644
--- a/man/solterm.1
+++ b/man/solterm.1
@@ -37,9 +37,9 @@ These are all described in openipmi_conparms (7)
diff -up ./man/solterm.1.manscan ./man/solterm.1
--- ./man/solterm.1.manscan 2013-06-05 10:53:46.923120093 +0200
+++ ./man/solterm.1 2013-06-05 10:55:59.442162744 +0200
@@ -37,9 +37,9 @@ These are all described in openipmi_conp
.TP
.BI \-e\ escape_char
The character to use to escape, or exit, the program. Entering this
@ -449,10 +418,9 @@ index 1479a1b..ada15d8 100644
handshake is released.
.TP
diff --git a/sample/ipmicmd.c b/sample/ipmicmd.c
index 6cbcdc5..5f5c1ec 100644
--- a/sample/ipmicmd.c
+++ b/sample/ipmicmd.c
diff -up ./sample/ipmicmd.c.manscan ./sample/ipmicmd.c
--- ./sample/ipmicmd.c.manscan 2013-06-05 13:55:04.191611230 +0200
+++ ./sample/ipmicmd.c 2013-06-05 13:55:10.988610133 +0200
@@ -124,6 +124,7 @@ void usage(void)
printf("%s [-k <command>] [-v] <con_parms>\n", progname);
printf("Where <con_parms> is one of:");
@ -461,10 +429,9 @@ index 6cbcdc5..5f5c1ec 100644
}
char *
diff --git a/sample/rmcp_ping.c b/sample/rmcp_ping.c
index 7814792..5778fea 100644
--- a/sample/rmcp_ping.c
+++ b/sample/rmcp_ping.c
diff -up ./sample/rmcp_ping.c.manscan ./sample/rmcp_ping.c
--- ./sample/rmcp_ping.c.manscan 2013-06-05 15:17:40.073957820 +0200
+++ ./sample/rmcp_ping.c 2013-06-05 14:21:05.778697883 +0200
@@ -156,6 +156,11 @@ main(int argc, char *argv[])
if (strcmp(argv[i], "--") == 0) {
i++;
@ -477,10 +444,9 @@ index 7814792..5778fea 100644
} else if (strcmp(argv[i], "-p") == 0) {
i++;
if (i >= argc) {
diff --git a/sample/solterm.c b/sample/solterm.c
index 38a3f9d..a3e52de 100644
--- a/sample/solterm.c
+++ b/sample/solterm.c
diff -up ./sample/solterm.c.manscan ./sample/solterm.c
--- ./sample/solterm.c.manscan 2013-06-05 15:17:55.264961190 +0200
+++ ./sample/solterm.c 2013-06-05 15:15:14.037921308 +0200
@@ -743,7 +743,12 @@ int main(int argc, char *argv[])
/* Now we make sure "lan" is the first argument so we get the
@ -495,12 +461,11 @@ index 38a3f9d..a3e52de 100644
fprintf(stderr, "main: %s only supports lan connections\n",
progname);
exit(1);
diff --git a/ui/basic_ui.c b/ui/basic_ui.c
index 6993eb2..84889cb 100644
--- a/ui/basic_ui.c
+++ b/ui/basic_ui.c
@@ -306,6 +306,26 @@ snmp_init(os_handler_t *os_hnd)
static void snmp_setup_fds(os_handler_t *os_hnd) { }
diff -up ./ui/basic_ui.c.manscan ./ui/basic_ui.c
--- ./ui/basic_ui.c.manscan 2013-06-04 14:08:04.538642560 +0200
+++ ./ui/basic_ui.c 2013-06-05 11:17:41.394541158 +0200
@@ -225,6 +225,26 @@ snmp_init(selector_t *sel)
}
#endif /* HAVE_UCDSNMP */
+void help(void)
@ -526,7 +491,7 @@ index 6993eb2..84889cb 100644
int
main(int argc, char *argv[])
{
@@ -327,6 +347,11 @@ main(int argc, char *argv[])
@@ -249,6 +269,11 @@ main(int argc, char *argv[])
curr_arg++;
if (strcmp(arg, "--") == 0) {
break;
@ -538,6 +503,3 @@ index 6993eb2..84889cb 100644
} else if (strcmp(arg, "-c") == 0) {
full_screen = 0;
} else if (strcmp(arg, "-dlock") == 0) {
--
2.7.4

1149
OpenIPMI-aarch64.patch Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,13 +0,0 @@
diff --git a/swig/python/OpenIPMI_lang.i b/swig/python/OpenIPMI_lang.i
index 67221fd..d150d81 100644
--- a/swig/python/OpenIPMI_lang.i
+++ b/swig/python/OpenIPMI_lang.i
@@ -541,7 +541,7 @@ static void OI_put_py_state(int current)
#else
static void init_lang(void)
{
- PyEval_InitThreads();
+ /* nothing */
}
#define OI_PY_STATE PyGILState_STATE
#define OI_PY_STATE_GET() PyGILState_Ensure()

View file

@ -1,124 +1,110 @@
%global _hardened_build 1
# TODO: uses private copy of libedit, should be modified to use system one
%bcond_with python
%bcond_with perl
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
Summary: IPMI (Intelligent Platform Management Interface) library and tools
Name: OpenIPMI
Version: 2.0.19
Release: 9%{?dist}
License: LGPLv2+ and GPLv2+ or BSD
Group: System Environment/Base
URL: http://sourceforge.net/projects/openipmi/
Source: http://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz
Source1: openipmi.sysconf
Source2: openipmi-helper
Source3: ipmi.service
Source4: openipmi.modalias
BuildRequires: gdbm-devel swig glib2-devel net-snmp-devel ncurses-devel
BuildRequires: openssl-devel python-devel perl-devel tcl-devel tkinter
BuildRequires: desktop-file-utils
BuildRequires: systemd-units
Version: 2.0.36
Release: 5%{?dist}
License: LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause
URL: https://sourceforge.net/projects/openipmi/
Source: https://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz
Source1: openipmi.sysconf
Source2: openipmi-helper
Source3: ipmi.service
Patch1: 0001-man.patch
Patch2: include-config-h-cmdlang.patch
Patch5: OpenIPMI-py313compat.patch
# aarch64 workaround remove once released package's config.sub contains aarch64
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: libtool
# aarch64 end
BuildRequires: make
BuildRequires: gdbm-devel glib2-devel net-snmp-devel ncurses-devel
%if %{with python} || %{with perl}
BuildRequires: swig
%endif
BuildRequires: openssl-devel
%if %{with python}
BuildRequires: python3-devel
%endif
%if %{with perl}
BuildRequires: perl-devel perl-generators
%endif
BuildRequires: pkgconfig
BuildRequires: readline-devel
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: libtool
%{?systemd_requires}
BuildRequires: systemd
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
Requires(post): systemd-sysv
Requires:%{name}-libs = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
# Prevent bogus provides of private libs from perl
%global __provides_exclude_from %{?__provides_exclude_from:%{__provides_exclude_from}|}^%{perl_vendorarch}/auto/.*\\.so$
Patch1: OpenIPMI-2.0.18-pthread-pkgconfig.patch
Patch2: OpenIPMI-2.0.19-man.patch
%description
The Open IPMI project aims to develop an open code base to allow access to
platform information using Intelligent Platform Management Interface (IPMI).
This package contains the tools of the OpenIPMI project.
%package modalias
Group: System Environment/Kernel
Summary: Module aliases for IPMI subsystem
%description modalias
The OpenIPMI-modalias provides configuration file with module aliases
of ACPI and PNP wildcards.
%package libs
Group: Development/Libraries
Summary: The OpenIPMI runtime libraries
Requires:%{name}-modalias = %{version}-%{release}
%description libs
The OpenIPMI-libs package contains the runtime libraries for shared binaries
and applications.
%if %{with perl}
%package perl
Summary: IPMI Perl language bindings
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Group: Development/Libraries
Summary: IPMI Perl language bindings
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires: %{name}-libs = %{version}-%{release}
%description perl
The OpenIPMI-perl package contains the Perl language bindings for OpenIPMI.
%endif
%if %{with python}
%package -n python3-openipmi
%{?python_provide:%python_provide python3-openipmi}
%{?python_provide:%python_provide python3-OpenIPMI}
# Remove before F30
Provides: %{name}-python = %{version}-%{release}
Provides: %{name}-python%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-python2 < %{version}-%{release}
Summary: IPMI Python language bindings
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%package python
Group: Development/Libraries
Summary: IPMI Python language bindings
Requires: %{name}-libs = %{version}-%{release}
%description -n python3-openipmi
%description python
The OpenIPMI-python package contains the Python language bindings for OpenIPMI.
%endif
%package devel
Summary: The development environment for the OpenIPMI project
Group: Development/Libraries
Summary: The development environment for the OpenIPMI project
Requires: pkgconfig
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}-lanserv%{?_isa} = %{version}-%{release}
Requires: %{name} = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
%description devel
The OpenIPMI-devel package contains the development libraries and header files
of the OpenIPMI project.
%package lanserv
Summary: Emulates an IPMI network listener
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description lanserv
This package contains a network IPMI listener.
%prep
%autosetup -p1
%setup -q
%patch1 -p1 -b .pthread
%patch2 -p1 -b .manscan
%build
export CFLAGS="-fPIC $RPM_OPT_FLAGS -fno-strict-aliasing"
# aarch64 workaround remove once released package's config.sub contains aarch64
%{__libtoolize} --copy --force --automake
%{__aclocal}
%{__autoheader}
%{__automake} --add-missing --copy --foreign --force-missing
%{__autoconf}
# aarch64 end
%configure \
CFLAGS="-fPIC %{optflags} -z now -fno-strict-aliasing" \
LDFLAGS="%{__global_ldflags} -Wl,--as-needed" \
--with-pythoninstall=%{python_sitearch} \
--disable-dependency-tracking \
--disable-static \
%if %{with python}
--with-pythoninstall=%{python3_sitearch} \
--with-python=%{__python3} \
%else
--with-python=no \
%endif
%if %{without perl}
--with-perl=no \
%endif
--with-tcl=no \
--disable-static \
--with-tkinter=no
# https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Beware_of_Rpath
@ -126,23 +112,31 @@ This package contains a network IPMI listener.
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make # not %%{?_smp_mflags} safe
make # not %{?_smp_mflags} safe
%install
make install DESTDIR=%{buildroot}
make install DESTDIR=$RPM_BUILD_ROOT
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*.la
install -d %{buildroot}{%{_sysconfdir}/sysconfig,%{_unitdir},%{_libexecdir}}
install -m 644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/ipmi
install -m 755 %SOURCE2 %{buildroot}%{_libexecdir}/openipmi-helper
install -m 644 %SOURCE3 %{buildroot}%{_unitdir}/ipmi.service
install -d %{buildroot}%{_sysconfdir}/modprobe.d
install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
install -m 644 %SOURCE1 ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/ipmi
install -d ${RPM_BUILD_ROOT}%{_libexecdir}
install -m 755 %SOURCE2 ${RPM_BUILD_ROOT}%{_libexecdir}/openipmi-helper
install -d ${RPM_BUILD_ROOT}%{_unitdir}
install -m 644 %SOURCE3 ${RPM_BUILD_ROOT}%{_unitdir}/ipmi.service
install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/modprobe.d
install -m 644 %SOURCE4 ${RPM_BUILD_ROOT}%{_sysconfdir}/modprobe.d/OpenIPMI.conf
rm %{buildroot}/%{_mandir}/man1/openipmigui.1 %{buildroot}%{_libdir}/*.la
rm ${RPM_BUILD_ROOT}/%{_mandir}/man1/openipmigui.1
# add missing documentation
echo ".so man1/openipmicmd.1" > %{buildroot}%{_mandir}/man1/ipmicmd.1
# add missing documentation symlinks
if test -L ${RPM_BUILD_ROOT}/%{_bindir}/ipmicmd && ! test -a ${RPM_BUILD_ROOT}/%{_mandir}/man1/ipmicmd.1.gz ; then
%{__ln_s} openipmicmd.1.gz ${RPM_BUILD_ROOT}/%{_mandir}/man1/ipmicmd.1.gz
fi
echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1
if test -L ${RPM_BUILD_ROOT}/%{_bindir}/ipmish && ! test -a ${RPM_BUILD_ROOT}/%{_mandir}/man1/ipmish.1.gz ; then
%{__ln_s} openipmish.1.gz ${RPM_BUILD_ROOT}/%{_mandir}/man1/ipmish.1.gz
fi
%post
%systemd_post ipmi.service
@ -153,8 +147,9 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1
%postun
%systemd_postun_with_restart ipmi.service
%ldconfig_scriptlets libs
%ldconfig_scriptlets lanserv
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
### A sysv => systemd migration contains all of the same scriptlets as a
### systemd package. These are additional scriptlets
@ -170,18 +165,17 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1
/bin/systemctl try-restart ipmi.service >/dev/null 2>&1 || :
%files
%license COPYING COPYING.BSD COPYING.LIB
%doc CONFIGURING_FOR_LAN FAQ README README.Force README.MotorolaMXP
%doc CONFIGURING_FOR_LAN COPYING COPYING.BSD COPYING.LIB FAQ README README.Force README.MotorolaMXP
%config(noreplace) %{_sysconfdir}/sysconfig/ipmi
%{_libexecdir}/openipmi-helper
%{_bindir}/ipmicmd
%{_bindir}/ipmilan
%{_bindir}/ipmish
%{_bindir}/ipmi_ui
%{_bindir}/openipmicmd
%{_bindir}/openipmish
%{_bindir}/rmcp_ping
%{_bindir}/solterm
%{_bindir}/openipmi_eventd
%{_unitdir}/ipmi.service
%{_mandir}/man1/ipmi_ui*
%{_mandir}/man1/openipmicmd*
@ -190,329 +184,29 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1
%{_mandir}/man1/solterm*
%{_mandir}/man1/ipmish*
%{_mandir}/man1/ipmicmd*
%{_mandir}/man1/openipmi_eventd*
%{_mandir}/man7/ipmi_cmdlang*
%{_mandir}/man7/openipmi_conparms*
%{_mandir}/man8/ipmilan*
%if %{with perl}
%files perl
%attr(644,root,root) %{perl_vendorarch}/OpenIPMI.pm
%{perl_vendorarch}/auto/OpenIPMI
%endif
%{perl_vendorarch}/auto/OpenIPMI/
%if %{with python}
%files -n python3-openipmi
%{python3_sitearch}/*OpenIPMI*
%{python3_sitearch}/__pycache__/OpenIPMI.*.pyc
%endif
%files python
%{python_sitearch}/*OpenIPMI*
%files libs
%{_libdir}/libOpenIPMI*.so.*
%{_libdir}/*.so.*
%files devel
%{_includedir}/OpenIPMI
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%files lanserv
%config(noreplace) %{_sysconfdir}/ipmi/ipmisim1.emu
%config(noreplace) %{_sysconfdir}/ipmi/lan.conf
%dir %{_sysconfdir}/ipmi
%{_bindir}/ipmilan
%{_bindir}/ipmi_sim
%{_bindir}/sdrcomp
%{_libdir}/libIPMIlanserv.so.*
%{_mandir}/man8/ipmilan.8*
%{_mandir}/man1/ipmi_sim.1*
%{_mandir}/man5/ipmi_lan.5*
%{_mandir}/man5/ipmi_sim_cmd.5*
%files modalias
%config(noreplace) %{_sysconfdir}/modprobe.d/OpenIPMI.conf
%changelog
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.36-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Mon Jan 12 2026 Josef Ridky <jridky@redhat.com> - 2.0.36-4
- rebuild for new net-snmp release
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.36-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.36-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Aug 22 2024 Fedora Release Monitoring <release-monitoring@fedoraproject.org> - 2.0.36-1
- Update to 2.0.36 (#2302353)
- Resolves CVE-2024-42934
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.35-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue May 7 2024 Pavel Cahyna <pcahyna@redhat.com> - 2.0.35-1
- Switch to https
- Update to 2.0.35 (rhbz#2278007)
drop patch integrated upstream
* Sun Feb 11 2024 Pavel Cahyna <pcahyna@redhat.com> - 2.0.34-1
- Update to 2.0.34 (rhbz#2105023)
- Resolve issues found by rpmdiff
- add a patch to fix getaddrinfo detection to avoid using gethostbyname
- add explicit Requires: on subpackages to avoid the need to test
interoperability between the various combinations of old and new
subpackages
- Conditional Perl & Python module build, by default disabled
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.32-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.32-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 08 2024 Florian Weimer <fweimer@redhat.com> - 2.0.32-11
- Fix C compatibility issues
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.32-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 18 2023 Josef Ridky <jridky@redhat.com> - 2.0.32-9
- Migrate to SPDX license format
* Tue Jul 11 2023 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.32-8
- Perl 5.38 rebuild
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 2.0.32-7
- Rebuilt for Python 3.12
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.32-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.32-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.0.32-4
- Rebuilt for Python 3.11
* Tue May 31 2022 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.32-3
- Perl 5.36 rebuild
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.32-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Jan 10 2022 Josef Ridky <jridky@redhat.com> - 2.0.32-1
- new upstream release 2.0.32 (#2020717)
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 2.0.31-8
- Rebuilt with OpenSSL 3.0.0
* Mon Aug 02 2021 Josef Ridky <jridky@redhat.com> - 2.0.31-7
- replace distutils and fix FTBFS (#1948437)
- fix collectd-ipmi crash (#1927022)
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.31-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.0.31-5
- Rebuilt for Python 3.10
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.31-4
- Perl 5.34 rebuild
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.0.31-3
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.31-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jan 25 2021 Josef Ridky <jridky@redhat.com> - 2.0.31-1
- New upstream release 2.0.31 (#1905768)
* Thu Sep 17 2020 Josef Řídký <jridky@redhat.com> - 2.0.29-1
- New upstream release 2.0.29 (#1846675)
* Thu Aug 27 2020 Josef Řídký <jridky@redhat.com> - 2.0.28-7
- Rebuilt for new net-snmp release
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.28-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jun 23 2020 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.28-5
- Perl 5.32 rebuild
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.0.28-4
- Rebuilt for Python 3.9
* Mon Feb 03 2020 Vaclav Dolezal <vdolezal@redhat.com> - 2.0.28-3
- Cleanup of openipmi-helper script; removed no-udev branch (#1579773)
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.28-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Dec 16 2019 Vaclav Dolezal <vdolezal@redhat.com> - 2.0.28-1
- New upstream release 2.0.28
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 2.0.27-5
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.0.27-4
- Rebuilt for Python 3.8
* Thu Aug 01 2019 Vaclav Dolezal <vdolezal@redhat.com> - 2.0.27-3
- Prevent bogus Provides of libOpenIPMI.so.0 by OpenIPMI-perl (#1734407)
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.27-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Jun 26 2019 Vaclav Dolezal <vdolezal@redhat.com> - 2.0.27-1
- New upstream release 2.0.27
* Fri May 31 2019 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.25-10
- Perl 5.30 rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.25-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Sep 05 2018 Josef Ridky <jridky@redhat.com> - 2.0.25-8
- Fix man page self referencing error (#1612159)
* Tue Jul 24 2018 Adam Williamson <awilliam@redhat.com> - 2.0.25-7
- Rebuild for new net-snmp
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.25-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jul 03 2018 Petr Pisar <ppisar@redhat.com> - 2.0.25-5
- Perl 5.28 rebuild
* Fri Jun 29 2018 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.25-4
- Perl 5.28 rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.0.25-3
- Rebuilt for Python 3.7
* Wed Apr 18 2018 Josef Ridky <jridky@redhat.com> - 2.0.25-2
- Python3 update
* Tue Apr 17 2018 Josef Ridky <jridky@redhat.com> - 2.0.25-1
- New upstream release 2.0.25 (#1568194)
- Replace Python2 with Python3
- Drop OpenIPMI-python2 and set it as Obsolete
- Introduce new OpenIPMI-python3 package
* Tue Mar 06 2018 Josef Ridky <jridky@redhat.com> - 2.0.24-5
- use ldconfig macros
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.24-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Jan 22 2018 Josef Ridky <jridky@redhat.com> -2.0.14-3
- remove old systemd dependencies
* Mon Jan 22 2018 Josef Ridky <jridky@redhat.com> -2.0.14-2
- restore removed requirements
* Thu Jan 18 2018 Tomasz Kłoczko <kloczek@fedoraproject.org> - 2.0.24-1
- remove pkgconfig from devel Requires
- remove libedit Requires (it is autogenerated as SONAME dependency)
- remove main package dependecy fron devell Requires (only libs is needed
- add use %%{?_isa} macro in Requires
* Wed Jan 17 2018 Josef Ridky <jridky@redhat.com> - 2.0.24-1
- New upstream release 2.0.24
- spec update (based on Tomasz Kłoczko's pull request)
- reduce the number of SONAME dependencies by use -Wl,--as-needed in LDFLAGS
- change COPYING COPYING.BSD COPYING.LIB files as %%license
- add %%{_sysconfdir}/ipmi directory to lanserv %%files list
- execute /sbin/ldconfig in %%post and %%postun section for lanserv sub-packages
- remove desktop-file-utils and GUI related packages from BuildRequires
- use roff links instead symlinks to gzipped man pages
- use %%autosetup in %%prep
- remove Group tags
* Thu Oct 19 2017 Josef Ridky <jridky@redhat.com> - 2.0.23-6
- Rebuilt for python2 package
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.0.23-5
- Add Provides for the old name without %%_isa
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.0.23-4
- Python 2 binary package renamed to python2-openipmi
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.23-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.23-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Thu Jun 15 2017 Josef Ridky <jridky@redhat.com> - 2.0.23-1
- New upstream release 2.0.23 (#1461606)
* Sun Jun 04 2017 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.22-6
- Perl 5.26 rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.22-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Oct 17 2016 Josef Ridky <jridky@redhat.com> - 2.0.22-4
- Add support for openssl-1.1.0 library (#1383995)
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.22-3
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Fri Jul 15 2016 Boris Ranto <branto@redhat.com> - 0:2.0.22-2
- Rebuild for glibc hack
* Thu Jun 02 2016 Boris Ranto <branto@redhat.com> - 0:2.0.22-1
- New version (0:2.0.22-1)
- Apply 'OpenIPMI-2.0.18-pthread-pkgconfig.patch'
- Apply './OpenIPMI-2.0.19-man.patch'
- Apply 'OpenIPMI-2.0.21-nobundle.patch'
* Tue May 17 2016 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.21-13
- Perl 5.24 rebuild
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.21-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Dec 09 2015 Boris Ranto <branto@redhat.com> - 2.0.21-11
- Avoid warning on update/removal (#1256798)
* Tue Nov 24 2015 Boris Ranto <branto@redhat.com> - 2.0.21-10
- Remove duplicities in filelists
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.21-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri Jun 05 2015 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.21-8
- Perl 5.22 rebuild
* Wed Apr 22 2015 Ales Ledvinka <aledvink@redhat.com> - 2.0.21-7
- Remove modalias subpackage.
* Tue Aug 26 2014 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.21-6
- Perl 5.20 rebuild
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.21-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Tue Aug 12 2014 Ledvinka Ales <aledvink@redhat.com> - 2.0.21-4
- Use system libedit instead of the old one bundled with source.
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.21-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue May 13 2014 Jaromir Capik <jcapik@redhat.com> - 2.0.21-2
- Fixing FTBFS due to unpackaged files (#1075696)
* Wed Jan 29 2014 Ledvinka Ales <aledvink@redhat.com> - 2.0.21-1
- Update to new upstream (fixed case 2nd) release.
* Tue Jan 14 2014 Ledvinka Ales <aledvink@redhat.com> - 2.0.19-11
- Probe modules on installation. Do not wait until reboot.
* Wed Nov 13 2013 Ledvinka Ales <aledvink@redhat.com> - 2.0.19-10
- Correct aliases matching module strings.
* Tue Nov 05 2013 Fedora Release Engineering <aledvink@redhat.com> - 2.0.19-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

View file

@ -1,12 +0,0 @@
diff -up OpenIPMI-2.0.32/cmdlang/cmdlang.c~ OpenIPMI-2.0.32/cmdlang/cmdlang.c
--- OpenIPMI-2.0.32/cmdlang/cmdlang.c~ 2021-01-22 19:51:28.000000000 +0100
+++ OpenIPMI-2.0.32/cmdlang/cmdlang.c 2022-01-28 11:55:42.375470392 +0100
@@ -32,6 +32,8 @@
*/
+#include <config.h>
+
#include <errno.h>
#include <string.h>
#include <ctype.h>

View file

@ -4,7 +4,6 @@
# ipmi: OpenIPMI Driver helper script
#
# Authors: Jan Safranek <jsafrane@redhat.com>
# Václav Doležal <vdolezal@redhat.com>
#
# Based on IPMI init script by:
# Matt Domsch <Matt_Domsch@dell.com>
@ -31,6 +30,11 @@ 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
MODULES_INTERFACES=""
[ "${DEV_IPMI}" = "yes" ] && MODULES_INTERFACES="${MODULES_INTERFACES} ipmi_devintf"
@ -51,6 +55,17 @@ 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()
@ -58,7 +73,7 @@ modules_loaded_verbose()
OnePlusLoaded=0
OnePlusUnloaded=0
for m in $@; do
if /sbin/lsmod | grep -q $m ; then
if /sbin/lsmod | grep $m >/dev/null 2>&1 ; then
echo "$m module loaded."
OnePlusLoaded=1
else
@ -73,7 +88,7 @@ modules_loaded()
OnePlusLoaded=0
OnePlusUnloaded=0
for m in $@; do
if /sbin/lsmod | grep -q $m ; then
if /sbin/lsmod | grep $m >/dev/null 2>&1 ; then
OnePlusLoaded=1
else
OnePlusUnloaded=1
@ -139,6 +154,13 @@ start_watchdog_common()
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()
@ -164,6 +186,10 @@ stop_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
}
@ -173,6 +199,10 @@ stop_watchdog_quiet()
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
}
@ -181,9 +211,9 @@ start_powercontrol_common()
local poweroff_opts=""
load_hw_modules
if [ "${IPMI_POWERCYCLE}" == "yes" ]; then
modinfo ipmi_poweroff 2>/dev/null | grep -q poweroff_control && \
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 -q poweroff_powercycle && \
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
@ -235,6 +265,9 @@ unload_all_ipmi_modules()
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()
@ -242,7 +275,10 @@ unload_ipmi_modules_leave_features()
for m in ${MODULES_INTERFACES}; do
modprobe -q -r ${m} > /dev/null 2>&1
done
lsmod | grep -Eq "ipmi_(poweroff|watchdog)"
# 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
@ -266,7 +302,14 @@ load_ipmi_modules ()
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}
@ -274,8 +317,6 @@ load_ipmi_modules ()
locdelay=$((locdelay - 1))
sleep 0.1
done
else
RETVAL=$((RETVAL | 2))
fi
fi

View file

@ -1 +1 @@
SHA512 (OpenIPMI-2.0.36.tar.gz) = a47725308336f200e88a1eb8641ed5ef03fc8bb43ee47f7a99e39df68640ff912b6842c1710d7e767aeb724fc41fa4ed3b244685812ee985e5200003a45f4015
e96e68b972d4b376f239d32cd3629328 OpenIPMI-2.0.19.tar.gz