diff --git a/.OpenIPMI.metadata b/.OpenIPMI.metadata
new file mode 100644
index 0000000..d1b8c78
--- /dev/null
+++ b/.OpenIPMI.metadata
@@ -0,0 +1,2 @@
+746cd619a704811df7c9944011d4d645f8cc6823 SOURCES/OpenIPMI-2.0.23.tar.gz
+ade00c8a47a576e677ffc2efefca2d7269f175d6 SOURCES/openipmi.sysconf
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5acf080
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+SOURCES/OpenIPMI-2.0.23.tar.gz
+SOURCES/openipmi.sysconf
diff --git a/README.md b/README.md
deleted file mode 100644
index 0e7897f..0000000
--- a/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-The master branch has no content
- 
-Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6
- 
-If you find this file in a distro specific branch, it means that no content has been checked in yet
diff --git a/SOURCES/OpenIPMI-2.0.18-pthread-pkgconfig.patch b/SOURCES/OpenIPMI-2.0.18-pthread-pkgconfig.patch
new file mode 100644
index 0000000..9a76208
--- /dev/null
+++ b/SOURCES/OpenIPMI-2.0.18-pthread-pkgconfig.patch
@@ -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
diff --git a/SOURCES/OpenIPMI-2.0.19-man.patch b/SOURCES/OpenIPMI-2.0.19-man.patch
new file mode 100644
index 0000000..da1a2fd
--- /dev/null
+++ b/SOURCES/OpenIPMI-2.0.19-man.patch
@@ -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
+
diff --git a/SOURCES/ipmi.service b/SOURCES/ipmi.service
new file mode 100644
index 0000000..fa14993
--- /dev/null
+++ b/SOURCES/ipmi.service
@@ -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
diff --git a/SOURCES/openipmi-helper b/SOURCES/openipmi-helper
new file mode 100644
index 0000000..4cebfb9
--- /dev/null
+++ b/SOURCES/openipmi-helper
@@ -0,0 +1,512 @@
+#!/bin/sh
+#############################################################################
+#
+# ipmi:		OpenIPMI Driver helper script
+#
+# Authors:	Jan Safranek <jsafrane@redhat.com>
+#
+# Based on IPMI init script by:
+#               Matt Domsch <Matt_Domsch@dell.com>
+#               Chris Poblete <Chris_Poblete@dell.com>
+#
+# Status return code bits
+# no bits set = no errors
+# bit 0 set = minimum modules aren't loaded
+# bit 1 set = requested feature module isn't loaded
+# bit 2 set = /dev/ipmi0 (or /dev/imb if using that instead) doesn't exist
+# bit 3 set = /dev/watchdog doesn't exist
+# bit 4 set = lockfile doesn't exist
+# bit 5 set = modules are loaded even when asked to be unloaded
+
+CONFIGFILE=/etc/sysconfig/ipmi
+# 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"
+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"
+[ "${IPMI_IMB}" = "yes" ] && MODULES_INTERFACES="${MODULES_INTERFACES} ipmi_imb"
+
+MODULES_FEATURES=""
+[ "${IPMI_WATCHDOG}" = "yes" ] && MODULES_FEATURES="${MODULES_FEATURES} ipmi_watchdog"
+[ "${IPMI_POWEROFF}" = "yes" ] && MODULES_FEATURES="${MODULES_FEATURES} ipmi_poweroff"
+
+MODULES_HW=""
+[ "${IPMI_SI}"  = "yes" ] && MODULES_HW="${MODULES_HW} ${IPMI_SI_MODULE_NAME}"
+[ "${IPMI_SMB}" = "yes" ] && MODULES_HW="${MODULES_HW} ${IPMI_SMB_MODULE_NAME}"
+
+MODULES_BASE="ipmi_msghandler"
+MODULES="${MODULES_INTERFACES} ${MODULES_FEATURES} ${MODULES_HW} ${MODULES_BASE}"
+
+RETVAL=0
+LOCKFILE=/var/lock/subsys/ipmi
+DEV_IPMI_TIMEOUT=150
+
+UDEV_EXISTS=0
+if [ -e /sbin/udev -o -e /sbin/udevd ]; then
+    UDEV_EXISTS=1
+fi
+
+#############################################################################
+# NOTES:
+# * /dev/ipmi0 is unconditionally deleted here on ipmi_devintf unload,
+#   because SLES9 and RHEL4 kernels don't send a message for udev to delete
+#   it for us.
+# 
+#############################################################################
+
+modules_loaded_verbose()
+{
+	OnePlusLoaded=0
+	OnePlusUnloaded=0
+	for m in $@; do
+		if /sbin/lsmod | grep $m >/dev/null 2>&1 ; then
+			echo "$m module loaded."
+			OnePlusLoaded=1
+		else
+			echo "$m module not loaded."
+			OnePlusUnloaded=1
+		fi
+	done
+}
+
+modules_loaded()
+{
+	OnePlusLoaded=0
+	OnePlusUnloaded=0
+	for m in $@; do
+		if /sbin/lsmod | grep $m >/dev/null 2>&1 ; then
+			OnePlusLoaded=1
+		else
+			OnePlusUnloaded=1
+		fi
+	done
+}
+
+device_node_exists ()
+{
+	if [ -e "$1" ]; then
+		echo "$1 exists."
+		return 1
+	fi
+	echo "$1 does not exist."
+	return 0
+}
+
+minimum_modules_loaded()
+{
+        rc_base=1
+	rc_hw=1
+        modules_loaded_verbose "${MODULES_BASE}"
+	[ ${OnePlusLoaded} -eq 0 ] && rc_base=0
+	    
+	modules_loaded_verbose "${MODULES_HW}"
+	[ ${OnePlusLoaded} -eq 0 ] && rc_hw=0
+	
+	return $((rc_base && rc_hw))
+}
+
+#############################################################################
+
+load_si()
+{
+	if [ "${IPMI_SI}" = "yes" ]; then
+		modprobe ${IPMI_SI_MODULE_NAME} > /dev/null 2>&1
+		modules_loaded ${IPMI_SI_MODULE_NAME}
+		[ ${OnePlusLoaded} -ne 1 ] && RETVAL=$((RETVAL | 1))
+	fi
+}
+
+load_smb()
+{
+	if [ "${IPMI_SMB}" = "yes" ]; then
+		modprobe ${IPMI_SMB_MODULE_NAME} > /dev/null 2>&1
+		modules_loaded ${IPMI_SMB_MODULE_NAME}
+		[ ${OnePlusLoaded} -ne 1 ] && RETVAL=$((RETVAL | 1))
+	fi
+}
+
+load_hw_modules()
+{
+	load_si
+	load_smb
+}
+
+start_watchdog_common()
+{
+	load_hw_modules
+	modprobe ipmi_watchdog ${IPMI_WATCHDOG_OPTIONS} > /dev/null 2>&1
+	modules_loaded ipmi_watchdog
+	[ ${OnePlusUnloaded} -ne 0 ] &&
+		RETVAL=$((RETVAL | 2)) &&
+		echo "Watchdog startup failed: cannot load ipmi_watchdog module" &&
+		return
+	if [ ${UDEV_EXISTS} -eq 0 -a ! -e /dev/watchdog ]; then
+		mknod -m 0600 /dev/watchdog c 10 130
+		[ $? -ne 0 ] &&
+			RETVAL=$((RETVAL | 8)) &&
+			echo "Watchdog startup failed: cannot create /dev/watchdog" &&
+			return
+	fi
+}
+
+start_watchdog_quiet()
+{
+	[ "${IPMI_WATCHDOG}" != "yes" ] &&
+		return
+	start_watchdog_common
+}
+
+start_watchdog()
+{
+	[ "${IPMI_WATCHDOG}" != "yes" ] &&
+		RETVAL=$((RETVAL | 2)) &&
+		echo "Watchdog not configured" &&
+		return
+	start_watchdog_common
+}
+
+stop_watchdog()
+{
+	modprobe -q -r ipmi_watchdog > /dev/null 2>&1
+	modules_loaded ipmi_watchdog
+	if [ ${OnePlusLoaded} -ne 0 ]; then
+	    RETVAL=$((RETVAL | 32))
+	    echo "Watchog shutdown failed: cannot unload ipmi_watchdog module"
+	else
+	    if [ "${IPMI_WATCHDOG}" = "yes" ]; then
+		[ ${UDEV_EXISTS} -eq 0 ] && rm -f /dev/watchdog
+	    fi
+	fi
+}
+
+stop_watchdog_quiet()
+{
+	modprobe -q -r ipmi_watchdog > /dev/null 2>&1
+	modules_loaded ipmi_watchdog
+	if [ ${OnePlusLoaded} -ne 0 ]; then
+	    RETVAL=$((RETVAL | 32))
+	else
+	    if [ "${IPMI_WATCHDOG}" = "yes" ]; then
+		[ ${UDEV_EXISTS} -eq 0 ] && rm -f /dev/watchdog
+	    fi
+	fi
+}
+
+start_powercontrol_common()
+{
+	local poweroff_opts=""
+	load_hw_modules
+	if [ "${IPMI_POWERCYCLE}" == "yes" ]; then
+	    modinfo ipmi_poweroff 2>/dev/null | grep poweroff_control > /dev/null 2>&1 && \
+		poweroff_opts="poweroff_control=2"
+	    modinfo ipmi_poweroff 2>/dev/null | grep poweroff_powercycle > /dev/null 2>&1 && \
+		poweroff_opts="poweroff_powercycle=1"
+	fi
+	modprobe ipmi_poweroff "${poweroff_opts}" > /dev/null 2>&1
+	modules_loaded ipmi_poweroff
+	[ ${OnePlusUnloaded} -ne 0 ] &&
+		RETVAL=$((RETVAL | 2)) &&
+		echo "Powercontroll startup failed: cannot load ipmi_poweroff module" &&
+		return
+}
+
+start_powercontrol_quiet()
+{
+	[ "${IPMI_POWEROFF}" != "yes" ] &&
+		return
+	start_powercontrol_common
+}
+
+start_powercontrol()
+{
+	[ "${IPMI_POWEROFF}" != "yes" ] &&
+		RETVAL=$((RETVAL | 2)) &&
+		echo "Powercontroll not configured" &&
+		return
+	start_powercontrol_common
+}
+
+stop_powercontrol()
+{
+	modprobe -q -r ipmi_poweroff > /dev/null 2>&1
+	modules_loaded ipmi_poweroff
+	if [ ${OnePlusLoaded} -ne 0 ]; then
+	    RETVAL=$((RETVAL | 32))
+	    echo "Powercontroll shutdown failed: cannot unload ipmi_poweroff module"
+	fi
+}
+
+stop_powercontrol_quiet()
+{
+	modprobe -q -r ipmi_poweroff > /dev/null 2>&1
+	modules_loaded ipmi_poweroff
+	[ ${OnePlusLoaded} -ne 0 ] && RETVAL=$((RETVAL | 32))
+}
+
+#############################################################################
+unload_all_ipmi_modules()
+{
+	stop_watchdog_quiet
+	stop_powercontrol_quiet
+	for m in ${MODULES}; do
+		modprobe -q -r ${m} > /dev/null 2>&1
+	done
+        # delete interface node ONLY if ipmi_devintf is unloaded
+        [ `lsmod | grep -c "ipmi_devintf"` -eq 0 ] &&
+	        rm -f "/dev/ipmi${INTF_NUM}"
+}
+
+unload_ipmi_modules_leave_features()
+{
+	for m in ${MODULES_INTERFACES}; do
+		modprobe -q -r ${m} > /dev/null 2>&1
+	done
+        # delete interface node ONLY if ipmi_devintf is unloaded
+        [ `lsmod | grep -c "ipmi_devintf"` -eq 0 ] &&
+	        rm -f "/dev/ipmi${INTF_NUM}"
+	lsmod | egrep -q "ipmi_(poweroff|watchdog)" > /dev/null 2>&1
+	if [ "$?" -ne "0" ]; then
+		stop_watchdog_quiet
+		stop_powercontrol_quiet
+		for m in ${MODULES}; do
+			modprobe -q -r ${m} > /dev/null 2>&1
+		done
+	fi
+}
+
+#############################################################################
+load_ipmi_modules ()
+{
+	local locdelay
+	modprobe ipmi_msghandler > /dev/null 2>&1
+	modules_loaded ipmi_msghandler
+	[ ${OnePlusLoaded} -ne 1 ] && unload_all_ipmi_modules && RETVAL=$((RETVAL | 1)) && return
+	load_hw_modules
+	[ $((RETVAL & 1)) -eq 1 ] && unload_all_ipmi_modules && RETVAL=$((RETVAL | 1)) && return
+
+	if [ "${DEV_IPMI}" = "yes" ]; then
+		modprobe ipmi_devintf > /dev/null 2>&1
+		modules_loaded ipmi_devintf
+		RETVAL=$((RETVAL & ~2))
+		[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
+		if [ ${OnePlusLoaded} -eq 1 ]; then
+			if [ ${UDEV_EXISTS} -eq 0 ]; then
+				DEVMAJOR=`cat /proc/devices | awk '/ipmidev/{print $1}'`
+				rm -f /dev/ipmi${INTF_NUM}
+				mknod -m 0600 /dev/ipmi${INTF_NUM} c ${DEVMAJOR} 0 || RETVAL=$((RETVAL | 4))
+			fi
+
+			# udev can take several seconds to create /dev/ipmi0, 
+			# but it happens asynchronously, so delay here
+			locdelay=${DEV_IPMI_TIMEOUT}
+			while [ ! -e /dev/ipmi${INTF_NUM} -a ${locdelay} -gt 0 ]; do
+				locdelay=$((locdelay - 1))
+				sleep 0.1
+			done
+		fi
+	fi
+
+	if [ "${IPMI_IMB}" = "yes" ]; then
+		modprobe ipmi_imb > /dev/null 2>&1
+		modules_loaded ipmi_imb
+		RETVAL=$((RETVAL & ~2))
+		[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
+		if [ ${OnePlusLoaded} -eq 1 ]; then
+			DEVMAJOR=`cat /proc/devices | awk '/imb/{print $1}'`
+			rm -f /dev/imb
+			mknod -m 0600 /dev/imb c ${DEVMAJOR} 0 || RETVAL=$((RETVAL | 4))
+		fi
+	fi
+
+	# Per Corey Minyard, essentially no one uses ipmi_radisys
+	# and we don't want to encourage its further use
+	# so it won't be handled here.
+	return
+}
+
+#############################################################################
+start()
+{
+	load_ipmi_modules
+	if [ ${RETVAL} -eq 0 ]; then
+		touch ${LOCKFILE}
+	else
+		if [ $((RETVAL & 1)) -eq 1 ]; then
+			echo "Startup failed."
+		else
+			touch ${LOCKFILE} && echo "Warning!?"
+		fi
+	fi
+	start_watchdog_quiet
+	start_powercontrol_quiet
+}
+
+#############################################################################
+stop()
+{
+	unload_ipmi_modules_leave_features
+	modules_loaded ${MODULES_INTERFACES}
+	if [ ${OnePlusLoaded} -ne 0 ]; then
+		RETVAL=$((RETVAL | 32))
+		echo "Shutdown failed, something may be in use"
+	else
+		rm -f ${LOCKFILE}
+	fi
+}
+
+stop_all()
+{
+	unload_all_ipmi_modules
+	modules_loaded ${MODULES}
+	if [ ${OnePlusLoaded} -ne 0 ]; then
+		RETVAL=$((RETVAL | 32))
+		echo "Shutdown failed, something may be in use"
+	else
+		rm -f ${LOCKFILE}
+	fi
+}
+
+#############################################################################
+restart()
+{
+	stop_all
+	RETVAL=0
+	start
+}
+
+#############################################################################
+
+reload()
+{
+	stop_all
+	RETVAL=0
+	start
+}
+
+#############################################################################
+
+status_all()
+{
+	minimum_modules_loaded
+	[ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
+	
+	modules_loaded_verbose ${MODULES_FEATURES} ${MODULES_INTERFACES}
+	[ ${OnePlusUnloaded} -ne 0 ] && RETVAL=$((RETVAL | 2))
+
+	if [ "${DEV_IPMI}" = "yes" ]; then 
+	    device_node_exists /dev/ipmi${INTF_NUM}
+	    [ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
+	fi
+
+	if [ "${IPMI_IMB}" = "yes" ]; then
+	    device_node_exists /dev/imb
+	    [ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
+	fi
+
+	if [ "${IPMI_WATCHDOG}" = "yes" ]; then
+	    device_node_exists /dev/watchdog
+	    [ $? -eq 0 ] && RETVAL=$((RETVAL | 8))
+	fi
+
+	[ ! -e ${LOCKFILE} ] && RETVAL=$((RETVAL | 16))
+}
+
+status()
+{
+	minimum_modules_loaded
+	[ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
+	
+	if [ "${DEV_IPMI}" = "yes" ]; then 
+	    modules_loaded_verbose ipmi_devintf
+	    [ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
+
+	    device_node_exists /dev/ipmi${INTF_NUM}
+	    [ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
+	fi
+
+	if [ "${IPMI_IMB}" = "yes" ]; then
+	    device_node_exists /dev/imb
+	    [ $? -eq 0 ] && RETVAL=$((RETVAL | 4))
+	fi
+}
+
+status_watchdog()
+{
+	minimum_modules_loaded
+	[ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
+
+	modules_loaded_verbose ipmi_watchdog
+	[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
+
+	device_node_exists /dev/watchdog
+	[ $? -eq 0 ] && RETVAL=$((RETVAL | 8))
+}
+
+status_powercontrol()
+{
+	minimum_modules_loaded
+	[ $? -eq 0 ] && RETVAL=$((RETVAL | 1))
+
+	modules_loaded_verbose ipmi_powercontrol
+	[ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2))
+}
+
+#############################################################################
+usage ()
+{
+	echo $"Usage: $0 {start|stop|status" 1>&2
+	echo $"          restart|condrestart|try-restart|reload|force-reload" 1>&2
+	echo $"          start-watchdog|stop-watchdog|status-watchdog" 1>&2
+	echo $"          start-powercontrol|stop-powercontrol|status-powercontrol" 1>&2
+	echo $"          stop-all|status-all}" 1>&2
+	RETVAL=2
+}
+
+condrestart ()
+{
+	[ -e ${LOCKFILE} ] && restart
+}
+
+#############################################################################
+# MAIN
+#############################################################################
+case "$1" in
+	start) start ;;
+	stop)  stop ;;
+	restart) restart ;;
+	force-reload) reload ;;
+	reload) reload ;;
+	status)	status ;;
+	status-all) status_all ;;
+	condrestart) condrestart ;;
+	try-restart) condrestart ;;
+	start-watchdog) start_watchdog ;;
+	stop-watchdog) stop_watchdog ;;
+	status-watchdog) status_watchdog ;;
+	start-powercontrol) start_powercontrol ;;
+	stop-powercontrol) stop_powercontrol ;;
+	status-powercontrol) status_powercontrol ;;
+	stop-all) stop_all ;;
+	*) usage ;;
+esac
+
+exit ${RETVAL}
+
+#############################################################################
+# end of file
+#############################################################################
+
diff --git a/SOURCES/openipmi.modalias b/SOURCES/openipmi.modalias
new file mode 100644
index 0000000..58950a4
--- /dev/null
+++ b/SOURCES/openipmi.modalias
@@ -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
+
diff --git a/SPECS/OpenIPMI.spec b/SPECS/OpenIPMI.spec
new file mode 100644
index 0000000..e042119
--- /dev/null
+++ b/SPECS/OpenIPMI.spec
@@ -0,0 +1,596 @@
+%global _hardened_build 1
+# TODO: uses private copy of libedit, should be modified to use system one
+
+%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
+Summary: IPMI (Intelligent Platform Management Interface) library and tools
+Name: OpenIPMI
+%global once %{_localstatedir}/run/%{name}.first_installation
+
+Version: 2.0.23
+Release: 2%{?dist}
+License: LGPLv2+ and GPLv2+ or BSD
+Group: System Environment/Base
+URL: http://sourceforge.net/projects/openipmi/
+Source: http://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz
+Source1: openipmi.sysconf
+Source2: openipmi-helper
+Source3: ipmi.service
+Source4: openipmi.modalias
+BuildRequires: gdbm-devel swig glib2-devel net-snmp-devel ncurses-devel
+BuildRequires: openssl-devel python-devel perl-devel tcl-devel tkinter
+BuildRequires: desktop-file-utils
+BuildRequires: systemd-units
+
+# aarch64 workaround remove once released package's config.sub contains aarch64
+BuildRequires: automake
+BuildRequires: autoconf
+BuildRequires: libtool
+# aarch64 end
+
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
+Requires(post): systemd-sysv
+Requires:%{name}-libs = %{version}-%{release}
+
+Patch1: OpenIPMI-2.0.18-pthread-pkgconfig.patch
+Patch2: OpenIPMI-2.0.19-man.patch
+
+%description
+The Open IPMI project aims to develop an open code base to allow access to
+platform information using Intelligent Platform Management Interface (IPMI).
+This package contains the tools of the OpenIPMI project.
+
+%package modalias
+Group: System Environment/Kernel
+Summary: Module aliases for IPMI subsystem
+Requires: systemd
+Requires: kmod
+
+%description modalias
+The OpenIPMI-modalias provides configuration file with module aliases
+of ACPI and PNP wildcards.
+
+%package libs
+Group: Development/Libraries
+Summary: The OpenIPMI runtime libraries
+Requires:%{name}-modalias = %{version}-%{release}
+
+%description libs
+The OpenIPMI-libs package contains the runtime libraries for shared binaries
+and applications.
+
+%package perl
+Group: Development/Libraries
+Summary: IPMI Perl language bindings
+Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+Requires: %{name}-libs = %{version}-%{release}
+
+%description perl
+The OpenIPMI-perl package contains the Perl language bindings for OpenIPMI.
+
+%package python
+Group: Development/Libraries
+Summary: IPMI Python language bindings
+Requires: %{name}-libs = %{version}-%{release}
+
+%description python
+The OpenIPMI-python package contains the Python language bindings for OpenIPMI.
+
+%package devel
+Group: Development/Libraries
+Summary: The development environment for the OpenIPMI project
+Requires: pkgconfig
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
+
+%description devel
+The OpenIPMI-devel package contains the development libraries and header files
+of the OpenIPMI project.
+
+
+%prep
+%setup -q
+%patch1 -p1 -b .pthread
+%patch2 -p1 -b .manscan
+
+%build
+export CFLAGS="-fPIC $RPM_OPT_FLAGS -fno-strict-aliasing"
+
+# aarch64 workaround remove once released package's config.sub contains aarch64
+%{__libtoolize} --copy --force --automake
+%{__aclocal}
+%{__autoheader}
+%{__automake} --add-missing --copy --foreign --force-missing
+%{__autoconf}
+# aarch64 end
+
+%configure \
+    --with-pythoninstall=%{python_sitearch} \
+    --disable-dependency-tracking \
+    --with-tcl=no \
+    --disable-static \
+    --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=$RPM_BUILD_ROOT
+rm -rf $RPM_BUILD_ROOT/%{_libdir}/*.la
+
+install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
+install -m 644 %SOURCE1 ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/ipmi
+install -d ${RPM_BUILD_ROOT}%{_libexecdir}
+install -m 755 %SOURCE2 ${RPM_BUILD_ROOT}%{_libexecdir}/openipmi-helper
+install -d ${RPM_BUILD_ROOT}%{_unitdir}
+install -m 644 %SOURCE3 ${RPM_BUILD_ROOT}%{_unitdir}/ipmi.service
+install -d ${RPM_BUILD_ROOT}%{_prefix}/lib/modprobe.d
+install -m 644 %SOURCE4 ${RPM_BUILD_ROOT}%{_prefix}/lib/modprobe.d/OpenIPMI.conf
+
+rm ${RPM_BUILD_ROOT}/%{_mandir}/man1/openipmigui.1
+
+# add missing documentation symlinks
+if test -L ${RPM_BUILD_ROOT}/%{_bindir}/ipmicmd && ! test -a ${RPM_BUILD_ROOT}/%{_mandir}/man1/ipmicmd.1.gz ; then
+    %{__ln_s} openipmicmd.1.gz ${RPM_BUILD_ROOT}/%{_mandir}/man1/ipmicmd.1.gz
+fi
+
+if test -L ${RPM_BUILD_ROOT}/%{_bindir}/ipmish && ! test -a ${RPM_BUILD_ROOT}/%{_mandir}/man1/ipmish.1.gz ; then
+    %{__ln_s} openipmish.1.gz ${RPM_BUILD_ROOT}/%{_mandir}/man1/ipmish.1.gz
+fi
+
+%posttrans modalias
+if [ -f "%{once}" ]; then
+	if /usr/bin/udevadm info --export-db | grep -qie 'ipmi_si'; then
+	        /sbin/modprobe ipmi_si || :;
+	else
+		sed -i 's/IPMI_SI=yes/# IPMI_SI disabled by OpenIPMI-modalias rpm scriplet\nIPMI_SI=no/' /etc/sysconfig/ipmi
+	fi
+
+	if /usr/bin/udevadm info --export-db | grep -qie 'ipmi_ssif'; then
+                /sbin/modprobe ipmi_ssif
+        fi	
+
+        /sbin/modprobe ipmi_devintf || :;
+        /sbin/modprobe ipmi_msghandler || :;
+        %{__rm} -f %{once} || :;
+        /usr/bin/udevadm settle
+fi
+
+%post modalias
+if [ "$1" -eq 1 ]; then
+    /bin/touch %{once}
+fi
+
+%post
+%systemd_post ipmi.service
+
+%preun
+%systemd_preun ipmi.service
+
+%postun
+%systemd_postun_with_restart ipmi.service
+
+%post libs
+/sbin/ldconfig
+
+%postun libs
+/sbin/ldconfig
+
+### 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
+%doc CONFIGURING_FOR_LAN COPYING COPYING.BSD COPYING.LIB FAQ README README.Force README.MotorolaMXP
+%config(noreplace) %{_sysconfdir}/sysconfig/ipmi
+%{_libexecdir}/openipmi-helper
+%{_bindir}/ipmicmd
+%{_bindir}/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*
+# lanserv content
+%defattr(-,root,root)
+%config(noreplace) %{_sysconfdir}/ipmi/ipmisim1.emu
+%config(noreplace) %{_sysconfdir}/ipmi/lan.conf
+%{_bindir}/ipmilan
+%{_bindir}/ipmi_sim
+%{_bindir}/sdrcomp
+%{_libdir}/libIPMIlanserv.so.*
+%doc %{_mandir}/man8/ipmilan.8*
+%doc %{_mandir}/man1/ipmi_sim.1*
+%doc %{_mandir}/man5/ipmi_lan.5*
+%doc %{_mandir}/man5/ipmi_sim_cmd.5*
+
+%files perl
+%attr(644,root,root) %{perl_vendorarch}/OpenIPMI.pm
+%{perl_vendorarch}/auto/OpenIPMI/
+
+%files python
+%{python_sitearch}/*OpenIPMI*
+
+%files libs
+%{_libdir}/*.so.*
+
+%files devel
+%{_includedir}/OpenIPMI
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/*.pc
+
+%files modalias
+%config(noreplace) %{_prefix}/lib/modprobe.d/OpenIPMI.conf
+
+%changelog
+* Tue Oct 24 2017 Josef Ridky <jridky@redhat.com> - 2.0.23-2
+- Related: #1458422 - fix startup failure on aarch64
+
+* Thu Oct 05 2017 Josef Ridky <jridky@redhat.com> - 2.0.23-1
+- Resolves: #1457805 - New upstream release 2.0.23
+- Resolves: #1458422 - fix startup failure
+
+* Thu Jun 02 2016 Boris Ranto <branto@redhat.com> - 2.0.19-15
+- Fix once macro, /var/run/OpenIPMI/ no longer exists
+- Resolves: rhbz#1341735
+
+* Wed Mar 16 2016 Boris Ranto <branto@redhat.com> - 2.0.19-14
+- Fix a typo in install phase (%% -> %)
+- Resolves: rhbz#1195289
+
+* Wed Mar 16 2016 Boris Ranto <branto@redhat.com> - 2.0.19-13
+- Fix the location of modprode.d config (lib64 -> lib on 64-bit platforms)
+- Resolves: rhbz#1195289
+
+* Wed Dec 09 2015 Boris Ranto <branto@redhat.com> - 2.0.19-12
+- New release
+- Move OpenIPMI modprobe conf to /usr/lib/modprobe.d/ (#1195289)
+- Avoid warning on update/removal (#1256798)
+- Stop manually creating and shipping /var/run/OpenIPMI (#1296560)
+
+* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 2.0.19-11
+- Mass rebuild 2014-01-24
+
+* Fri Jan 17 2014 Ledvinka Ales <aledvink@redhat.com> - 2.0.19-10
+- Probe kernel modules once after installation finished.
+  In posttrans. (#1029561)
+
+* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 2.0.19-9
+- Mass rebuild 2013-12-27
+
+* Wed Nov 13 2013 Ledvinka Ales <aledvink@redhat.com> - 2.0.19-8
+- Correct aliases matching module strings.
+
+* 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