aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/ipmiutil
diff options
context:
space:
mode:
authorArmin Kuster <akuster@mvista.com>2015-08-16 15:02:20 -0700
committerMartin Jansa <Martin.Jansa@gmail.com>2015-08-24 13:59:44 +0200
commit7ceb57db0bdf2bb1e206190c44caee07389794ee (patch)
treee712eb461f6a20df16a6eed3f9ee91c99161b7e0 /meta-oe/recipes-support/ipmiutil
parent37dc6b149af339bf474eb92fccffd2a733d64805 (diff)
downloadmeta-openembedded-contrib-7ceb57db0bdf2bb1e206190c44caee07389794ee.tar.gz
ipmiutil: add new package
Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support/ipmiutil')
-rw-r--r--meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch318
-rw-r--r--meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb60
2 files changed, 378 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch b/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch
new file mode 100644
index 0000000000..2fa7c6883d
--- /dev/null
+++ b/meta-oe/recipes-support/ipmiutil/ipmiutil/fix_systemd_path.patch
@@ -0,0 +1,318 @@
+allow systemd path to be defined by configure option.
+
+The configure probes the host for systemd path information.
+
+Upstream Status: Inappropriate [Embedded]
+
+Signed-off-By: Armin Kuster <akuster@mvista.com>
+
+Index: ipmiutil-2.9.6/configure
+===================================================================
+--- ipmiutil-2.9.6.orig/configure
++++ ipmiutil-2.9.6/configure
+@@ -792,7 +792,6 @@ LTLIBOBJS
+ LIBOBJS
+ pkgconfigdir
+ SHR_LINK
+-SYSTEMD_DIR
+ CROSS_LFLAGS
+ CROSS_CFLAGS
+ SUBDIR_S
+@@ -999,7 +998,7 @@ psdir='${docdir}'
+ libdir='${exec_prefix}/lib'
+ localedir='${datarootdir}/locale'
+ mandir='${datarootdir}/man'
+-
++systemddir='${datarootdir}/ipmiutil'
+ ac_prev=
+ ac_dashdash=
+ for ac_option
+@@ -1594,7 +1593,10 @@ Optional Features:
+ --enable-standalone build standalone, with no GPL or LanPlus libs.
+ --enable-libsensors build libipmiutil with sensor modules [default=no]
+ --enable-gpl build with some GPL code [default=no]
+- --enable-systemd enable systemd service type=notify support and %_unitdir [default=disabled]
++ --enable-systemd[=systemddir] install systemd unit file. If 'yes'
++ probe the system for unit directory.
++ If a path is specified, assume that
++ is a valid install path. [default=disabled]
+
+ Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+@@ -12980,7 +12982,6 @@ CROSS_LFLAGS=""
+ CROSS_CFLAGS=""
+ LIBSENSORS=""
+ SAM2OBJ="isensor2.o ievents2.o"
+-SYSTEMD_DIR=/usr/share/ipmiutil
+
+ # Check whether --enable-useflags was given.
+ if test "${enable_useflags+set}" = set; then
+@@ -13032,31 +13033,43 @@ if test "${enable_gpl+set}" = set; then
+ fi
+
+ fi
+-
++#
++# Check for systemd unit files direectory exists if unit file installation
++# is requested
++#
+
+ # Check whether --enable-systemd was given.
+-if test "${enable_systemd+set}" = set; then
+- enableval=$enable_systemd;
+-fi
+-
+-if test "x$enable_systemd" = "xyes"; then
+- GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD"
+- # if systemd enabled, install service scripts in unitdir
+- SYSTEMD_DIR=`rpm --eval "%{_unitdir}"`
+-else
+- # otherwise install the systemd service scripts in the data dir
+- if test "x$sysname" = "xDarwin" ; then
+- # MacOS 'which' command returns 0 always
+- SYSTEMD_DIR=/usr/share/ipmiutil
+- else
++if test "${enable_systemd+set}" = set; then :
++ withval=$enable_systemd; if test "$withval" = yes; then
++ GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD"
++ if test -z "$systemddir"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking location of the systemd unit files directory" >&5
++$as_echo_n "checking location of the systemd unit files directory... " >&6; }
++ _rpmdir = ""
+ which rpm >/dev/null 2>&1
+ if test $? -eq 0 ; then
+- datad=`rpm --eval "%{_datadir}"`
+- SYSTEMD_DIR=${datad}/ipmiutil
+- else
+- SYSTEMD_DIR=/usr/share/ipmiutil
++ _rpmdir = `rpm --eval "%{_unitdir}"`
+ fi
++ for systemd_d in ${datadir}/usr/share/ipmiutil ${_rpmdir} /usr/share/ipmiutil; do
++ if test -z "$systemddir"; then
++ if test -d "$systemd_d"; then
++ systemddir="$systemd_d"
++ fi
++ fi
++ done
+ fi
++ if test -n "$systemddir"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $systemddir" >&5
++$as_echo "$systemddir" >&6; }
++ else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
++$as_echo "not found" >&6; }
++ fi
++else
++ if test "$withval" != no; then
++ systemddir=$withval
++ fi
++fi
+ fi
+
+ case "$archm" in
+Index: ipmiutil-2.9.6/configure.ac
+===================================================================
+--- ipmiutil-2.9.6.orig/configure.ac
++++ ipmiutil-2.9.6/configure.ac
+@@ -140,7 +140,6 @@ CROSS_LFLAGS=""
+ CROSS_CFLAGS=""
+ LIBSENSORS=""
+ SAM2OBJ="isensor2.o ievents2.o"
+-SYSTEMD_DIR=/usr/share/ipmiutil
+
+ AC_ARG_ENABLE([useflags],
+ [ --enable-useflags include environment CFLAGS and LDFLAGS.],
+@@ -191,25 +190,42 @@ AC_ARG_ENABLE([gpl],
+
+ dnl Does this Linux have systemd enabled? Otherwise use sysv init.
+ AC_ARG_ENABLE([systemd],
+- [ --enable-systemd enable systemd service type=notify support and %_unitdir [[default=disabled]]],)
+-if test "x$enable_systemd" = "xyes"; then
+- GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD"
+- # if systemd enabled, install service scripts in unitdir
+- SYSTEMD_DIR=`rpm --eval "%{_unitdir}"`
++ [ --enable-systemd[=systemddir] install systemd unit file. If 'yes'
++ probe the system for unit directory.
++ If a path is specified, assume that
++ is a valid install path. [[default=disabled]]],)
++# Check whether --enable-systemd was given.
++if test "${enable_systemd+set}" = set; then :
++ withval=$enable_systemd; if test "$withval" = yes; then
++ GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD"
++ if test -z "$systemddir"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking location of the systemd unit files directory" >&5
++ $as_echo_n "checking location of the systemd unit files directory... " >&6; }
++ _rpmdir = ""
++ which rpm >/dev/null 2>&1
++ if test $? -eq 0 ; then
++ _rpmdir = `rpm --eval "%{_unitdir}"`
++ fi
++ for systemd_d in ${datadir}/usr/share/ipmiutil ${_rpmdir} /usr/share/ipmiutil; do
++ if test -z "$systemddir"; then
++ if test -d "$systemd_d"; then
++ systemddir="$systemd_d"
++ fi
++ fi
++ done
++ fi
++ if test -n "$systemddir"; then
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $systemddir" >&5
++ $as_echo "$systemddir" >&6; }
++ else
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
++ $as_echo "not found" >&6; }
++ fi
+ else
+- # otherwise install the systemd service scripts in the data dir
+- if test "x$sysname" = "xDarwin" ; then
+- # MacOS 'which' command returns 0 always
+- SYSTEMD_DIR=/usr/share/ipmiutil
+- else
+- which rpm >/dev/null 2>&1
+- if test $? -eq 0 ; then
+- datad=`rpm --eval "%{_datadir}"`
+- SYSTEMD_DIR=${datad}/ipmiutil
+- else
+- SYSTEMD_DIR=/usr/share/ipmiutil
+- fi
+- fi
++ if test "$withval" != no; then
++ systemddir=$withval
++ fi
++fi
+ fi
+
+ dnl start main logic
+@@ -481,7 +497,7 @@ AC_SUBST(INS_LIB)
+ AC_SUBST(SUBDIR_S)
+ AC_SUBST(CROSS_CFLAGS)
+ AC_SUBST(CROSS_LFLAGS)
+-AC_SUBST(SYSTEMD_DIR)
++AC_SUBST(systemddir)
+ AC_SUBST(SHR_LINK)
+ AC_SUBST(pkgconfigdir)
+
+Index: ipmiutil-2.9.6/Makefile.in
+===================================================================
+--- ipmiutil-2.9.6.orig/Makefile.in
++++ ipmiutil-2.9.6/Makefile.in
+@@ -182,7 +182,7 @@ SHELL = @SHELL@
+ SHR_LINK = @SHR_LINK@
+ STRIP = @STRIP@
+ SUBDIR_S = @SUBDIR_S@
+-SYSTEMD_DIR = @SYSTEMD_DIR@
++SYSTEMD_DIR = @systemddir@
+ VERSION = @VERSION@
+ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+@@ -233,6 +233,7 @@ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
++systemddir = @systemddir@
+ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+Index: ipmiutil-2.9.6/scripts/Makefile.in
+===================================================================
+--- ipmiutil-2.9.6.orig/scripts/Makefile.in
++++ ipmiutil-2.9.6/scripts/Makefile.in
+@@ -126,7 +126,7 @@ SHELL = @SHELL@
+ SHR_LINK = @SHR_LINK@
+ STRIP = @STRIP@
+ SUBDIR_S = @SUBDIR_S@
+-SYSTEMD_DIR = @SYSTEMD_DIR@
++SYSTEMD_DIR = @systemddir@
+ VERSION = @VERSION@
+ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+@@ -195,7 +195,8 @@ cronto = ${DESTDIR}${etcdir}/cron.daily
+ sbinto = ${DESTDIR}${sbindir}
+ varto = ${DESTDIR}/var/lib/ipmiutil
+ initto = ${DESTDIR}@INIT_DIR@
+-sysdto = ${DESTDIR}@SYSTEMD_DIR@
++sysdto = ${DESTDIR}@systemddir@
++systemddir = @systemddir@
+ sysvinit = ${datato}
+ sbinfls = ialarms ihealth ifru igetevent ireset icmd isol ilan isensor isel iserial iwdt iconfig ipicmg ifirewall ifwum ihpm
+ all: all-am
+@@ -398,11 +399,14 @@ install:
+ ${INSTALL_SCRIPT_SH} evt.sh ${datato}
+ if [ -f /etc/debian_version ]; then \
+ sysvinit=${initto}; fi
+- ${INSTALL_SCRIPT_SH} ipmiutil_wdt ${sysvinit}/ipmiutil_wdt
+- ${INSTALL_SCRIPT_SH} ipmiutil_asy ${sysvinit}/ipmiutil_asy
+- ${INSTALL_SCRIPT_SH} ipmiutil_evt ${sysvinit}/ipmiutil_evt
+- ${INSTALL_SCRIPT_SH} ipmi_port.sh ${sysvinit}/ipmi_port
+- ${INSTALL_SCRIPT_SH} ipmi_info ${sysvinit}/ipmi_info
++ if [ ! -z "${systemddir}" ]; then \
++ $(MKDIR) ${sysdto}; \
++ ${INSTALL_SCRIPT_SH} ipmiutil_wdt ${sysvinit}/ipmiutil_wdt; \
++ ${INSTALL_SCRIPT_SH} ipmiutil_asy ${sysvinit}/ipmiutil_asy; \
++ ${INSTALL_SCRIPT_SH} ipmiutil_evt ${sysvinit}/ipmiutil_evt; \
++ ${INSTALL_SCRIPT_SH} ipmi_port.sh ${sysvinit}/ipmi_port; \
++ ${INSTALL_SCRIPT_SH} ipmi_info ${sysvinit}/ipmi_info; \
++ fi
+ ${INSTALL_SCRIPT_SH} checksel ${datato}
+ ${INSTALL_DATA_SH} ipmiutil_wdt.service ${sysdto}
+ ${INSTALL_DATA_SH} ipmiutil_asy.service ${sysdto}
+Index: ipmiutil-2.9.6/scripts/Makefile.am
+===================================================================
+--- ipmiutil-2.9.6.orig/scripts/Makefile.am
++++ ipmiutil-2.9.6/scripts/Makefile.am
+@@ -17,7 +17,8 @@ cronto = ${DESTDIR}${etcdir}/cron.daily
+ sbinto = ${DESTDIR}${sbindir}
+ varto = ${DESTDIR}/var/lib/ipmiutil
+ initto = ${DESTDIR}@INIT_DIR@
+-sysdto = ${DESTDIR}@SYSTEMD_DIR@
++sysdto = ${DESTDIR}@systemddir@
++systemddir = @systemddir@
+ sysvinit = ${datato}
+ sbinfls = ialarms ihealth ifru igetevent ireset icmd isol ilan isensor isel iserial iwdt iconfig ipicmg ifirewall ifwum ihpm
+
+@@ -47,10 +48,14 @@ install:
+ ${INSTALL_SCRIPT_SH} ipmi_port.sh ${sysvinit}/ipmi_port
+ ${INSTALL_SCRIPT_SH} ipmi_info ${sysvinit}/ipmi_info
+ ${INSTALL_SCRIPT_SH} checksel ${datato}
+- ${INSTALL_DATA_SH} ipmiutil_wdt.service ${sysdto}
+- ${INSTALL_DATA_SH} ipmiutil_asy.service ${sysdto}
+- ${INSTALL_DATA_SH} ipmiutil_evt.service ${sysdto}
+- ${INSTALL_DATA_SH} ipmi_port.service ${sysdto}
++
++ if [ ! -z "${systemddir}" ]; then \
++ $(MKDIR) ${sysdto}; \
++ ${INSTALL_DATA_SH} ipmiutil_wdt.service ${sysdto}; \
++ ${INSTALL_DATA_SH} ipmiutil_asy.service ${sysdto}; \
++ ${INSTALL_DATA_SH} ipmiutil_evt.service ${sysdto}; \
++ ${INSTALL_DATA_SH} ipmi_port.service ${sysdto}; \
++ fi
+ ${INSTALL_SCRIPT_SH} ipmiutil.env ${datato}
+ ${INSTALL_SCRIPT_SH} ipmiutil.pre ${datato}
+ ${INSTALL_SCRIPT_SH} ipmiutil.setup ${datato}
+Index: ipmiutil-2.9.6/lib/Makefile.in
+===================================================================
+--- ipmiutil-2.9.6.orig/lib/Makefile.in
++++ ipmiutil-2.9.6/lib/Makefile.in
+@@ -128,7 +128,7 @@ SHELL = @SHELL@
+ SHR_LINK = @SHR_LINK@
+ STRIP = @STRIP@
+ SUBDIR_S = @SUBDIR_S@
+-SYSTEMD_DIR = @SYSTEMD_DIR@
++SYSTEMD_DIR = @systemddir@
+ VERSION = @VERSION@
+ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+Index: ipmiutil-2.9.6/lib/lanplus/Makefile.in
+===================================================================
+--- ipmiutil-2.9.6.orig/lib/lanplus/Makefile.in
++++ ipmiutil-2.9.6/lib/lanplus/Makefile.in
+@@ -177,7 +177,8 @@ SHELL = @SHELL@
+ SHR_LINK = @SHR_LINK@
+ STRIP = @STRIP@
+ SUBDIR_S = @SUBDIR_S@
+-SYSTEMD_DIR = @SYSTEMD_DIR@
++SYSTEMD_DIR = @systemddir@
++systemddir = @systemddir@
+ VERSION = @VERSION@
+ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
diff --git a/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb b/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb
new file mode 100644
index 0000000000..2bce217720
--- /dev/null
+++ b/meta-oe/recipes-support/ipmiutil/ipmiutil_2.9.6.bb
@@ -0,0 +1,60 @@
+SUMMARY = "ipmiutil is an easy-to-use set of IPMI server management utilities.\
+It can get/set sensor thresholds, automate SEL management, do SOL console, etc."
+
+DESCRIPTION = "The IPMI Management Utilities currently work with platforms that \
+support the IPMI 1.5 or 2.0 specification. IPMI servers can be managed\
+locally, or remotely via IPMI LAN, even when the OS or main CPU is not\
+functional.\n \
+The ipmiutil utilities will use an IPMI Driver, either the Intel IPMI package \
+(ipmidrvr, /dev/imb), MontaVista OpenIPMI (/dev/ipmi0), the valinux IPMI \
+Driver (/dev/ipmikcs), or the LANDesk ldipmi daemon. The ipmiutil utilities \
+can also use direct user-space I/Os in Linux or FreeBSD if no IPMI driver \
+is detected."
+
+HOMEPAGE = "http://ipmiutil.sourceforge.net"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f9372493401f309e6149dd2ce0a044b"
+
+#PARALLEL_MAKE = ""
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/ipmiutil/ipmiutil-${PV}.tar.gz \
+ file://fix_systemd_path.patch "
+
+SRC_URI[md5sum] = "462087995f05fa9e692ed7f55c840f71"
+SRC_URI[sha256sum] = "884c1f3d8bfb0b33c303973d286c3166f5a537976451a0312e3524af54771519"
+
+inherit autotools-brokensep pkgconfig systemd
+
+PACKAGECONFIG ?= "lanplus gpl"
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
+PACKAGECONFIG[systemd] = "--enable-systemd=${datadir}/${BPN}, --enable-systemd=no"
+PACKAGECONFIG[sha256] = "--enable-sha256, --enable-sha256=no, openssl-native, openssl"
+PACKAGECONFIG[lanplus] = "--enable-lanplus, --enable-lanplus=no, openssl-native, openssl"
+PACKAGECONFIG[landesk] = "--enable-landesk, --enable-landesk=no"
+PACKAGECONFIG[sensors] = "--enable-libsensors, --enable-libsensors=no"
+
+#build with some GPL code
+PACKAGECONFIG[gpl] = "--enable-gpl, --enable-gpl=no"
+#no GPL or LanPlus libs
+PACKAGECONFIG[standalone] = "--enable-standalone, --enable-standalone=no"
+
+CFLAGS += "-I${STAGING_INCDIR}"
+LDFLAGS += "-L${STAGING_LIBDIR}"
+
+do_configure () {
+ aclocal
+ libtoolize --automake --copy --force
+ autoheader
+ automake --foreign --add-missing --copy
+
+ aclocal
+ autoconf
+ automake --foreign
+ ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
+}
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
+
+COMPATABLE_HOST = '(x86_64|i.86).*-linux'