diff --git a/.gitignore b/.gitignore index 18dbbc6..a28d935 100644 --- a/.gitignore +++ b/.gitignore @@ -4,13 +4,3 @@ OpenIPMI-2.0.18.tar.gz /OpenIPMI-2.0.21.tar.gz /OpenIPMI-2.0.22.tar.gz /OpenIPMI-2.0.23.tar.gz -/OpenIPMI-2.0.24.tar.gz -/OpenIPMI-2.0.25.tar.gz -/OpenIPMI-2.0.27.tar.gz -/OpenIPMI-2.0.28.tar.gz -/OpenIPMI-2.0.29.tar.gz -/OpenIPMI-2.0.31.tar.gz -/OpenIPMI-2.0.32.tar.gz -/OpenIPMI-2.0.34.tar.gz -/OpenIPMI-2.0.35.tar.gz -/OpenIPMI-2.0.36.tar.gz diff --git a/0001-Apply-OpenIPMI-2.0.18-pthread-pkgconfig.patch.patch b/0001-Apply-OpenIPMI-2.0.18-pthread-pkgconfig.patch.patch new file mode 100644 index 0000000..5c92eb9 --- /dev/null +++ b/0001-Apply-OpenIPMI-2.0.18-pthread-pkgconfig.patch.patch @@ -0,0 +1,26 @@ +From d058bc9be5ef521882e3226a27e81cca8aded5ce Mon Sep 17 00:00:00 2001 +From: Boris Ranto +Date: Thu, 2 Jun 2016 12:46:39 +0200 +Subject: [PATCH] Apply 'OpenIPMI-2.0.18-pthread-pkgconfig.patch' + +Signed-off-by: Boris Ranto +--- + OpenIPMIpthread.pc.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/OpenIPMIpthread.pc.in b/OpenIPMIpthread.pc.in +index 59b52e5..fffa0d0 100644 +--- a/OpenIPMIpthread.pc.in ++++ b/OpenIPMIpthread.pc.in +@@ -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 +-- +2.7.4 + diff --git a/0001-man.patch b/0002-Apply-.-OpenIPMI-2.0.19-man.patch.patch similarity index 100% rename from 0001-man.patch rename to 0002-Apply-.-OpenIPMI-2.0.19-man.patch.patch diff --git a/0003-Apply-OpenIPMI-2.0.21-nobundle.patch.patch b/0003-Apply-OpenIPMI-2.0.21-nobundle.patch.patch new file mode 100644 index 0000000..1db6c6c --- /dev/null +++ b/0003-Apply-OpenIPMI-2.0.21-nobundle.patch.patch @@ -0,0 +1,83 @@ +From db70db7ddbbf34806927e279b969b6667005cd5b Mon Sep 17 00:00:00 2001 +From: Boris Ranto +Date: Thu, 2 Jun 2016 12:50:03 +0200 +Subject: [PATCH] Apply 'OpenIPMI-2.0.21-nobundle.patch' + +Signed-off-by: Boris Ranto +--- + Makefile.am | 4 ++-- + cmdlang/Makefile.am | 5 +++-- + configure.ac | 1 - + sample/Makefile.am | 4 ++-- + 4 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index b1aacdf..660c693 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,10 +1,10 @@ + RPM = rpmbuild + RPMFLAGS = -ta + +-SUBDIRS = include utils lib unix $(GLIB_DIR) $(TCL_DIR) libedit cmdlang \ ++SUBDIRS = include utils lib unix $(GLIB_DIR) $(TCL_DIR) cmdlang \ + ui lanserv sample doc man $(SWIG_DIR) + +-DIST_SUBDIRS = include utils lib unix glib tcl libedit cmdlang \ ++DIST_SUBDIRS = include utils lib unix glib tcl cmdlang \ + ui lanserv sample doc man swig + + EXTRA_DIST = FAQ TODO README.Force README.MotorolaMXP OpenIPMI.spec.in \ +diff --git a/cmdlang/Makefile.am b/cmdlang/Makefile.am +index e80090d..ae9c65a 100644 +--- a/cmdlang/Makefile.am ++++ b/cmdlang/Makefile.am +@@ -4,7 +4,8 @@ LD_VERSION = 0:5:0 + + AM_CFLAGS = -Wall -Wsign-compare -I$(top_builddir)/include \ + -I$(top_srcdir)/include \ +- -I$(top_srcdir)/libedit -DIPMI_CHECK_LOCKS $(GLIB_CFLAGS) \ ++ -DIPMI_CHECK_LOCKS $(GLIB_CFLAGS) \ ++ $(EDIT_CFLAGS) \ + $(TCL_CFLAGS) + + lib_LTLIBRARIES = libOpenIPMIcmdlang.la +@@ -25,7 +26,7 @@ openipmish_LDADD = libOpenIPMIcmdlang.la \ + $(top_builddir)/utils/libOpenIPMIutils.la \ + $(top_builddir)/lib/libOpenIPMI.la \ + $(top_builddir)/unix/libOpenIPMIposix.la \ +- $(top_builddir)/libedit/libedit.a \ ++ $(EDIT_LIBS) \ + $(TERM_LIBS) \ + $(SNMPLIBS) $(GLIB_LIB) $(GLIB_LIBS) \ + $(TCL_LIB) $(TCL_LIBS) \ +diff --git a/configure.ac b/configure.ac +index 5103556..ae86ac8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -926,7 +926,6 @@ AC_OUTPUT(Makefile + swig/perl/Makefile + swig/python/Makefile + swig/python/openipmigui/Makefile +- libedit/Makefile + cmdlang/Makefile + include/Makefile + include/OpenIPMI/Makefile +diff --git a/sample/Makefile.am b/sample/Makefile.am +index 06278bd..91d1351 100644 +--- a/sample/Makefile.am ++++ b/sample/Makefile.am +@@ -59,8 +59,8 @@ solterm_LDADD = $(POPTLIBS) $(top_builddir)/utils/libOpenIPMIutils.la \ + rmcp_ping_SOURCES = rmcp_ping.c + + ipmi_serial_bmc_emu_SOURCES = ipmi_serial_bmc_emu.c +-ipmi_serial_bmc_emu_LDADD = $(top_builddir)/libedit/libedit.a $(TERM_LIBS) +-ipmi_serial_bmc_emu_CFLAGS = -I $(top_srcdir)/libedit ++ipmi_serial_bmc_emu_LDADD = $(EDIT_LIBS) $(TERM_LIBS) ++ipmi_serial_bmc_emu_CFLAGS = $(EDIT_CFLAGS) + + EXTRA_DIST = example_oem.c + +-- +2.7.4 + diff --git a/OpenIPMI-aarch64.patch b/OpenIPMI-aarch64.patch new file mode 100644 index 0000000..f8369fc --- /dev/null +++ b/OpenIPMI-aarch64.patch @@ -0,0 +1,1149 @@ +diff -urN OpenIPMI-2.0.19/config.guess OpenIPMI-2.0.19-aarch64/config.guess +--- OpenIPMI-2.0.19/config.guess 2010-05-09 08:32:53.000000000 -0500 ++++ OpenIPMI-2.0.19-aarch64/config.guess 2013-03-03 06:56:09.267032676 -0600 +@@ -1,10 +1,10 @@ + #! /bin/sh + # Attempt to guess a canonical system name. + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +-# Free Software Foundation, Inc. ++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, ++# 2011, 2012 Free Software Foundation, Inc. + +-timestamp='2009-12-30' ++timestamp='2012-09-25' + + # This file is free software; you can redistribute it and/or modify it + # under the terms of the GNU General Public License as published by +@@ -17,9 +17,7 @@ + # General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -57,8 +55,8 @@ + + Originally written by Per Bothner. + Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +-Software Foundation, Inc. ++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 ++Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." +@@ -145,7 +143,7 @@ + case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or +- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, ++ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward +@@ -181,7 +179,7 @@ + fi + ;; + *) +- os=netbsd ++ os=netbsd + ;; + esac + # The OS release +@@ -202,6 +200,10 @@ + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; ++ *:Bitrig:*:*) ++ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` ++ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} ++ exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} +@@ -224,7 +226,7 @@ + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) +- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on +@@ -270,7 +272,10 @@ + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` +- exit ;; ++ # Reset EXIT trap before exiting to avoid spurious non-zero exit code. ++ exitcode=$? ++ trap '' 0 ++ exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead +@@ -296,12 +301,12 @@ + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) +- echo powerpc-ibm-os400 ++ echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; +- arm:riscos:*:*|arm:RISCOS:*:*) ++ arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) +@@ -395,23 +400,23 @@ + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} ++ echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} +- exit ;; ++ exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) +- echo m68k-atari-mint${UNAME_RELEASE} ++ echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) +- echo m68k-milan-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-milan-mint${UNAME_RELEASE} ++ exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) +- echo m68k-hades-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-hades-mint${UNAME_RELEASE} ++ exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) +- echo m68k-unknown-mint${UNAME_RELEASE} +- exit ;; ++ echo m68k-unknown-mint${UNAME_RELEASE} ++ exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; +@@ -481,8 +486,8 @@ + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) +- # DG/UX returns AViiON for all architectures +- UNAME_PROCESSOR=`/usr/bin/uname -p` ++ # DG/UX returns AViiON for all architectures ++ UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ +@@ -495,7 +500,7 @@ + else + echo i586-dg-dgux${UNAME_RELEASE} + fi +- exit ;; ++ exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; +@@ -552,7 +557,7 @@ + echo rs6000-ibm-aix3.2 + fi + exit ;; +- *:AIX:*:[456]) ++ *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 +@@ -595,52 +600,52 @@ + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` +- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` +- case "${sc_cpu_version}" in +- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 +- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 +- 532) # CPU_PA_RISC2_0 +- case "${sc_kernel_bits}" in +- 32) HP_ARCH="hppa2.0n" ;; +- 64) HP_ARCH="hppa2.0w" ;; ++ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` ++ case "${sc_cpu_version}" in ++ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 ++ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 ++ 532) # CPU_PA_RISC2_0 ++ case "${sc_kernel_bits}" in ++ 32) HP_ARCH="hppa2.0n" ;; ++ 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 +- esac ;; +- esac ++ esac ;; ++ esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build +- sed 's/^ //' << EOF >$dummy.c ++ sed 's/^ //' << EOF >$dummy.c ++ ++ #define _HPUX_SOURCE ++ #include ++ #include + +- #define _HPUX_SOURCE +- #include +- #include +- +- int main () +- { +- #if defined(_SC_KERNEL_BITS) +- long bits = sysconf(_SC_KERNEL_BITS); +- #endif +- long cpu = sysconf (_SC_CPU_VERSION); +- +- switch (cpu) +- { +- case CPU_PA_RISC1_0: puts ("hppa1.0"); break; +- case CPU_PA_RISC1_1: puts ("hppa1.1"); break; +- case CPU_PA_RISC2_0: +- #if defined(_SC_KERNEL_BITS) +- switch (bits) +- { +- case 64: puts ("hppa2.0w"); break; +- case 32: puts ("hppa2.0n"); break; +- default: puts ("hppa2.0"); break; +- } break; +- #else /* !defined(_SC_KERNEL_BITS) */ +- puts ("hppa2.0"); break; +- #endif +- default: puts ("hppa1.0"); break; +- } +- exit (0); +- } ++ int main () ++ { ++ #if defined(_SC_KERNEL_BITS) ++ long bits = sysconf(_SC_KERNEL_BITS); ++ #endif ++ long cpu = sysconf (_SC_CPU_VERSION); ++ ++ switch (cpu) ++ { ++ case CPU_PA_RISC1_0: puts ("hppa1.0"); break; ++ case CPU_PA_RISC1_1: puts ("hppa1.1"); break; ++ case CPU_PA_RISC2_0: ++ #if defined(_SC_KERNEL_BITS) ++ switch (bits) ++ { ++ case 64: puts ("hppa2.0w"); break; ++ case 32: puts ("hppa2.0n"); break; ++ default: puts ("hppa2.0"); break; ++ } break; ++ #else /* !defined(_SC_KERNEL_BITS) */ ++ puts ("hppa2.0"); break; ++ #endif ++ default: puts ("hppa1.0"); break; ++ } ++ exit (0); ++ } + EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa +@@ -731,22 +736,22 @@ + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd +- exit ;; ++ exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi +- exit ;; ++ exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd +- exit ;; ++ exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd +- exit ;; ++ exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd +- exit ;; ++ exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; +@@ -770,14 +775,14 @@ + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` +- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` +- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" +- exit ;; ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` ++ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ exit ;; + 5000:UNIX_System_V:4.*:*) +- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` +- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` +- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" ++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` ++ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` ++ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} +@@ -789,30 +794,35 @@ + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) +- case ${UNAME_MACHINE} in +- pc98) +- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; ++ UNAME_PROCESSOR=`/usr/bin/uname -p` ++ case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) +- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; ++ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; ++ *:MINGW64*:*) ++ echo ${UNAME_MACHINE}-pc-mingw64 ++ exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; ++ i*:MSYS*:*) ++ echo ${UNAME_MACHINE}-pc-msys ++ exit ;; + i*:windows32*:*) +- # uname -m includes "-pc" on this system. +- echo ${UNAME_MACHINE}-mingw32 ++ # uname -m includes "-pc" on this system. ++ echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:*) +- case ${UNAME_MACHINE} in ++ case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; +@@ -858,6 +868,13 @@ + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; ++ aarch64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ aarch64_be:Linux:*:*) ++ UNAME_MACHINE=aarch64_be ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; +@@ -867,7 +884,7 @@ + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; +- esac ++ esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} +@@ -879,20 +896,29 @@ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else +- echo ${UNAME_MACHINE}-unknown-linux-gnueabi ++ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ARM_PCS_VFP ++ then ++ echo ${UNAME_MACHINE}-unknown-linux-gnueabi ++ else ++ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf ++ fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) +- echo cris-axis-linux-gnu ++ echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) +- echo crisv32-axis-linux-gnu ++ echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + frv:Linux:*:*) +- echo frv-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ hexagon:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + LIBC=gnu +@@ -934,7 +960,7 @@ + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) +- echo or32-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu +@@ -960,7 +986,7 @@ + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu +@@ -968,14 +994,17 @@ + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; ++ tile*:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) +- echo x86_64-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + xtensa*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. +@@ -984,11 +1013,11 @@ + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) +- # Unixware is an offshoot of SVR4, but it has its own version +- # number series starting with 2... +- # I am not positive that other SVR4 systems won't match this, ++ # Unixware is an offshoot of SVR4, but it has its own version ++ # number series starting with 2... ++ # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. +- # Use sysv4.2uw... so that sysv4* matches it. ++ # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) +@@ -1020,7 +1049,7 @@ + fi + exit ;; + i*86:*:5:[678]*) +- # UnixWare 7.x, OpenUNIX and OpenServer 6. ++ # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; +@@ -1048,13 +1077,13 @@ + exit ;; + pc:*:*:*) + # Left here for compatibility: +- # uname -m prints for DJGPP always 'pc', but it prints nothing about +- # the processor, so we play safe by assuming i586. ++ # uname -m prints for DJGPP always 'pc', but it prints nothing about ++ # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp +- exit ;; ++ exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; +@@ -1089,8 +1118,8 @@ + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) +- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ +- && { echo i486-ncr-sysv4; exit; } ;; ++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ ++ && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ +@@ -1133,10 +1162,10 @@ + echo ns32k-sni-sysv + fi + exit ;; +- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort +- # says +- echo i586-unisys-sysv4 +- exit ;; ++ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort ++ # says ++ echo i586-unisys-sysv4 ++ exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm +@@ -1162,11 +1191,11 @@ + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then +- echo mips-nec-sysv${UNAME_RELEASE} ++ echo mips-nec-sysv${UNAME_RELEASE} + else +- echo mips-unknown-sysv${UNAME_RELEASE} ++ echo mips-unknown-sysv${UNAME_RELEASE} + fi +- exit ;; ++ exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; +@@ -1179,6 +1208,9 @@ + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; ++ x86_64:Haiku:*:*) ++ echo x86_64-unknown-haiku ++ exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; +@@ -1231,7 +1263,10 @@ + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; +- NSE-?:NONSTOP_KERNEL:*:*) ++ NEO-?:NONSTOP_KERNEL:*:*) ++ echo neo-tandem-nsk${UNAME_RELEASE} ++ exit ;; ++ NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) +@@ -1276,13 +1311,13 @@ + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) +- echo mips-sei-seiux${UNAME_RELEASE} ++ echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) +- UNAME_MACHINE=`(uname -p) 2>/dev/null` ++ UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; +@@ -1300,11 +1335,11 @@ + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; ++ x86_64:VMkernel:*:*) ++ echo ${UNAME_MACHINE}-unknown-esx ++ exit ;; + esac + +-#echo '(No uname command or uname output not recognized.)' 1>&2 +-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 +- + eval $set_cc_for_build + cat >$dummy.c < + printf ("m68k-sony-newsos%s\n", + #ifdef NEWSOS4 +- "4" ++ "4" + #else +- "" ++ "" + #endif +- ); exit (0); ++ ); exit (0); + #endif + #endif + +diff -urN OpenIPMI-2.0.19/config.sub OpenIPMI-2.0.19-aarch64/config.sub +--- OpenIPMI-2.0.19/config.sub 2010-05-09 08:32:53.000000000 -0500 ++++ OpenIPMI-2.0.19-aarch64/config.sub 2013-03-03 06:56:09.276031637 -0600 +@@ -1,10 +1,10 @@ + #! /bin/sh + # Configuration validation subroutine script. + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +-# Free Software Foundation, Inc. ++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, ++# 2011, 2012 Free Software Foundation, Inc. + +-timestamp='2010-01-22' ++timestamp='2012-10-10' + + # This file is (in principle) common to ALL GNU software. + # The presence of a machine in this file suggests that SOME GNU software +@@ -21,9 +21,7 @@ + # GNU General Public License for more details. + # + # You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -76,8 +74,8 @@ + GNU config.sub ($timestamp) + + Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free +-Software Foundation, Inc. ++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 ++Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." +@@ -124,13 +122,18 @@ + # Here we must recognize all the valid KERNEL-OS combinations. + maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` + case $maybe_os in +- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ +- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ ++ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ ++ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ ++ knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; ++ android-linux) ++ os=-linux-android ++ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ++ ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] +@@ -153,12 +156,12 @@ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ +- -apple | -axis | -knuth | -cray | -microblaze) ++ -apple | -axis | -knuth | -cray | -microblaze*) + os= + basic_machine=$1 + ;; +- -bluegene*) +- os=-cnk ++ -bluegene*) ++ os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= +@@ -174,10 +177,10 @@ + os=-chorusos + basic_machine=$1 + ;; +- -chorusrdb) +- os=-chorusrdb ++ -chorusrdb) ++ os=-chorusrdb + basic_machine=$1 +- ;; ++ ;; + -hiux*) + os=-hiuxwe2 + ;; +@@ -222,6 +225,12 @@ + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; ++ -lynx*178) ++ os=-lynxos178 ++ ;; ++ -lynx*5) ++ os=-lynxos5 ++ ;; + -lynx*) + os=-lynxos + ;; +@@ -246,20 +255,25 @@ + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ ++ | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ ++ | be32 | be64 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ ++ | epiphany \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ ++ | hexagon \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ ++ | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ +- | maxq | mb | microblaze | mcore | mep | metag \ ++ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ +@@ -282,29 +296,39 @@ + | moxie \ + | mt \ + | msp430 \ ++ | nds32 | nds32le | nds32be \ + | nios | nios2 \ + | ns16k | ns32k \ ++ | open8 \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ +- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ ++ | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ +- | rx \ ++ | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ +- | spu | strongarm \ +- | tahoe | thumb | tic4x | tic80 | tron \ ++ | spu \ ++ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ +- | v850 | v850e \ ++ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | we32k \ +- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ ++ | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; +- m6811 | m68hc11 | m6812 | m68hc12 | picochip) +- # Motorola 68HC11/12. ++ c54x) ++ basic_machine=tic54x-unknown ++ ;; ++ c55x) ++ basic_machine=tic55x-unknown ++ ;; ++ c6x) ++ basic_machine=tic6x-unknown ++ ;; ++ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; +@@ -314,6 +338,21 @@ + basic_machine=mt-unknown + ;; + ++ strongarm | thumb | xscale) ++ basic_machine=arm-unknown ++ ;; ++ xgate) ++ basic_machine=$basic_machine-unknown ++ os=-none ++ ;; ++ xscaleeb) ++ basic_machine=armeb-unknown ++ ;; ++ ++ xscaleel) ++ basic_machine=armel-unknown ++ ;; ++ + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. +@@ -328,25 +367,30 @@ + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ ++ | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ ++ | be32-* | be64-* \ + | bfin-* | bs2000-* \ +- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ ++ | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ ++ | hexagon-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ ++ | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ +- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ ++ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ ++ | microblaze-* | microblazeel-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ +@@ -368,26 +412,29 @@ + | mmix-* \ + | mt-* \ + | msp430-* \ ++ | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ ++ | open8-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ +- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ ++ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ +- | romp-* | rs6000-* | rx-* \ ++ | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ +- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ +- | tahoe-* | thumb-* \ ++ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ ++ | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ +- | tile-* | tilegx-* \ ++ | tile*-* \ + | tron-* \ + | ubicom32-* \ +- | v850-* | v850e-* | vax-* \ ++ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ ++ | vax-* \ + | we32k-* \ +- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ ++ | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) +@@ -412,7 +459,7 @@ + basic_machine=a29k-amd + os=-udi + ;; +- abacus) ++ abacus) + basic_machine=abacus-unknown + ;; + adobe68k) +@@ -482,11 +529,20 @@ + basic_machine=powerpc-ibm + os=-cnk + ;; ++ c54x-*) ++ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ c55x-*) ++ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; ++ c6x-*) ++ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; +- cegcc) ++ cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; +@@ -518,7 +574,7 @@ + basic_machine=craynv-cray + os=-unicosmp + ;; +- cr16) ++ cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; +@@ -676,7 +732,6 @@ + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +-# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 +@@ -734,9 +789,13 @@ + basic_machine=ns32k-utek + os=-sysv + ;; +- microblaze) ++ microblaze*) + basic_machine=microblaze-xilinx + ;; ++ mingw64) ++ basic_machine=x86_64-pc ++ os=-mingw64 ++ ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 +@@ -773,10 +832,18 @@ + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; ++ msys) ++ basic_machine=i386-pc ++ os=-msys ++ ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; ++ nacl) ++ basic_machine=le32-unknown ++ os=-nacl ++ ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 +@@ -841,6 +908,12 @@ + np1) + basic_machine=np1-gould + ;; ++ neo-tandem) ++ basic_machine=neo-tandem ++ ;; ++ nse-tandem) ++ basic_machine=nse-tandem ++ ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; +@@ -923,9 +996,10 @@ + ;; + power) basic_machine=power-ibm + ;; +- ppc) basic_machine=powerpc-unknown ++ ppc | ppcbe) basic_machine=powerpc-unknown + ;; +- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ppc-* | ppcbe-*) ++ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown +@@ -1019,6 +1093,9 @@ + basic_machine=i860-stratus + os=-sysv4 + ;; ++ strongarm-* | thumb-*) ++ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ++ ;; + sun2) + basic_machine=m68000-sun + ;; +@@ -1075,25 +1152,8 @@ + basic_machine=t90-cray + os=-unicos + ;; +- tic54x | c54x*) +- basic_machine=tic54x-unknown +- os=-coff +- ;; +- tic55x | c55x*) +- basic_machine=tic55x-unknown +- os=-coff +- ;; +- tic6x | c6x*) +- basic_machine=tic6x-unknown +- os=-coff +- ;; +- # This must be matched before tile*. +- tilegx*) +- basic_machine=tilegx-unknown +- os=-linux-gnu +- ;; + tile*) +- basic_machine=tile-unknown ++ basic_machine=$basic_machine-unknown + os=-linux-gnu + ;; + tx39) +@@ -1163,6 +1223,9 @@ + xps | xps100) + basic_machine=xps100-honeywell + ;; ++ xscale-* | xscalee[bl]-*) ++ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ++ ;; + ymp) + basic_machine=ymp-cray + os=-unicos +@@ -1260,11 +1323,11 @@ + if [ x"$os" != x"" ] + then + case $os in +- # First match some system type aliases +- # that might get confused with valid system types. ++ # First match some system type aliases ++ # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. +- -auroraux) +- os=-auroraux ++ -auroraux) ++ os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` +@@ -1294,14 +1357,15 @@ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ +- | -openbsd* | -solidbsd* \ ++ | -bitrig* | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ +- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ +- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ ++ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ ++ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ ++ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ +@@ -1348,7 +1412,7 @@ + -opened*) + os=-openedition + ;; +- -os400*) ++ -os400*) + os=-os400 + ;; + -wince*) +@@ -1397,7 +1461,7 @@ + -sinix*) + os=-sysv4 + ;; +- -tpf*) ++ -tpf*) + os=-tpf + ;; + -triton*) +@@ -1442,8 +1506,8 @@ + -dicos*) + os=-dicos + ;; +- -nacl*) +- ;; ++ -nacl*) ++ ;; + -none) + ;; + *) +@@ -1466,10 +1530,10 @@ + # system, and we'll never get to this point. + + case $basic_machine in +- score-*) ++ score-*) + os=-elf + ;; +- spu-*) ++ spu-*) + os=-elf + ;; + *-acorn) +@@ -1481,8 +1545,20 @@ + arm*-semi) + os=-aout + ;; +- c4x-* | tic4x-*) +- os=-coff ++ c4x-* | tic4x-*) ++ os=-coff ++ ;; ++ hexagon-*) ++ os=-elf ++ ;; ++ tic54x-*) ++ os=-coff ++ ;; ++ tic55x-*) ++ os=-coff ++ ;; ++ tic6x-*) ++ os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) +@@ -1502,14 +1578,11 @@ + ;; + m68000-sun) + os=-sunos3 +- # This also exists in the configure program, but was not the +- # default. +- # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; +- mep-*) ++ mep-*) + os=-elf + ;; + mips*-cisco) +@@ -1536,7 +1609,7 @@ + *-ibm) + os=-aix + ;; +- *-knuth) ++ *-knuth) + os=-mmixware + ;; + *-wec) diff --git a/OpenIPMI-py313compat.patch b/OpenIPMI-py313compat.patch deleted file mode 100644 index fccde75..0000000 --- a/OpenIPMI-py313compat.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/swig/python/OpenIPMI_lang.i b/swig/python/OpenIPMI_lang.i -index 67221fd..d150d81 100644 ---- a/swig/python/OpenIPMI_lang.i -+++ b/swig/python/OpenIPMI_lang.i -@@ -541,7 +541,7 @@ static void OI_put_py_state(int current) - #else - static void init_lang(void) - { -- PyEval_InitThreads(); -+ /* nothing */ - } - #define OI_PY_STATE PyGILState_STATE - #define OI_PY_STATE_GET() PyGILState_Ensure() diff --git a/OpenIPMI.spec b/OpenIPMI.spec index 7016dc2..347b8e4 100644 --- a/OpenIPMI.spec +++ b/OpenIPMI.spec @@ -1,47 +1,40 @@ %global _hardened_build 1 -%bcond_with python -%bcond_with perl - +%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Summary: IPMI (Intelligent Platform Management Interface) library and tools Name: OpenIPMI -Version: 2.0.36 -Release: 5%{?dist} -License: LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause -URL: https://sourceforge.net/projects/openipmi/ -Source: https://downloads.sourceforge.net/openipmi/%{name}-%{version}.tar.gz -Source1: openipmi.sysconf -Source2: openipmi-helper -Source3: ipmi.service -Patch1: 0001-man.patch -Patch2: include-config-h-cmdlang.patch -Patch5: OpenIPMI-py313compat.patch +Version: 2.0.23 +Release: 1%{?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 +Patch1: 0001-Apply-OpenIPMI-2.0.18-pthread-pkgconfig.patch.patch +Patch2: 0002-Apply-.-OpenIPMI-2.0.19-man.patch.patch +Patch3: 0003-Apply-OpenIPMI-2.0.21-nobundle.patch.patch -BuildRequires: make -BuildRequires: gdbm-devel glib2-devel net-snmp-devel ncurses-devel -%if %{with python} || %{with perl} -BuildRequires: swig -%endif -BuildRequires: openssl-devel -%if %{with python} -BuildRequires: python3-devel -%endif -%if %{with perl} -BuildRequires: perl-devel perl-generators -%endif -BuildRequires: pkgconfig -BuildRequires: readline-devel -BuildRequires: automake -BuildRequires: autoconf -BuildRequires: libtool -%{?systemd_requires} -BuildRequires: systemd +BuildRequires: gdbm-devel swig glib2-devel net-snmp-devel ncurses-devel +BuildRequires: openssl-devel python-devel perl-devel perl-generators tcl-devel tkinter +BuildRequires: desktop-file-utils +BuildRequires: systemd-units +BuildRequires: pkgconfig +BuildRequires: libedit-devel +BuildRequires: automake +BuildRequires: autoconf +BuildRequires: libtool -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: libedit +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units +Requires(post): systemd-sysv +Requires:%{name}-libs = %{version}-%{release} -# Prevent bogus provides of private libs from perl -%global __provides_exclude_from %{?__provides_exclude_from:%{__provides_exclude_from}|}^%{perl_vendorarch}/auto/.*\\.so$ +# switch from libedit bundle to system libedit %description The Open IPMI project aims to develop an open code base to allow access to @@ -49,76 +42,75 @@ platform information using Intelligent Platform Management Interface (IPMI). This package contains the tools of the OpenIPMI project. %package libs +Group: Development/Libraries Summary: The OpenIPMI runtime libraries %description libs The OpenIPMI-libs package contains the runtime libraries for shared binaries and applications. -%if %{with perl} %package perl -Summary: IPMI Perl language bindings -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Group: Development/Libraries +Summary: IPMI Perl language bindings +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Requires: %{name}-libs = %{version}-%{release} %description perl The OpenIPMI-perl package contains the Perl language bindings for OpenIPMI. -%endif -%if %{with python} -%package -n python3-openipmi -%{?python_provide:%python_provide python3-openipmi} -%{?python_provide:%python_provide python3-OpenIPMI} -# Remove before F30 -Provides: %{name}-python = %{version}-%{release} -Provides: %{name}-python%{?_isa} = %{version}-%{release} -Obsoletes: %{name}-python2 < %{version}-%{release} -Summary: IPMI Python language bindings -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%package python +Group: Development/Libraries +Summary: IPMI Python language bindings +Requires: %{name}-libs = %{version}-%{release} -%description -n python3-openipmi +%description python The OpenIPMI-python package contains the Python language bindings for OpenIPMI. -%endif %package devel -Summary: The development environment for the OpenIPMI project +Group: Development/Libraries +Summary: The development environment for the OpenIPMI project Requires: pkgconfig -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Requires: %{name}-lanserv%{?_isa} = %{version}-%{release} +Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} %description devel The OpenIPMI-devel package contains the development libraries and header files of the OpenIPMI project. %package lanserv -Summary: Emulates an IPMI network listener -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Summary: Emulates an IPMI network listener +Group: Utilities +Requires: %{name} = %{version} %description lanserv This package contains a network IPMI listener. %prep -%autosetup -p1 +%setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +rm -rf ./libedit %build +export EDIT_CFLAGS=`pkg-config --cflags libedit` +export EDIT_LIBS=`pkg-config --libs libedit` +export CFLAGS="-fPIC $RPM_OPT_FLAGS -fno-strict-aliasing" + +# generate new configure script we need this since we removed the libedit directory +%{__libtoolize} --copy --force --automake +%{__aclocal} +%{__autoheader} +%{__automake} --add-missing --copy --foreign --force-missing +%{__autoconf} +# libedit end %configure \ - CFLAGS="-fPIC %{optflags} -z now -fno-strict-aliasing" \ - LDFLAGS="%{__global_ldflags} -Wl,--as-needed" \ + --with-pythoninstall=%{python_sitearch} \ --disable-dependency-tracking \ - --disable-static \ -%if %{with python} - --with-pythoninstall=%{python3_sitearch} \ - --with-python=%{__python3} \ -%else - --with-python=no \ -%endif -%if %{without perl} - --with-perl=no \ -%endif --with-tcl=no \ + --disable-static \ --with-tkinter=no # https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Beware_of_Rpath @@ -126,23 +118,30 @@ This package contains a network IPMI listener. sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool -make # not %%{?_smp_mflags} safe +make # not %{?_smp_mflags} safe %install -make install DESTDIR=%{buildroot} +make install DESTDIR=$RPM_BUILD_ROOT +rm -rf $RPM_BUILD_ROOT/%{_libdir}/*.la -install -d %{buildroot}{%{_sysconfdir}/sysconfig,%{_unitdir},%{_libexecdir}} -install -m 644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/ipmi -install -m 755 %SOURCE2 %{buildroot}%{_libexecdir}/openipmi-helper -install -m 644 %SOURCE3 %{buildroot}%{_unitdir}/ipmi.service -install -d %{buildroot}%{_sysconfdir}/modprobe.d +install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig +install -m 644 %SOURCE1 ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/ipmi +install -d ${RPM_BUILD_ROOT}%{_libexecdir} +install -m 755 %SOURCE2 ${RPM_BUILD_ROOT}%{_libexecdir}/openipmi-helper +install -d ${RPM_BUILD_ROOT}%{_unitdir} +install -m 644 %SOURCE3 ${RPM_BUILD_ROOT}%{_unitdir}/ipmi.service +install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/modprobe.d -rm %{buildroot}/%{_mandir}/man1/openipmigui.1 %{buildroot}%{_libdir}/*.la +rm ${RPM_BUILD_ROOT}/%{_mandir}/man1/openipmigui.1 -# add missing documentation -echo ".so man1/openipmicmd.1" > %{buildroot}%{_mandir}/man1/ipmicmd.1 +# add missing documentation symlinks +if test -L ${RPM_BUILD_ROOT}/%{_bindir}/ipmicmd && ! test -a ${RPM_BUILD_ROOT}/%{_mandir}/man1/ipmicmd.1.gz ; then + %{__ln_s} openipmicmd.1.gz ${RPM_BUILD_ROOT}/%{_mandir}/man1/ipmicmd.1.gz +fi -echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 +if test -L ${RPM_BUILD_ROOT}/%{_bindir}/ipmish && ! test -a ${RPM_BUILD_ROOT}/%{_mandir}/man1/ipmish.1.gz ; then + %{__ln_s} openipmish.1.gz ${RPM_BUILD_ROOT}/%{_mandir}/man1/ipmish.1.gz +fi %post %systemd_post ipmi.service @@ -153,8 +152,11 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 %postun %systemd_postun_with_restart ipmi.service -%ldconfig_scriptlets libs -%ldconfig_scriptlets lanserv +%post libs +/sbin/ldconfig + +%postun libs +/sbin/ldconfig ### A sysv => systemd migration contains all of the same scriptlets as a ### systemd package. These are additional scriptlets @@ -170,8 +172,7 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 /bin/systemctl try-restart ipmi.service >/dev/null 2>&1 || : %files -%license COPYING COPYING.BSD COPYING.LIB -%doc CONFIGURING_FOR_LAN FAQ README README.Force README.MotorolaMXP +%doc CONFIGURING_FOR_LAN COPYING COPYING.BSD COPYING.LIB FAQ README README.Force README.MotorolaMXP %config(noreplace) %{_sysconfdir}/sysconfig/ipmi %{_libexecdir}/openipmi-helper %{_bindir}/ipmicmd @@ -194,20 +195,15 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 %{_mandir}/man7/ipmi_cmdlang* %{_mandir}/man7/openipmi_conparms* -%if %{with perl} %files perl %attr(644,root,root) %{perl_vendorarch}/OpenIPMI.pm -%{perl_vendorarch}/auto/OpenIPMI -%endif +%{perl_vendorarch}/auto/OpenIPMI/ -%if %{with python} -%files -n python3-openipmi -%{python3_sitearch}/*OpenIPMI* -%{python3_sitearch}/__pycache__/OpenIPMI.*.pyc -%endif +%files python +%{python_sitearch}/*OpenIPMI* %files libs -%{_libdir}/libOpenIPMI*.so.* +%{_libdir}/*.so.* %files devel %{_includedir}/OpenIPMI @@ -215,235 +211,19 @@ echo ".so man1/openipmish.1" > %{buildroot}%{_mandir}/man1/ipmish.1 %{_libdir}/pkgconfig/*.pc %files lanserv +%defattr(-,root,root) %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* +%doc %{_mandir}/man8/ipmilan.8* +%doc %{_mandir}/man1/ipmi_sim.1* +%doc %{_mandir}/man5/ipmi_lan.5* +%doc %{_mandir}/man5/ipmi_sim_cmd.5* %changelog -* Fri Jan 16 2026 Fedora Release Engineering - 2.0.36-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Mon Jan 12 2026 Josef Ridky - 2.0.36-4 -- rebuild for new net-snmp release - -* Wed Jul 23 2025 Fedora Release Engineering - 2.0.36-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jan 16 2025 Fedora Release Engineering - 2.0.36-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Aug 22 2024 Fedora Release Monitoring - 2.0.36-1 -- Update to 2.0.36 (#2302353) -- Resolves CVE-2024-42934 - -* Wed Jul 17 2024 Fedora Release Engineering - 2.0.35-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue May 7 2024 Pavel Cahyna - 2.0.35-1 -- Switch to https -- Update to 2.0.35 (rhbz#2278007) - drop patch integrated upstream - -* Sun Feb 11 2024 Pavel Cahyna - 2.0.34-1 -- Update to 2.0.34 (rhbz#2105023) -- Resolve issues found by rpmdiff - - add a patch to fix getaddrinfo detection to avoid using gethostbyname - - add explicit Requires: on subpackages to avoid the need to test - interoperability between the various combinations of old and new - subpackages -- Conditional Perl & Python module build, by default disabled - -* Mon Jan 22 2024 Fedora Release Engineering - 2.0.32-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 2.0.32-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 08 2024 Florian Weimer - 2.0.32-11 -- Fix C compatibility issues - -* Wed Jul 19 2023 Fedora Release Engineering - 2.0.32-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jul 18 2023 Josef Ridky - 2.0.32-9 -- Migrate to SPDX license format - -* Tue Jul 11 2023 Jitka Plesnikova - 2.0.32-8 -- Perl 5.38 rebuild - -* Tue Jun 13 2023 Python Maint - 2.0.32-7 -- Rebuilt for Python 3.12 - -* Wed Jan 18 2023 Fedora Release Engineering - 2.0.32-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Jul 20 2022 Fedora Release Engineering - 2.0.32-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Jun 13 2022 Python Maint - 2.0.32-4 -- Rebuilt for Python 3.11 - -* Tue May 31 2022 Jitka Plesnikova - 2.0.32-3 -- Perl 5.36 rebuild - -* Wed Jan 19 2022 Fedora Release Engineering - 2.0.32-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Mon Jan 10 2022 Josef Ridky - 2.0.32-1 -- new upstream release 2.0.32 (#2020717) - -* Tue Sep 14 2021 Sahana Prasad - 2.0.31-8 -- Rebuilt with OpenSSL 3.0.0 - -* Mon Aug 02 2021 Josef Ridky - 2.0.31-7 -- replace distutils and fix FTBFS (#1948437) -- fix collectd-ipmi crash (#1927022) - -* Wed Jul 21 2021 Fedora Release Engineering - 2.0.31-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 04 2021 Python Maint - 2.0.31-5 -- Rebuilt for Python 3.10 - -* Fri May 21 2021 Jitka Plesnikova - 2.0.31-4 -- Perl 5.34 rebuild - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.0.31-3 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Mon Jan 25 2021 Fedora Release Engineering - 2.0.31-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jan 25 2021 Josef Ridky - 2.0.31-1 -- New upstream release 2.0.31 (#1905768) - -* Thu Sep 17 2020 Josef Řídký - 2.0.29-1 -- New upstream release 2.0.29 (#1846675) - -* Thu Aug 27 2020 Josef Řídký - 2.0.28-7 -- Rebuilt for new net-snmp release - -* Mon Jul 27 2020 Fedora Release Engineering - 2.0.28-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jun 23 2020 Jitka Plesnikova - 2.0.28-5 -- Perl 5.32 rebuild - -* Tue May 26 2020 Miro Hrončok - 2.0.28-4 -- Rebuilt for Python 3.9 - -* Mon Feb 03 2020 Vaclav Dolezal - 2.0.28-3 -- Cleanup of openipmi-helper script; removed no-udev branch (#1579773) - -* Tue Jan 28 2020 Fedora Release Engineering - 2.0.28-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Mon Dec 16 2019 Vaclav Dolezal - 2.0.28-1 -- New upstream release 2.0.28 - -* Thu Oct 03 2019 Miro Hrončok - 2.0.27-5 -- Rebuilt for Python 3.8.0rc1 (#1748018) - -* Mon Aug 19 2019 Miro Hrončok - 2.0.27-4 -- Rebuilt for Python 3.8 - -* Thu Aug 01 2019 Vaclav Dolezal - 2.0.27-3 -- Prevent bogus Provides of libOpenIPMI.so.0 by OpenIPMI-perl (#1734407) - -* Wed Jul 24 2019 Fedora Release Engineering - 2.0.27-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed Jun 26 2019 Vaclav Dolezal - 2.0.27-1 -- New upstream release 2.0.27 - -* Fri May 31 2019 Jitka Plesnikova - 2.0.25-10 -- Perl 5.30 rebuild - -* Thu Jan 31 2019 Fedora Release Engineering - 2.0.25-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Sep 05 2018 Josef Ridky - 2.0.25-8 -- Fix man page self referencing error (#1612159) - -* Tue Jul 24 2018 Adam Williamson - 2.0.25-7 -- Rebuild for new net-snmp - -* Thu Jul 12 2018 Fedora Release Engineering - 2.0.25-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jul 03 2018 Petr Pisar - 2.0.25-5 -- Perl 5.28 rebuild - -* Fri Jun 29 2018 Jitka Plesnikova - 2.0.25-4 -- Perl 5.28 rebuild - -* Tue Jun 19 2018 Miro Hrončok - 2.0.25-3 -- Rebuilt for Python 3.7 - -* Wed Apr 18 2018 Josef Ridky - 2.0.25-2 -- Python3 update - -* Tue Apr 17 2018 Josef Ridky - 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 - 2.0.24-5 -- use ldconfig macros - -* Wed Feb 07 2018 Fedora Release Engineering - 2.0.24-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Mon Jan 22 2018 Josef Ridky -2.0.14-3 -- remove old systemd dependencies - -* Mon Jan 22 2018 Josef Ridky -2.0.14-2 -- restore removed requirements - -* Thu Jan 18 2018 Tomasz Kłoczko - 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 - 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 - 2.0.23-6 -- Rebuilt for python2 package - -* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek - 2.0.23-5 -- Add Provides for the old name without %%_isa - -* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 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 - 2.0.23-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 2.0.23-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - * Thu Jun 15 2017 Josef Ridky - 2.0.23-1 - New upstream release 2.0.23 (#1461606) diff --git a/include-config-h-cmdlang.patch b/include-config-h-cmdlang.patch deleted file mode 100644 index 4f9fcab..0000000 --- a/include-config-h-cmdlang.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up OpenIPMI-2.0.32/cmdlang/cmdlang.c~ OpenIPMI-2.0.32/cmdlang/cmdlang.c ---- OpenIPMI-2.0.32/cmdlang/cmdlang.c~ 2021-01-22 19:51:28.000000000 +0100 -+++ OpenIPMI-2.0.32/cmdlang/cmdlang.c 2022-01-28 11:55:42.375470392 +0100 -@@ -32,6 +32,8 @@ - */ - - -+#include -+ - #include - #include - #include diff --git a/openipmi-helper b/openipmi-helper index 4f3d3d9..4cebfb9 100644 --- a/openipmi-helper +++ b/openipmi-helper @@ -4,7 +4,6 @@ # ipmi: OpenIPMI Driver helper script # # Authors: Jan Safranek -# Václav Doležal # # Based on IPMI init script by: # Matt Domsch @@ -31,6 +30,11 @@ INTF_NUM=0 IPMI_SMB_MODULE_NAME="ipmi_smb" IPMI_SI_MODULE_NAME="ipmi_si" +kernel=`uname -r | cut -d. -f1-2` +if [ "${kernel}" == "2.4" ]; then + IPMI_SMB_MODULE_NAME="ipmi_smb_intf" + IPMI_SI_MODULE_NAME="ipmi_si_drv" +fi MODULES_INTERFACES="" [ "${DEV_IPMI}" = "yes" ] && MODULES_INTERFACES="${MODULES_INTERFACES} ipmi_devintf" @@ -51,6 +55,17 @@ RETVAL=0 LOCKFILE=/var/lock/subsys/ipmi DEV_IPMI_TIMEOUT=150 +UDEV_EXISTS=0 +if [ -e /sbin/udev -o -e /sbin/udevd ]; then + UDEV_EXISTS=1 +fi + +############################################################################# +# NOTES: +# * /dev/ipmi0 is unconditionally deleted here on ipmi_devintf unload, +# because SLES9 and RHEL4 kernels don't send a message for udev to delete +# it for us. +# ############################################################################# modules_loaded_verbose() @@ -58,7 +73,7 @@ modules_loaded_verbose() OnePlusLoaded=0 OnePlusUnloaded=0 for m in $@; do - if /sbin/lsmod | grep -q $m ; then + if /sbin/lsmod | grep $m >/dev/null 2>&1 ; then echo "$m module loaded." OnePlusLoaded=1 else @@ -73,7 +88,7 @@ modules_loaded() OnePlusLoaded=0 OnePlusUnloaded=0 for m in $@; do - if /sbin/lsmod | grep -q $m ; then + if /sbin/lsmod | grep $m >/dev/null 2>&1 ; then OnePlusLoaded=1 else OnePlusUnloaded=1 @@ -139,6 +154,13 @@ start_watchdog_common() RETVAL=$((RETVAL | 2)) && echo "Watchdog startup failed: cannot load ipmi_watchdog module" && return + if [ ${UDEV_EXISTS} -eq 0 -a ! -e /dev/watchdog ]; then + mknod -m 0600 /dev/watchdog c 10 130 + [ $? -ne 0 ] && + RETVAL=$((RETVAL | 8)) && + echo "Watchdog startup failed: cannot create /dev/watchdog" && + return + fi } start_watchdog_quiet() @@ -164,6 +186,10 @@ stop_watchdog() if [ ${OnePlusLoaded} -ne 0 ]; then RETVAL=$((RETVAL | 32)) echo "Watchog shutdown failed: cannot unload ipmi_watchdog module" + else + if [ "${IPMI_WATCHDOG}" = "yes" ]; then + [ ${UDEV_EXISTS} -eq 0 ] && rm -f /dev/watchdog + fi fi } @@ -173,6 +199,10 @@ stop_watchdog_quiet() modules_loaded ipmi_watchdog if [ ${OnePlusLoaded} -ne 0 ]; then RETVAL=$((RETVAL | 32)) + else + if [ "${IPMI_WATCHDOG}" = "yes" ]; then + [ ${UDEV_EXISTS} -eq 0 ] && rm -f /dev/watchdog + fi fi } @@ -181,9 +211,9 @@ start_powercontrol_common() local poweroff_opts="" load_hw_modules if [ "${IPMI_POWERCYCLE}" == "yes" ]; then - modinfo ipmi_poweroff 2>/dev/null | grep -q poweroff_control && \ + modinfo ipmi_poweroff 2>/dev/null | grep poweroff_control > /dev/null 2>&1 && \ poweroff_opts="poweroff_control=2" - modinfo ipmi_poweroff 2>/dev/null | grep -q poweroff_powercycle && \ + modinfo ipmi_poweroff 2>/dev/null | grep poweroff_powercycle > /dev/null 2>&1 && \ poweroff_opts="poweroff_powercycle=1" fi modprobe ipmi_poweroff "${poweroff_opts}" > /dev/null 2>&1 @@ -235,6 +265,9 @@ unload_all_ipmi_modules() for m in ${MODULES}; do modprobe -q -r ${m} > /dev/null 2>&1 done + # delete interface node ONLY if ipmi_devintf is unloaded + [ `lsmod | grep -c "ipmi_devintf"` -eq 0 ] && + rm -f "/dev/ipmi${INTF_NUM}" } unload_ipmi_modules_leave_features() @@ -242,7 +275,10 @@ unload_ipmi_modules_leave_features() for m in ${MODULES_INTERFACES}; do modprobe -q -r ${m} > /dev/null 2>&1 done - lsmod | grep -Eq "ipmi_(poweroff|watchdog)" + # delete interface node ONLY if ipmi_devintf is unloaded + [ `lsmod | grep -c "ipmi_devintf"` -eq 0 ] && + rm -f "/dev/ipmi${INTF_NUM}" + lsmod | egrep -q "ipmi_(poweroff|watchdog)" > /dev/null 2>&1 if [ "$?" -ne "0" ]; then stop_watchdog_quiet stop_powercontrol_quiet @@ -266,7 +302,14 @@ load_ipmi_modules () modprobe ipmi_devintf > /dev/null 2>&1 modules_loaded ipmi_devintf RETVAL=$((RETVAL & ~2)) + [ ${OnePlusLoaded} -eq 0 ] && RETVAL=$((RETVAL | 2)) if [ ${OnePlusLoaded} -eq 1 ]; then + if [ ${UDEV_EXISTS} -eq 0 ]; then + DEVMAJOR=`cat /proc/devices | awk '/ipmidev/{print $1}'` + rm -f /dev/ipmi${INTF_NUM} + mknod -m 0600 /dev/ipmi${INTF_NUM} c ${DEVMAJOR} 0 || RETVAL=$((RETVAL | 4)) + fi + # udev can take several seconds to create /dev/ipmi0, # but it happens asynchronously, so delay here locdelay=${DEV_IPMI_TIMEOUT} @@ -274,8 +317,6 @@ load_ipmi_modules () locdelay=$((locdelay - 1)) sleep 0.1 done - else - RETVAL=$((RETVAL | 2)) fi fi diff --git a/sources b/sources index 1870111..d4dd8d4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (OpenIPMI-2.0.36.tar.gz) = a47725308336f200e88a1eb8641ed5ef03fc8bb43ee47f7a99e39df68640ff912b6842c1710d7e767aeb724fc41fa4ed3b244685812ee985e5200003a45f4015 +SHA512 (OpenIPMI-2.0.23.tar.gz) = c1e9678c725dfe9aed539e8e83bbd21968917c407be6f97c2f513dbd5082a31842f756a7e581ef67deadba199231e3cf3edbc870508ed363432271a6ff255fbe