Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/OpenIPMI.git#083420d40250989c07e6b4836900c3580af2b841
This commit is contained in:
DistroBaker 2020-10-30 15:08:49 +01:00
parent b95059d3c7
commit 1caed2ca2b
8 changed files with 1815 additions and 0 deletions

11
.gitignore vendored
View File

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

543
0001-man.patch Normal file
View File

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

699
OpenIPMI.spec Normal file
View File

@ -0,0 +1,699 @@
%global _hardened_build 1
Summary: IPMI (Intelligent Platform Management Interface) library and tools
Name: OpenIPMI
Version: 2.0.29
Release: 1%{?dist}
License: LGPLv2+ and GPLv2+ or BSD
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
Patch1: 0001-man.patch
BuildRequires: gdbm-devel swig glib2-devel net-snmp-devel ncurses-devel
BuildRequires: openssl-devel python3-devel perl-devel perl-generators
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$
%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 libs
Summary: The OpenIPMI runtime libraries
%description libs
The OpenIPMI-libs package contains the runtime libraries for shared binaries
and applications.
%package perl
Summary: IPMI Perl language bindings
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description perl
The OpenIPMI-perl package contains the Perl language bindings for OpenIPMI.
%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}
%description -n python3-openipmi
The OpenIPMI-python package contains the Python language bindings for OpenIPMI.
%package devel
Summary: The development environment for the OpenIPMI project
Requires: pkgconfig
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{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}
%description lanserv
This package contains a network IPMI listener.
%prep
%autosetup -p1
%build
%configure \
CFLAGS="-fPIC %{optflags} -z now -fno-strict-aliasing" \
LDFLAGS="%{__global_ldflags} -Wl,--as-needed" \
--disable-dependency-tracking \
--disable-static \
--with-pythoninstall=%{python3_sitearch} \
--with-python=%{__python3} \
--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
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
%install
make install DESTDIR=%{buildroot}
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
rm %{buildroot}/%{_mandir}/man1/openipmigui.1 %{buildroot}%{_libdir}/*.la
# add missing documentation
echo ".so man1/openipmicmd.1" > %{buildroot}%{_mandir}/man1/ipmicmd.1
echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1
%post
%systemd_post ipmi.service
%preun
%systemd_preun ipmi.service
%postun
%systemd_postun_with_restart ipmi.service
%ldconfig_scriptlets libs
%ldconfig_scriptlets lanserv
### A sysv => systemd migration contains all of the same scriptlets as a
### systemd package. These are additional scriptlets
%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 || :
%files
%license COPYING COPYING.BSD COPYING.LIB
%doc CONFIGURING_FOR_LAN FAQ README README.Force README.MotorolaMXP
%config(noreplace) %{_sysconfdir}/sysconfig/ipmi
%{_libexecdir}/openipmi-helper
%{_bindir}/ipmicmd
%{_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*
%files perl
%attr(644,root,root) %{perl_vendorarch}/OpenIPMI.pm
%{perl_vendorarch}/auto/OpenIPMI
%files -n python3-openipmi
%{python3_sitearch}/*OpenIPMI*
%{python3_sitearch}/__pycache__/OpenIPMI.*.pyc
%files libs
%{_libdir}/libOpenIPMI*.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*
%changelog
* 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
* Thu Jul 8 2010 Jan Safranek <jsafrane@redhat.com> - 2.0.18-3
- added lincense files to OpenIPMI-libs subpackage as requested by
Fedora Licensing Guidelines
* Tue Jun 01 2010 Marcela Maslanova <mmaslano@redhat.com> - 2.0.18-2
- Mass rebuild with perl-5.12.0
* Wed May 5 2010 Jan Safranek <jsafrane@redhat.com> - 2.0.18-1
- updated to OpenIPMI-2.0.18
- fixed OpenIPMIpthread pkgconfig file (#468067)
* Mon May 3 2010 Jan Safranek <jsafrane@redhat.com> - 2.0.17-1
- updated to OpenIPMI-2.0.17
* Thu Mar 18 2010 Jan Safranek <jsafrane@redhat.com> - 2.0.16-12
- implemented mandatory 'force-reload' command in ipmi service
* Thu Mar 11 2010 Jan Safranek <jsafrane@redhat.com> - 2.0.16-11
- rebuild against new gdbm
* Wed Mar 3 2010 Jan Safranek <jsafrane@redhat.com> - 2.0.16-10
- add README.initscript describing /etc/init.d/ipmi initscript exit codes
(#562151)
* Mon Feb 22 2010 Jan Safranek <jsafrane@redhat.com> - 2.0.16-9
- fix package License: field, there *are* sources with BSD header
- distribute README files and COPYING in package
* Tue Jan 5 2010 Jan Safranek <jsafrane@redhat.com> - 2.0.16-8
- fix package License: field, there is no source with BSD header
* Mon Dec 7 2009 Stepan Kasal <skasal@redhat.com> - 2.0.16-7
- rebuild against perl 5.10.1
* Tue Dec 1 2009 Jan Safranek <jsafrane@redhat.com> - 2.0.16-6
- fix package compilation to remove rpmlint errors
* Wed Sep 30 2009 Jan Safranek <jsafrane@redhat.com> - 2.0.16-5
- rebuilt with new net-snmp
* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 2.0.16-4
- rebuilt with new openssl
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.16-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Apr 15 2009 Jan Safranek <jsafrane@redhat.com> - 2.0.16-2
- fix compilation flags, debuginfo package is correctly generated now
* Thu Mar 19 2009 Jan Safranek <jsafrane@redhat.com> - 2.0.16-1
- new upstream release
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.14-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Sat Jan 17 2009 Tomas Mraz <tmraz@redhat.com> - 2.0.14-10
- rebuild with new openssl
* Thu Dec 11 2008 Jan Safranek <jsafrane@redhat.com> - 2.0.14-9
- fix linking without rpath, prelink won't screw up the libraries
anymore (#475265)
* Wed Dec 10 2008 Jan Safranek <jsafrane@redhat.com> - 2.0.14-8
- shorter probe interval is used in init script, making the service startup
quicker in most situations (#475101)
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 2.0.14-7
- Rebuild for Python 2.6
* Thu Oct 30 2008 Jan Safranek <jsafrane@redhat.com> - 2.0.14-6
- removed static libraries from the -devel subpackage
- fixed openipmigui.desktop file
* Thu Oct 23 2008 Jan Safranek <jsafrane@redhat.com> - 2.0.14-5
- fixed typos in the descriptions
- added .desktop file for openipmigui tool
* Mon Oct 20 2008 Jan Safranek <jsafrane@redhat.com> - 2.0.14-4
- fixed description of the package
* Thu Oct 16 2008 Jan Safranek <jsafrane@redhat.com> - 2.0.14-3
- split ipmitool to separate package
- added 'reload' functionality to init script
- added seraparate -gui subpackage
* Wed Jul 30 2008 Phil Knirsch <pknirsch@redhat.com> - 2.0.14-2
- Fixed rpath problem in libOpenIPMIposix.so.0.0.1
* Tue Jul 29 2008 Phil Knirsch <pknirsch@redhat.com> - 2.0.14-1
- Fixed several specfile problems (#453751)
- Update to OpenIPMI-2.0.14
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.0.13-2
- Autorebuild for GCC 4.3
* Wed Dec 05 2007 Phil Knirsch <pknirsch@redhat.com> - 2.0.13-1
- Updated to OpenIPMI-2.0.13
- Rebuild due to new openssl
* Wed Oct 10 2007 Phil Knirsch <pknirsch@redhat.com> - 2.0.11-3
- Added missing perl-devel buildrequires
* Mon Sep 24 2007 Phil Knirsch <pknirsch@redhat.com> - 2.0.11-2
- Added missing popt-devel buildrequires
* Fri Aug 17 2007 Phil Knirsch <pknirsch@redhat.com> - 2.0.11-2
- Fix rebuild problems due to glibc change
- License review and fixes
* Tue Apr 24 2007 Phil Knirsch <pknirsch@redhat.com> - 2.0.11-1
- Update to OpenIPMI-2.0.11
* Tue Feb 27 2007 Phil Knirsch <pknirsch@redhat.com> - 2.0.6-8
- Update for ipmitool-1.8.9
* Thu Dec 7 2006 Jeremy Katz <katzj@redhat.com> - 2.0.6-7
- rebuild for python 2.5
* Tue Nov 28 2006 Phil Knirsch <pknirsch@redhat.com> - 2.0.6-6.fc7
- Update due to new net-snmp-5.4
- Some specfile updates
* Tue Jul 18 2006 Phil Knirsch <pknirsch@redhat.com> - 2.0.6-5
- Fixed check for udev in initscript (#197956)
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 2.0.6-4.1
- rebuild
* Fri Jun 16 2006 Bill Nottingham <notting@redhat.com> 2.0.6-4
- don't include <linux/compiler.h>
* Fri Jun 16 2006 Jon Masters <jcm@redhat.com> 2.0.6-3
- Fix a build requires (needs glibc-kernheaders)
* Thu Jun 15 2006 Jesse Keating <jkeating@redhat.com> 2.0.6-2
- Bump for new glib2
* Tue May 16 2006 Phil Knirsch <pknirsch@redhat.com> 2.0.6-1
- Fixed bug with type conversion in ipmitool (#191091)
- Added python bindings
- Split off perl and python bindings in separate subpackages
- Dropped obsolete patches
- Added missing buildprereq on readline-devel
- Made it install the python bindings properly on 64bit archs
* Mon May 15 2006 Phil Knirsch <pknirsch@redhat.com>
- Updated ipmitool to 1.8.8
- Updated OpenIPMI to 2.0.6
* Fri Feb 17 2006 Phil Knirsch <pknirsch@redhat.com> 1.4.14-19
- Added missing PreReq for chkconfig
* Mon Feb 13 2006 Jesse Keating <jkeating@redhat.com> - 1.4.14-18.2.1
- rebump for build order issues during double-long bump
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 1.4.14-18.2
- bump again for double-long bug on ppc(64)
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 1.4.14-18.1
- rebuilt for new gcc4.1 snapshot and glibc changes
* Mon Feb 06 2006 Phil Knirsch <pknirsch@redhat.com> 1.4.14-18
- Updated ipmitool to latest upstream version.
- Removed 3 patches for already fixed bugs in latest ipmitool.
- Adapted warning message fix for ipmitool for latest version.
* Tue Jan 24 2006 Phil Knirsch <pknirsch@redhat.com> 1.4.14-17
- Fixed some minor things in initscripts.
* Mon Jan 09 2006 Phil Knirsch <pknirsch@redhat.com> 1.4.14-16
- Included FRU fix for displaying FRUs with ipmitool
- Included patch for new option to specify a BMC password for IPMI 2.0 sessions
* Tue Jan 03 2006 Radek Vokal <rvokal@redhat.com> 1.4.14-15
- Rebuilt against new libnetsnmp
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt
* Wed Nov 23 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.14-14
- Some more initscript and sysconfig updates from Dell.
* Wed Nov 09 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.14-13
- Rebuilt to link against latest openssl libs.
- Fixed ipmitool not setting session privilege level (#172312)
* Wed Nov 02 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.14-11
- Rebuild to link against new net-snmp libs.
* Tue Oct 11 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.14-10
- Updated initscript to fix missing redhat-lsb bug (#169901)
* Thu Sep 08 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.14-9
- Another update to latest initscripts from Dell
- Fixed some missing return statements for non-void functions (#164138)
* Thu Sep 01 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.14-8
- Updated initscript to latest version from Dell
* Fri Aug 12 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.14-7
- Fixed the unwanted output of failed module loading of the initscript. Behaves
now like all our other initscripts (#165476)
* Fri Aug 05 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.14-6
- Fixed build problem on 64bit machines
* Fri Jul 15 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.14-5
- Fixed missing change to not autostart in the initscript
* Wed Jul 06 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.14-4
- Made the initscript a replacing configfile
* Mon Jul 04 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.14-3
- Updated versions of the initscripts and sysconf files
- Fixed typo in preun script and changelog
* Mon Jun 27 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.14-2
- Updated to OpenIPMI-1.4.14
- Split the main package into normal and libs package for multilib support
- Added ipmitool-1.8.2 to OpenIPMI and put it in tools package
- Added sysconf and initscript (#158270)
- Fixed oob subscripts (#149142)
* Wed Mar 30 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.11-5
- Correctly put libs in the proper packages
* Thu Mar 17 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.11-4
- gcc4 rebuild fixes
- Added missing gdbm-devel buildprereq
* Wed Mar 02 2005 Phil Knirsch <pknirsch@redhat.com> 1.4.11-3
- bump release and rebuild with gcc 4
* Tue Feb 08 2005 Karsten Hopp <karsten@redhat.de> 1.4.11-2
- update
* Tue Oct 26 2004 Phil Knirsch <pknirsch@redhat.com>
- Initial version

12
ipmi.service Normal file
View File

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

471
openipmi-helper Normal file
View File

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

10
openipmi.modalias Normal file
View File

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

68
openipmi.sysconf Normal file
View File

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

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (OpenIPMI-2.0.29.tar.gz) = ff23aadfe4b9002574d1f06dda3d61f7a03ef1df2c61855516b7d67bd6d3272c53af74e3412e1045242dcb845f50b7c542083e918805c0efac424dd86e720a10