Compare commits

..

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

12 changed files with 250 additions and 1131 deletions

15
.gitignore vendored
View file

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

@ -1,543 +0,0 @@
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
The command to list all sensors in a domain named domain1 is
.B sensor list domain1.
-Each command has a reponse for each object operated on, which is
+Each command has a response for each object operated on, which is
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
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
-transparently to the user. Mutiple connections may require special
+transparently to the user. Multiple connections may require special
OEM support, read the documentation about your specific system if you
need this.
@@ -336,7 +336,7 @@ or
\fI<name>\fP and \fI<password>\fP are the user name and password of
the IPMI user to use for the connection.
The <smi num> is the driver number, generally 0.
-Options enable and disable various automitic processing and are:
+Options enable and disable various automatic processing and are:
.PD 0
.HP
.B -[no]all
@@ -356,7 +356,7 @@ is false by default.
is false by default.
.HP
.B -[no]ipmbscan
-- IPMB bus scanning. This turns on scanning IPMB busses when they are found.
+- IPMB bus scanning. This turns on scanning IPMB buses when they are found.
This is false by default.
.HP
.B -[no]oeminit
@@ -461,7 +461,7 @@ available hacks are:
The -M option sets the maximum outstanding messages. The default is
2, ranges 1-63.
-Options enable and disable various automitic processing and are:
+Options enable and disable various automatic processing and are:
.PD 0
.HP
.B -[no]all
@@ -519,7 +519,7 @@ Domain Created: <domain>
.RE
.B fru <domain> <is_logical> <device_address> <device_id> <lun> <private_bus> <channel>
-- dump a fru given all it's insundry information.
+- dump a fru given all it's sundry information.
.TP
Response:
.RS
@@ -533,7 +533,7 @@ Domain
.B msg <domain> <channel> <ipmb> <LUN> <NetFN> <Cmd> [data...]
- Send a command to the given IPMB address on the given channel and
-display the response. Note that this does not require the existance
+display the response. Note that this does not require the existence
of an MC in OpenIPMI.
.TP
Response:
@@ -571,7 +571,7 @@ SEL Rescan done: <domain>
.RE
.B presence <domain>
-- Audit the presence of all enities in the domain. Note that this just
+- Audit the presence of all entities in the domain. Note that this just
starts the process; it will run in the background.
.TP
Response is:
@@ -689,7 +689,7 @@ FRU deleted: <fru>
- Set the value of a FRU element. The
name is the record name, or multi-record. The number is required
for fields that need it (custom and multi-record). The value is
-an a single value for integers. For strings it is a string
+a single value for integers. For strings it is a string
type (either binary, ascii, or unicode) and the info. Binary and
unicode data is specified as numbers. ascii data is specified in
a string. Note that setting a ascii value with no string will
@@ -770,7 +770,7 @@ Domain
.B info <entity>
- Dump information about an entity.
.TP
-Reponse:
+Response:
.RS
.nf
Entity
@@ -784,7 +784,7 @@ Entity
.B fru <entity>
- Dump the FRU information about the given entity.
.TP
-Reponse:
+Response:
.RS
.nf
Entity
@@ -813,7 +813,7 @@ Entity
.B set_act_time <entity>
- Set the hot-swap auto-activate time.
.TP
-Reponse:
+Response:
.RS
.nf
Set act time: <entity>
@@ -981,7 +981,7 @@ Response:
.nf
Sensor
Name: <sensor>
- Positivie Hysteresis: <integer>
+ Positive Hysteresis: <integer>
Negative Hysteresis: <integer>
.fi
.RE
@@ -1101,7 +1101,7 @@ Set done: <control>
.RE
.B get <control>
-- Get the value of a control. The reponse depends
+- Get the value of a control. The response depends
on the control type.
.TP
Response:
@@ -1128,7 +1128,7 @@ multiple lights. The options values (marked with
) 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
-(like disk activity, ethernet activity, hot-swap LED, etc.).
+(like disk activity, Ethernet activity, hot-swap LED, etc.).
Response for id control:
.RS
.nf
@@ -1325,7 +1325,7 @@ Channel Access
- Set information about the MC's channel access. There are two different
places where this is stored, the present in-use values (volatile) and the
non-volatile storage that is loaded at startup. Note if you specify
-channel 0xe, the modified channel will be the current channel. Parms
+channel 0xe, the modified channel will be the current channel. Parameters
are:
.RS
.nf
@@ -1547,7 +1547,7 @@ PET destroyed: <pet>
.SS pef
commands dealing with platform even filters. These are basically
connections to the PEF configuration parameters in an MC. You use a
-pef to fetch a pef config, which you can then modify and write back to
+pef to fetch a pef configuration, which you can then modify and write back to
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:
.fi
.RE
-The following comes out when domain connection infomration changes:
+The following comes out when domain connection information changes:
.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
@@ -4,7 +4,7 @@
ipmi_ui \- Crude interface to an IPMI system
.SH SYNOPSIS
-.B ipmiui
+.B ipmi_ui
.RB [\| \-dmsg \|]
.RB [\| \-dmem \|]
.RB [\| \-c \|]
@@ -34,7 +34,7 @@ Normally,
starts up in a full-screen format. The left window shows the output
of commands, the right window shows the logs from OpenIPMI. Both
windows are scrollable with page up and page down keys, press the "\fBF1\fP"
-key to choose the the left window to scroll, the "\fBF2\fP" key to choose
+key to choose the left window to scroll, the "\fBF2\fP" key to choose
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
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
-domain, two management controllers and two IP adresses to each
+domain, two management controllers and two IP addresses to each
management controller.
.SH OPTIONS
@@ -174,12 +174,12 @@ turns events on or off from the sensor (\fB0\fP or \fB1\fP).
turns scanning on or off for the sensor (\fB0\fP or \fB1\fP).
.I "assertion-bitmask"
specifies the bitmask of thresholds or states
-that should be enabled or disabled when a thrshold or state is
+that should be enabled or disabled when a threshold or state is
asserted. It is a bunch of 0's and 1's, where the first one is for
threshold/state 0, the second for threshold/state 1, etc.
.I "deassertion-bitmask"
specifies the bitmask of thresholds or states
-that should be enabled or disabled when a thrshold or state is
+that should be enabled or disabled when a threshold or state is
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
@@ -1,7 +1,7 @@
.TH openipmi_conparms 7 05/13/03 OpenIPMI "Connection Parameters for OpenIPMI"
.SH NAME
-openipmi_cmdparms \- Connection parmeters for OpenIPMI
+openipmi_cmdparms \- Connection parameters for OpenIPMI
.SH SYNOPSIS
@@ -97,7 +97,7 @@ use.
.TP
.BI \-Rc\ confidentiality\ algorithm
The \fIRMCP+ confidentiality (encryption) algorithm\fP to use. This keeps
-evesdroppers from seeing the data. Valid values are: \fBbmcpick\fP,
+eavesdroppers from seeing the data. Valid values are: \fBbmcpick\fP,
\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.
.TP
.B \-\-drawmsg
Turn on raw message debugging, this will dump all low-level messages to
-debug log output. This differes from normal message debugging in that all
+debug log output. This differs from normal message debugging in that all
protocol messages are also dumped, not just IPMI messages.
.TP
.B \-\-dmem
@@ -81,7 +81,7 @@ tree.
The tree window has a top-level list of all the domains for which
OpenIPMI has connections (or pending connection). Each domain
-exapands into domain-specific information and a list of entities and
+expands into domain-specific information and a list of entities and
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
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
-errors propigate up, so the entity containing that sensor will be the
+errors propagate up, so the entity containing that sensor will be the
same color as the most critical error for the sensors underneath it.
The same goes for domain, it will be the same color as the most
critical error for the entities underneath it. This way, if you watch
@@ -146,7 +146,7 @@ that sensor.
.SH CONTROLS
-Controls are available under the entity they belong to. control
+Controls are available under the entity they belong to. Control
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)
are global to all channels on the MC.
Due to the IPMI spec and some unfortunate implementation bugs, some
-wierd issues exist with this information. The user has an Enabled
+weird issues exist with this information. The user has an Enabled
value that tells whether the user is enabled or not. When initially
displayed, this field shows as a "?" because this field is not
readable. It will displayed as the actual value when it is modified,
@@ -247,7 +247,7 @@ changed.
.SH SOLPARMS
In the channel display on a 8023_LAN channel, a LANPARM configuration
-command is available if the MC supporte SOL (Serial Over LAN). This
+command is available if the MC supports SOL (Serial Over LAN). This
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.
.TP
.B \-\-drawmsg
Turn on raw message debugging, this will dump all low-level messages to
-debug log output. This differes from normal message debugging in that all
+debug log output. This differs from normal message debugging in that all
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
deallocations to be checked. When the program terminates, it will
dump all memory that was not properly freed (leaked).
.TP
+.B \-\-dmsgerr
+Turn on printing out low-level message errors.
+.TP
.B \-\-dlock
Turn on lock debugging, this will check lock operations to make sure
that locks are help in all the proper places and make sure that locks
are properly nested.
.TP
+\fB-x\fR\ <string>,\ \fB\-\-execute\fR\ <string>
+Execute the given string at startup. This may be entered multiple times
+for multiple commands.
+.TP
+.B \-\-glib
+Use glib for the OS handler.
+.TP
.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
@@ -38,7 +38,7 @@ starttag. This is zero by default
Turns on debugging to standard output.
.TP
.I destination
-The target address, default is the boradcast address (default 255.255.255.255)
+The target address, default is the broadcast address (default 255.255.255.255)
.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)
.TP
.BI \-e\ escape_char
The character to use to escape, or exit, the program. Entering this
-chatacter right after a newline is entered causes the program to go
+character right after a newline is entered causes the program to go
into command mode. A single character after this performs a command.
-The default escape character is "~" as shown below. Suppported
+The default escape character is "~" as shown below. Supported
commands are:
.RS
.IP ~.
@@ -98,7 +98,7 @@ the SoL session. This is the default.
.TP
.BI \-holdoff
Specifies that CTS, DTR, and DSR are to be deasserted at the start of
-the SoL session so that the configuration may be modifeid before the
+the SoL session so that the configuration may be modified before the
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
@@ -124,6 +124,7 @@ void usage(void)
printf("%s [-k <command>] [-v] <con_parms>\n", progname);
printf("Where <con_parms> is one of:");
ipmi_parse_args_iter_help(con_usage, NULL);
+ printf("\n");
}
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
@@ -156,6 +156,11 @@ main(int argc, char *argv[])
if (strcmp(argv[i], "--") == 0) {
i++;
break;
+ } else if ((strcmp(argv[i], "--help") == 0) ||
+ (strcmp(argv[i], "-?") == 0) ||
+ (strcmp(argv[i], "-h") == 0)) {
+ i++;
+ usage();
} 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
@@ -743,7 +743,12 @@ int main(int argc, char *argv[])
/* Now we make sure "lan" is the first argument so we get the
right connection type... */
- if (strcmp(argv[1], "lan") != 0) {
+ if ((strcmp(argv[1], "-h") == 0) ||
+ (strcmp(argv[1], "--help") == 0) ||
+ (strcmp(argv[1], "-?") == 0)) {
+ usage();
+ exit(1);
+ } else if (strcmp(argv[1], "lan") != 0) {
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) { }
#endif /* HAVE_UCDSNMP */
+void help(void)
+{
+ fprintf(stdout, "ipmi_ui [ options ] smi smi-num\n");
+ fprintf(stdout, "ipmi_ui [ oprions ] lan IP port [IP2 port2] auth priv user pass\n");
+ fprintf(stdout, "\n");
+ fprintf(stdout, "Options:\n");
+ fprintf(stdout, " -c Command line mode\n");
+ fprintf(stdout, " -dlock Lock debugging ON\n");
+ fprintf(stdout, " -dmem Memory debugging ON\n");
+ fprintf(stdout, " -drawmsg Raw message ON\n");
+ fprintf(stdout, " -dmsg Dump all messages.\n");
+#ifdef HAVE_UCDSNMP
+ fprintf(stdout, " -snmp SNMP trap handler ON\n");
+#endif
+ fprintf(stdout, "Auth:\n");
+ fprintf(stdout, " none | straight | md5 | md2\n");
+ fprintf(stdout, "Priv:\n");
+ fprintf(stdout, " callback | user | operator | admin\n");
+}
+
int
main(int argc, char *argv[])
{
@@ -327,6 +347,11 @@ main(int argc, char *argv[])
curr_arg++;
if (strcmp(arg, "--") == 0) {
break;
+ } else if (strcmp(arg, "-?") == 0 ||
+ strcmp(arg, "-h") == 0 ||
+ strcmp(arg, "--help") == 0) {
+ help();
+ return(1);
} else if (strcmp(arg, "-c") == 0) {
full_screen = 0;
} else if (strcmp(arg, "-dlock") == 0) {
--
2.7.4

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,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,47 +1,26 @@
%global _hardened_build 1
%bcond_with python
%bcond_with perl
# TODO: uses private copy of libedit, should be modified to use system one
%{!?python_sitearch: %define 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.18
Release: 4%{?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.initscript
Source3: openipmigui.desktop
Source4: README.initscript
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
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
Requires(post): chkconfig
Requires(preun): chkconfig
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
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: %{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
%description
The Open IPMI project aims to develop an open code base to allow access to
@ -49,542 +28,145 @@ platform information using Intelligent Platform Management Interface (IPMI).
This package contains the tools of the OpenIPMI project.
%package libs
Group: Development/Libraries
Summary: The OpenIPMI runtime libraries
%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))
%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
%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}
%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}
%package gui
Group: System Environment/Base
Summary: IPMI graphical user interface tool
Requires: tix tkinter %{name}-python = %{version}-%{release}
%description lanserv
This package contains a network IPMI listener.
%description gui
The OpenIPMI-gui package contains the graphical user interface to monitor
and control IPMI-enabled devices.
%prep
%autosetup -p1
%setup -q
%patch1 -p1
%build
%configure \
CFLAGS="-fPIC %{optflags} -z now -fno-strict-aliasing" \
LDFLAGS="%{__global_ldflags} -Wl,--as-needed" \
--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 \
--with-tkinter=no
# https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Beware_of_Rpath
# get rid of rpath still present in OpenIPMI-perl package
export CFLAGS="-fPIC $RPM_OPT_FLAGS"
%configure --with-pythoninstall=%{python_sitearch} --disable-dependency-tracking --with-tcl=no --disable-static
# get rid of rpath
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}
rm -rf $RPM_BUILD_ROOT
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}%{_initrddir}
install -m 755 %SOURCE2 ${RPM_BUILD_ROOT}%{_initrddir}/ipmi
rm %{buildroot}/%{_mandir}/man1/openipmigui.1 %{buildroot}%{_libdir}/*.la
desktop-file-install --vendor="fedora" --dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE3}
# add missing documentation
echo ".so man1/openipmicmd.1" > %{buildroot}%{_mandir}/man1/ipmicmd.1
echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1
install -m 644 %SOURCE4 .
%post
%systemd_post ipmi.service
/sbin/chkconfig --add ipmi
%preun
%systemd_preun ipmi.service
if [ $1 = 0 ]; then
service ipmi stop >/dev/null 2>&1
/sbin/chkconfig --del ipmi
fi
%postun
%systemd_postun_with_restart ipmi.service
if [ "$1" -ge "1" ]; then
service ipmi condrestart >/dev/null 2>&1 || :
fi
%ldconfig_scriptlets libs
%ldconfig_scriptlets lanserv
%post libs -p /sbin/ldconfig
### A sysv => systemd migration contains all of the same scriptlets as a
### systemd package. These are additional scriptlets
%postun libs -p /sbin/ldconfig
%triggerun -- OpenIPMI < 2.0.18-14
# Save the current service runlevel info
# User must manually run systemd-sysv-convert --apply httpd
# to migrate them to systemd targets
/usr/bin/systemd-sysv-convert --save ipmi >/dev/null 2>&1 ||:
/bin/systemctl --no-reload enable ipmi.service >/dev/null 2>&1 ||:
# Run these because the SysV package being removed won't do them
/sbin/chkconfig --del ipmi >/dev/null 2>&1 || :
/bin/systemctl try-restart ipmi.service >/dev/null 2>&1 || :
%clean
rm -rf $RPM_BUILD_ROOT
%files
%license COPYING COPYING.BSD COPYING.LIB
%doc CONFIGURING_FOR_LAN FAQ README README.Force README.MotorolaMXP
%defattr(-,root,root)
%doc CONFIGURING_FOR_LAN COPYING COPYING.BSD COPYING.LIB FAQ README README.Force README.MotorolaMXP README.initscript
%config(noreplace) %{_sysconfdir}/sysconfig/ipmi
%{_libexecdir}/openipmi-helper
%{_initrddir}/ipmi
%{_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*
%{_mandir}/man1/openipmish*
%{_mandir}/man1/rmcp_ping*
%{_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
%defattr(-,root,root)
%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
%defattr(-,root,root)
%{python_sitearch}/*OpenIPMI*
%files libs
%{_libdir}/libOpenIPMI*.so.*
%defattr(-,root,root)
%{_libdir}/*.so.*
%files devel
%defattr(-,root,root)
%{_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 gui
%defattr(-,root,root)
%{_bindir}/openipmigui
%{_mandir}/man1/openipmigui*
%{python_sitearch}/openipmigui
%{_datadir}/applications/fedora-openipmigui.desktop
%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
* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.19-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Fri Jul 19 2013 Ledvinka Ales <aledvink@redhat.com> - 2.0.19-7
- Hint compilation to avoid strict aliasing and prevent type-punned pointer issues.
- Fix rPath regression for OpenIPMI-perl library.
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 2.0.19-6
- Perl 5.18 rebuild
* Tue Jun 4 2013 Ledvinka Ales <aledvink@redhat.com> - 2.0.19-5
- Support aarch64 by replicating release toolchain.
- Configuration subpackage with kernel probed wildcard module aliases.
as workaround for bz#961878 and fesco#1110
- Man pages symlinks same as bin symlinks.
- ipmi_ui command help argument.
- ipmilan missing options.
- Fixed build requirements.
* Thu Apr 25 2013 Ledvinka Ales <aledvink@redhat.com> - 2.0.19-4
- rpmdiff fixes
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.19-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Mon Aug 27 2012 Jan Safranek <jsafrane@redhat.com> - 2.0.19-2
- Updated RPM scriptlets with latest systemd-rpm macros (#850246)
- Fixed fedora-review tool complaints
* Wed Aug 8 2012 Jan Safranek <jsafrane@redhat.com> - 2.0.19-1
- Update to 2.0.19
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.18-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon Jun 11 2012 Petr Pisar <ppisar@redhat.com> - 2.0.18-15
- Perl 5.16 rebuild
* Mon May 7 2012 Jan Safranek <jsafrane@redhat.com> - 2.0.18-14
- Added ipmi systemd unit
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.18-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Thu Jul 21 2011 Petr Sabata <contyk@redhat.com> - 2.0.18-12
- Perl mass rebuild
* Wed Jul 20 2011 Petr Sabata <contyk@redhat.com> - 2.0.18-11
- Perl mass rebuild
* Fri Jul 8 2011 Jan Safranek <jsafrane@redhat.com> - 2.0.18-10
- Rebuilt for new Net-SNMP
* Fri Jun 17 2011 Marcela Mašláňová <mmaslano@redhat.com> - 2.0.18-9
- Perl mass rebuild
* Fri Jun 10 2011 Marcela Mašláňová <mmaslano@redhat.com> - 2.0.18-8
- Perl 5.14 mass rebuild
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.18-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Mon Nov 1 2010 Jan Safranek <jsafrane@redhat.com> - 2.0.18-6
- Removed the openipmigui tool, it does not work with TCL without thread
support (#646184)
* Tue Oct 26 2010 Jan Safranek <jsafrane@redhat.com> - 2.0.18-5
- Rebuilt for new Net-SNMP
* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 2.0.18-4
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild

2
README.initscript Normal file
View file

@ -0,0 +1,2 @@
Please note that the /etc/init.d/ipmi init script is not LSB compliant and
uses non-standard exit codes. See the init script for detailed description.

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

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

View file

@ -1,15 +1,24 @@
#!/bin/sh
#############################################################################
#
# ipmi: OpenIPMI Driver helper script
# ipmi: OpenIPMI Driver init 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>
# Authors: Matt Domsch <Matt_Domsch@dell.com>
# Chris Poblete <Chris_Poblete@dell.com>
#
# chkconfig: - 13 87
# description: OpenIPMI Driver init script
#
### BEGIN INIT INFO
# Provides: ipmidrv
# Required-Start: $local_fs $remote_fs $syslog
# Required-Stop: $local_fs $remote_fs $syslog
# Default-Start:
# Default-Stop:
# Short-Description: OpenIPMI Driver init script
# Description: OpenIPMI Driver init script
### END INIT INFO
#
# Status return code bits
# no bits set = no errors
# bit 0 set = minimum modules aren't loaded
@ -19,6 +28,54 @@
# bit 4 set = lockfile doesn't exist
# bit 5 set = modules are loaded even when asked to be unloaded
#
#############################################################################
# for log_success_msg and friends
if [ -r /lib/lsb/init-functions ]; then
# LSB, SLES, ...
. /lib/lsb/init-functions
elif [ -r /etc/init.d/functions ]; then
# Red Hat / VMware
. /etc/init.d/functions
my_log_message()
{
ACTION=$1
shift
case "$ACTION" in
success)
echo -n $*
success "$*"
echo
;;
failure)
echo -n $*
failure "$*"
echo
;;
warning)
echo -n $*
warning "$*"
echo
;;
*)
;;
esac
}
log_success_msg()
{
my_log_message success "$*"
}
log_failure_msg()
{
my_log_message failure "$*"
}
log_warning_msg()
{
my_log_message warning "$*"
}
fi
CONFIGFILE=/etc/sysconfig/ipmi
# source config info
[ -r ${CONFIGFILE} ] && . ${CONFIGFILE}
@ -31,6 +88,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 +113,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 +131,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 +146,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
@ -137,33 +210,49 @@ start_watchdog_common()
modules_loaded ipmi_watchdog
[ ${OnePlusUnloaded} -ne 0 ] &&
RETVAL=$((RETVAL | 2)) &&
echo "Watchdog startup failed: cannot load ipmi_watchdog module" &&
log_failure_msg &&
return
if [ ${UDEV_EXISTS} -eq 0 -a ! -e /dev/watchdog ]; then
mknod -m 0600 /dev/watchdog c 10 130
[ $? -ne 0 ] &&
RETVAL=$((RETVAL | 8)) &&
log_failure_msg &&
return
fi
log_success_msg
}
start_watchdog_quiet()
{
[ "${IPMI_WATCHDOG}" != "yes" ] &&
return
echo -n $"Starting ipmi_watchdog driver: "
start_watchdog_common
}
start_watchdog()
{
echo -n $"Starting ipmi_watchdog driver: "
[ "${IPMI_WATCHDOG}" != "yes" ] &&
RETVAL=$((RETVAL | 2)) &&
echo "Watchdog not configured" &&
log_failure_msg "not configured" &&
return
start_watchdog_common
}
stop_watchdog()
{
echo -n $"Stopping ipmi_watchdog driver: "
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"
log_failure_msg
else
if [ "${IPMI_WATCHDOG}" = "yes" ]; then
[ ${UDEV_EXISTS} -eq 0 ] && rm -f /dev/watchdog
fi
log_success_msg
fi
}
@ -173,6 +262,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,42 +274,48 @@ 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
modules_loaded ipmi_poweroff
[ ${OnePlusUnloaded} -ne 0 ] &&
RETVAL=$((RETVAL | 2)) &&
echo "Powercontroll startup failed: cannot load ipmi_poweroff module" &&
log_failure_msg &&
return
log_success_msg
}
start_powercontrol_quiet()
{
[ "${IPMI_POWEROFF}" != "yes" ] &&
return
echo -n $"Starting ipmi_poweroff driver: "
start_powercontrol_common
}
start_powercontrol()
{
echo -n $"Starting ipmi_poweroff driver: "
[ "${IPMI_POWEROFF}" != "yes" ] &&
RETVAL=$((RETVAL | 2)) &&
echo "Powercontroll not configured" &&
log_failure_msg "not configured" &&
return
start_powercontrol_common
}
stop_powercontrol()
{
echo -n $"Stopping ipmi_poweroff driver: "
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"
log_failure_msg
else
log_success_msg
fi
}
@ -235,6 +334,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 +344,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 +371,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 +386,6 @@ load_ipmi_modules ()
locdelay=$((locdelay - 1))
sleep 0.1
done
else
RETVAL=$((RETVAL | 2))
fi
fi
@ -300,14 +410,15 @@ load_ipmi_modules ()
#############################################################################
start()
{
echo -n "Starting ${MODULE_NAME} drivers: "
load_ipmi_modules
if [ ${RETVAL} -eq 0 ]; then
touch ${LOCKFILE}
touch ${LOCKFILE} && log_success_msg
else
if [ $((RETVAL & 1)) -eq 1 ]; then
echo "Startup failed."
log_failure_msg
else
touch ${LOCKFILE} && echo "Warning!?"
touch ${LOCKFILE} && log_warning_msg
fi
fi
start_watchdog_quiet
@ -317,25 +428,29 @@ start()
#############################################################################
stop()
{
echo -n "Stopping ${MODULE_NAME} drivers: "
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"
log_failure_msg "may be in use"
else
rm -f ${LOCKFILE}
log_success_msg
fi
}
stop_all()
{
echo -n $"Stopping all ${MODULE_NAME} drivers: "
unload_all_ipmi_modules
modules_loaded ${MODULES}
if [ ${OnePlusLoaded} -ne 0 ]; then
RETVAL=$((RETVAL | 32))
echo "Shutdown failed, something may be in use"
log_failure_msg "may be in use"
else
rm -f ${LOCKFILE}
log_success_msg
fi
}

View file

@ -1,10 +0,0 @@
#
# This configuration file was provided
# by OpenIPMI-modalias package.
# Feel free to update as needed.
#
alias acpi:IPI000*:* ipmi_si
alias acpi:IPI000*:* ipmi_devintf
alias acpi:IPI000*:* ipmi_msghandler

7
openipmigui.desktop Normal file
View file

@ -0,0 +1,7 @@
[Desktop Entry]
Name=OpenIPMI GUI
Comment=Manage local or remote systems using IPMI protocol
Exec=/usr/bin/openipmigui
Terminal=false
Type=Application
Categories=System;

View file

@ -1 +1 @@
SHA512 (OpenIPMI-2.0.36.tar.gz) = a47725308336f200e88a1eb8641ed5ef03fc8bb43ee47f7a99e39df68640ff912b6842c1710d7e767aeb724fc41fa4ed3b244685812ee985e5200003a45f4015
8392539200fbda670503770292dfbb8f OpenIPMI-2.0.18.tar.gz