mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-04-02 02:49:12 +00:00
openhpi: add new recipe
OpenHPI is an open source project created with the intent of providing an implementation of the SA Forum's Hardware Platform Interface (HPI). Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
This commit is contained in:
parent
6dce1a2d9c
commit
26c812ece4
@ -0,0 +1,25 @@
|
||||
[PATCH] add libnetsnmp when link
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Roy Li <rongqing.li@windriver.com>
|
||||
---
|
||||
plugins/snmp_bc/t/Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/plugins/snmp_bc/t/Makefile.am b/plugins/snmp_bc/t/Makefile.am
|
||||
index 57e77ac..9894620 100644
|
||||
--- a/plugins/snmp_bc/t/Makefile.am
|
||||
+++ b/plugins/snmp_bc/t/Makefile.am
|
||||
@@ -74,7 +74,7 @@ nodist_libsnmp_bc_la_SOURCES = $(GENERATED_EVENT_CODE) $(REMOTE_SIM_SOURCES)
|
||||
# libopenhpi_la_LIBADD = $(top_builddir)/utils/libopenhpiutils.la
|
||||
# libopenhpi_la_LDFLAGS = -L$(top_builddir)/utils -version-info @HPI_LIB_VERSION@ -export-symbols $(top_srcdir)/src/hpi.sym
|
||||
|
||||
-libsnmp_bc_la_LIBADD = -luuid @SNMPLIBS@ $(top_builddir)/utils/libopenhpiutils.la
|
||||
+libsnmp_bc_la_LIBADD = -luuid @SNMPLIBS@ $(top_builddir)/utils/libopenhpiutils.la -lnetsnmp
|
||||
libsnmp_bc_la_LDFLAGS = -L$(top_builddir)/utils -module -version-info @HPI_LIB_VERSION@
|
||||
# libsnmp_bc_la_LDFLAGS = -version 0:0:0
|
||||
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
@ -0,0 +1,23 @@
|
||||
Fix alignment issue in ipmi_inventory.c
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
|
||||
|
||||
diff --git a/plugins/ipmi/ipmi_inventory.c b/plugins/ipmi/ipmi_inventory.c
|
||||
index 5382186..01655c6 100644
|
||||
--- a/plugins/ipmi/ipmi_inventory.c
|
||||
+++ b/plugins/ipmi/ipmi_inventory.c
|
||||
@@ -2546,8 +2546,11 @@ static SaErrorT modify_inventory(SaHpiIdrFieldT *field,
|
||||
if (tb->DataLength == 0) {
|
||||
rv = ipmi_fru_set_board_info_mfg_time(fru, 0);
|
||||
} else {
|
||||
+ time_t the_time;
|
||||
+ /* tb->Data is not aligned -- copy to temp */
|
||||
+ memcpy(&the_time, tb->Data, sizeof(the_time));
|
||||
rv = ipmi_fru_set_board_info_mfg_time(fru,
|
||||
- *(time_t *)tb->Data);
|
||||
+ the_time);
|
||||
}
|
||||
break;
|
||||
case SAHPI_IDR_FIELDTYPE_MANUFACTURER:
|
||||
@ -0,0 +1,24 @@
|
||||
fix host gcc warnings
|
||||
|
||||
Remove gcc warnings when gcc is v3.2
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index f5a5b74..4a20154 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -605,11 +605,6 @@ AC_ARG_ENABLE([werror],
|
||||
fi],
|
||||
[])
|
||||
|
||||
-if test -n "`gcc --version | grep ' 3.2'`" ; then
|
||||
- CC_WARNINGS=`echo $CC_WARNINGS | sed -e 's/-Wno-strict-aliasing//g'`
|
||||
- CXX_WARNINGS=`echo $CC_WARNINGS | sed -e 's/-Wno-strict-aliasing//g'`
|
||||
-fi
|
||||
-
|
||||
case $host_os in
|
||||
solaris*)
|
||||
CC_WARNINGS=`echo $CC_WARNINGS | sed -e 's/-Wcast-qual//g'`
|
||||
@ -0,0 +1,31 @@
|
||||
Fix for saftest failures.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com>
|
||||
|
||||
diff -urpN a/openhpid/safhpi.c b/openhpid/safhpi.c
|
||||
--- a/openhpid/safhpi.c
|
||||
+++ b/openhpid/safhpi.c
|
||||
@@ -1976,7 +1976,7 @@ SaErrorT SAHPI_API saHpiSensorThresholds
|
||||
oh_release_domain(d); /* Unlock domain */
|
||||
|
||||
OH_CALL_ABI(h, set_sensor_thresholds, SA_ERR_HPI_INVALID_CMD, rv,
|
||||
- ResourceId, SensorNum, SensorThresholds);
|
||||
+ ResourceId, SensorNum, &tmp);
|
||||
oh_release_handler(h);
|
||||
|
||||
return rv;
|
||||
diff -urpN a/utils/sahpi_struct_utils.c b/utils/sahpi_struct_utils.c
|
||||
--- a/utils/sahpi_struct_utils.c
|
||||
+++ b/utils/sahpi_struct_utils.c
|
||||
@@ -3855,6 +3855,9 @@ SaHpiBoolT oh_valid_textbuffer(SaHpiText
|
||||
/* found a unpaired surrogate */
|
||||
return SAHPI_FALSE;
|
||||
}
|
||||
+ } else {
|
||||
+ /*the first 2 bytes wrong*/
|
||||
+ return SAHPI_FALSE;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -0,0 +1,33 @@
|
||||
Fix glib cross compile
|
||||
|
||||
Uses proper PKG_CONFIG_PATH when cross-compiling
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index b5f5aad..f5a5b74 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -110,13 +110,13 @@ else
|
||||
*** GLIB is always available from ftp://ftp.gtk.org/.])
|
||||
fi
|
||||
|
||||
-exact_version=`pkg-config --modversion $GLIB`;
|
||||
-GLIB_CFLAGS=`pkg-config --cflags $GLIB $GTHREAD`
|
||||
-GLIB_LIBS=`pkg-config --libs $GLIB $GTHREAD`
|
||||
-GLIB_ONLY_CFLAGS=`pkg-config --cflags $GLIB`
|
||||
-GLIB_ONLY_LIBS=`pkg-config --libs $GLIB`
|
||||
-GMODULE_ONLY_CFLAGS=`pkg-config --cflags $GMODULE`
|
||||
-GMODULE_ONLY_LIBS=`pkg-config --libs $GMODULE`
|
||||
+exact_version=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --modversion $GLIB`;
|
||||
+GLIB_CFLAGS=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --cflags $GLIB $GTHREAD`
|
||||
+GLIB_LIBS=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --libs $GLIB $GTHREAD`
|
||||
+GLIB_ONLY_CFLAGS=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --cflags $GLIB`
|
||||
+GLIB_ONLY_LIBS=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --libs $GLIB`
|
||||
+GMODULE_ONLY_CFLAGS=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --cflags $GMODULE`
|
||||
+GMODULE_ONLY_LIBS=`PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --libs $GMODULE`
|
||||
|
||||
# On some versions of Solaris the pkg-config file for gthread-2.0 contains a
|
||||
# compiler option, '-mt', that is incompatible with gcc
|
||||
@ -0,0 +1,29 @@
|
||||
commit e9f9a73c9dba8dd59f3d6c3acd9988ec8361d55a
|
||||
Author: Aws Ismail <aws.ismail@windriver.com>
|
||||
Date: Mon Dec 17 16:23:45 2012 -0500
|
||||
|
||||
Correct dangling g_thread_exit in session.c
|
||||
|
||||
hpi_shell's session.c has its progress_bar
|
||||
thread created using pthread_create but
|
||||
exited using g_thread_exit. Use pthread_exit
|
||||
instead to avoid unpredictable GLIB thread
|
||||
errors.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
|
||||
|
||||
diff --git a/hpi_shell/session.c b/hpi_shell/session.c
|
||||
index 85c31bf..187da4c 100644
|
||||
--- a/hpi_shell/session.c
|
||||
+++ b/hpi_shell/session.c
|
||||
@@ -66,7 +66,7 @@ static void* progress_bar(void *unused)
|
||||
if (i < (PROGRESS_BUF_SIZE - mes_len - 1)) i++;
|
||||
t++;
|
||||
};
|
||||
- g_thread_exit(0);
|
||||
+ pthread_exit(0);
|
||||
return (void *)1;
|
||||
}
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
Upstream-Status: Submitted
|
||||
|
||||
Package saftest run a test case to pass invalid session id to function
|
||||
saHpiResourceIdGet that expect return SA_ERR_HPI_INVALID_SESSION. But the check
|
||||
for SA_ERR_HPI_INVALID_SESSION is missed somehow in function saHpiResourceIdGet.
|
||||
|
||||
Add check for SA_ERR_HPI_INVALID_SESSION.
|
||||
|
||||
Signed-off-by: Kai Kang <kai.kang@windriver.com>
|
||||
-----
|
||||
--- openhpi-3.4.0/baselib/safhpi.cpp.orig 2014-02-25 10:45:20.911734868 +0800
|
||||
+++ openhpi-3.4.0/baselib/safhpi.cpp 2014-02-25 10:46:05.366925389 +0800
|
||||
@@ -477,6 +477,8 @@
|
||||
&rpt_update_count );
|
||||
if ( rv == SA_ERR_HPI_NOT_PRESENT ) {
|
||||
return SA_ERR_HPI_NOT_PRESENT;
|
||||
+ } else if ( rv == SA_ERR_HPI_INVALID_SESSION) {
|
||||
+ return SA_ERR_HPI_INVALID_SESSION;
|
||||
} else if ( rv != SA_OK ) {
|
||||
return SA_ERR_HPI_UNKNOWN;
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
Fix libxml2 for cross-compiling
|
||||
|
||||
Use proper XML2_INCLUDE path when cross-compiling
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 30a792c..b5f5aad 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -175,7 +175,7 @@ AC_CHECK_HEADERS([openssl/md2.h openssl/md5.h openssl/bio.h openssl/ssl.h openss
|
||||
|
||||
dnl xml is used for XML-based communication in ilo2_ribcl and oa_soap
|
||||
AC_CHECK_LIB([xml2],[xmlParseMemory],[XML2_LIB=-lxml2],[XML2_LIB=])
|
||||
-AC_CHECK_HEADERS([libxml2/libxml/xmlexports.h],[XML2_INCLUDE="-I/usr/include/libxml2"],[XML2_INCLUDE])
|
||||
+AC_CHECK_HEADERS([libxml2/libxml/xmlexports.h],[XML2_INCLUDE="$XML2_INCLUDE"],[XML2_INCLUDE])
|
||||
AC_SUBST(XML2_LIB)
|
||||
AC_SUBST(XML2_INCLUDE)
|
||||
|
||||
@ -0,0 +1,33 @@
|
||||
Fix ipmi plugin's test dir compilation
|
||||
|
||||
The ipmi plugin's test dir is not included
|
||||
in compilation since it does not compile
|
||||
properly with SSL
|
||||
|
||||
Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
|
||||
---
|
||||
plugins/ipmi/Makefile.in | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/plugins/ipmi/Makefile.in b/plugins/ipmi/Makefile.in
|
||||
index 7c6b0a4..6204dbe 100644
|
||||
--- a/plugins/ipmi/Makefile.in
|
||||
+++ b/plugins/ipmi/Makefile.in
|
||||
@@ -448,7 +448,9 @@ top_srcdir = @top_srcdir@
|
||||
MAINTAINERCLEANFILES = Makefile.in
|
||||
AM_CPPFLAGS = -DG_LOG_DOMAIN=\"ipmi\" @OPENHPI_INCLUDES@
|
||||
EXTRA_DIST = ipmi.sym ekeyfru.h
|
||||
-SUBDIRS = t
|
||||
+#SUBDIRS = t
|
||||
+#Tests don't compile wih SSL properly so comment them out
|
||||
+SUBDIRS =
|
||||
AM_CFLAGS = @OPENIPMI_CFLAGS@
|
||||
pkglib_LTLIBRARIES = libipmi.la
|
||||
libipmi_la_SOURCES = ipmi.c \
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@ -0,0 +1,48 @@
|
||||
Fix net-snmp when cross-compiling
|
||||
|
||||
Remove irrelevant references to net-snmp libs and flags
|
||||
when cross-compiling net-snmp
|
||||
|
||||
Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
|
||||
---
|
||||
acinclude.m4 | 4 ++--
|
||||
configure | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/acinclude.m4 b/acinclude.m4
|
||||
index 82c33f6..727e461 100644
|
||||
--- a/acinclude.m4
|
||||
+++ b/acinclude.m4
|
||||
@@ -160,8 +160,8 @@ AC_DEFUN([OH_CHECK_NETSNMP],
|
||||
],
|
||||
[
|
||||
have_netsnmp=yes
|
||||
- SNMPFLAGS=`${net_snmp_config:-net-snmp-config} --cflags | perl -p -e 's/-O\S*//g'`
|
||||
- SNMPLIBS=`${net_snmp_config:-net-snmp-config} --libs`
|
||||
+ SNMPFLAGS=""
|
||||
+ SNMPLIBS=""
|
||||
AC_MSG_RESULT(yes)
|
||||
],
|
||||
[AC_MSG_RESULT(no. No SNMP based plugins can be built!)])
|
||||
diff --git a/configure b/configure
|
||||
index 00067bc..36b913c 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -15949,8 +15949,8 @@ _ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
|
||||
have_netsnmp=yes
|
||||
- SNMPFLAGS=`${net_snmp_config:-net-snmp-config} --cflags | perl -p -e 's/-O\S*//g'`
|
||||
- SNMPLIBS=`${net_snmp_config:-net-snmp-config} --libs`
|
||||
+ SNMPFLAGS=""
|
||||
+ SNMPLIBS=""
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@ -0,0 +1,23 @@
|
||||
Fix sysfs when cross-compiling
|
||||
|
||||
Use proper paths for sysfs plugins when cross-compiling
|
||||
|
||||
Signed-of-by: Aws Ismail <aws.ismail@windriver.com>
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
|
||||
|
||||
diff --git a/plugins/sysfs/sysfs2hpi.c b/plugins/sysfs/sysfs2hpi.c
|
||||
index a745214..3685598 100644
|
||||
--- a/plugins/sysfs/sysfs2hpi.c
|
||||
+++ b/plugins/sysfs/sysfs2hpi.c
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
-#include <libsysfs.h>
|
||||
+#include <sysfs/libsysfs.h>
|
||||
|
||||
#include <SaHpi.h>
|
||||
#include <oh_utils.h>
|
||||
@ -0,0 +1,31 @@
|
||||
From 36fbaa27e7299f63c1324b0ad22b970e9365d6a7 Mon Sep 17 00:00:00 2001
|
||||
From: Jackie Huang <jackie.huang@windriver.com>
|
||||
Date: Wed, 24 Dec 2014 10:54:59 +0800
|
||||
Subject: [PATCH] openhpi: use serial-tests config needed by ptest
|
||||
|
||||
ptest needs buildtest-TESTS and runtest-TESTS targets.
|
||||
serial-tests is required to generate those targets.
|
||||
|
||||
Upstream-Status: Inappropriate [default automake behavior incompatible with ptest]
|
||||
|
||||
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 4b51971..16136b3 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -7,7 +7,7 @@ dnl various hacks by Sean Dague <http://dague.net/sean> 4/23/03
|
||||
AC_PREREQ(2.57)
|
||||
AC_INIT(openhpi, 3.5.0)
|
||||
AC_CONFIG_SRCDIR(openhpi.spec.in)
|
||||
-AM_INIT_AUTOMAKE([1.8])
|
||||
+AM_INIT_AUTOMAKE([1.8 serial-tests])
|
||||
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
AH_TOP([#ifndef __OPENHPI_CONFIG_H
|
||||
--
|
||||
1.7.1
|
||||
|
||||
230
meta-networking/recipes-daemons/openhpi/files/openhpi.init
Executable file
230
meta-networking/recipes-daemons/openhpi/files/openhpi.init
Executable file
@ -0,0 +1,230 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: openhpid
|
||||
# Required-Start: $network $remote_fs $syslog
|
||||
# Required-Stop: $network $remote_fs $syslog
|
||||
# Should-Start: $named
|
||||
# Should-Stop: $named
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Start OpenHPI daemon at boot time
|
||||
# Description: Enable OpenHPI service which is provided by openhpid.
|
||||
### END INIT INFO
|
||||
#
|
||||
# openhpid.sh Start/Stop the openhpi daemon.
|
||||
#
|
||||
# description: openhpid is standard UNIX program which uses the OpenHPI \
|
||||
# APIs and provides a standard internet server to access those \
|
||||
# APIs for client programs.
|
||||
# processname: openhpid
|
||||
# config: the standard openhpi conf file specified on the command line or the env.
|
||||
# pidfile: /var/run/openhpid.pid
|
||||
#
|
||||
# Author(s):
|
||||
# W. David Ashley <dashley@us.ibm.com>
|
||||
# Daniel de Araujo <ddearauj@us.ibm.com>
|
||||
|
||||
# Source function library.
|
||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
||||
prog="OpenHPI"
|
||||
|
||||
# If the openhpid executable is not available, we can't do any of this
|
||||
test -f /usr/sbin/openhpid || exit 0
|
||||
|
||||
# Determine whether the lsb package is installed
|
||||
# If it is, determine which lsb is installed:
|
||||
# redhat, suse, or standard lsb
|
||||
|
||||
if test -f /etc/init.d/functions
|
||||
then
|
||||
lsbtype="rh"
|
||||
. /etc/init.d/functions
|
||||
elif test -f /etc/rc.status
|
||||
then
|
||||
lsbtype="suse"
|
||||
. /etc/rc.status
|
||||
elif test -f /lib/lsb/init-functions
|
||||
then
|
||||
lsbtype="lsb"
|
||||
. /lib/lsb/init-functions
|
||||
elif test -f /etc/gentoo-release
|
||||
then
|
||||
lsbtype="gentoo"
|
||||
. /sbin/functions.sh
|
||||
else
|
||||
lsbtype="nolsb"
|
||||
fi
|
||||
|
||||
print_outcome()
|
||||
{
|
||||
|
||||
case "${lsbtype}" in
|
||||
|
||||
suse)
|
||||
rc_status -v
|
||||
;;
|
||||
|
||||
lsb)
|
||||
if test "$?" -eq 0
|
||||
then
|
||||
log_success_msg "success"
|
||||
else
|
||||
log_failure_msg "failed"
|
||||
fi
|
||||
;;
|
||||
|
||||
gentoo)
|
||||
eend $?
|
||||
;;
|
||||
|
||||
nolsb | rh)
|
||||
if test "$?" -eq 0
|
||||
then
|
||||
echo " ... success"
|
||||
fi
|
||||
if test "$?" -ne 0
|
||||
then
|
||||
echo " ... failed"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
start() {
|
||||
case "${lsbtype}" in
|
||||
|
||||
suse)
|
||||
echo -n "Starting $prog: "
|
||||
startproc /usr/sbin/openhpid -c /etc/openhpi/openhpi.conf
|
||||
RETVAL=$?
|
||||
;;
|
||||
lsb)
|
||||
echo -n "Starting $prog: "
|
||||
start_daemon /usr/sbin/openhpid -c /etc/openhpi/openhpi.conf
|
||||
RETVAL=$?
|
||||
;;
|
||||
gentoo | rh)
|
||||
echo "Starting $prog: "
|
||||
start-stop-daemon --start --quiet --exec /usr/sbin/openhpid -- -c /etc/openhpi/openhpi.conf
|
||||
RETVAL=$?
|
||||
;;
|
||||
nolsb)
|
||||
echo -n "Starting $prog: "
|
||||
/usr/sbin/openhpid -c /etc/openhpi/openhpi.conf
|
||||
RETVAL=$?
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
print_outcome
|
||||
|
||||
}
|
||||
|
||||
stop() {
|
||||
case "${lsbtype}" in
|
||||
|
||||
lsb | suse)
|
||||
echo -n "Stopping $prog: "
|
||||
killproc /usr/sbin/openhpid
|
||||
RETVAL=$?
|
||||
;;
|
||||
|
||||
gentoo)
|
||||
echo "Stopping $prog: "
|
||||
start-stop-daemon --stop --quiet --exec /usr/sbin/openhpid
|
||||
RETVAL=$?
|
||||
;;
|
||||
|
||||
nolsb | rh)
|
||||
echo -n "Stopping $prog: "
|
||||
if test -f /var/run/openhpid.pid && test "`cat /var/run/openhpid.pid`" != ""
|
||||
then
|
||||
kill "`cat /var/run/openhpid.pid`"
|
||||
RETVAL=$?
|
||||
else
|
||||
RETVAL=0
|
||||
fi
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
print_outcome
|
||||
|
||||
if test "$RETVAL" -eq 0 && test -f /var/run/openhpid.pid
|
||||
then
|
||||
rm -f /var/lock/openhpid
|
||||
rm -f /var/run/openhpid.pid
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
dstatus() {
|
||||
echo "Checking for $prog daemon: "
|
||||
|
||||
case "${lsbtype}" in
|
||||
|
||||
suse)
|
||||
checkproc /usr/sbin/openhpid
|
||||
rc_status -v
|
||||
;;
|
||||
lsb)
|
||||
pid="`pidofproc /usr/sbin/openhpid`"
|
||||
if test "${pid}" != ""
|
||||
then
|
||||
log_success_msg "$prog is running"
|
||||
else
|
||||
log_success_msg "$prog is not running"
|
||||
fi
|
||||
;;
|
||||
gentoo | nolsb | rh)
|
||||
if test -f /var/run/openhpid.pid &&
|
||||
test "`cat /var/run/openhpid.pid`" != "" &&
|
||||
kill -s 0 "`cat /var/run/openhpid.pid`"
|
||||
then
|
||||
echo "$prog is running"
|
||||
else
|
||||
echo "$prog is not running"
|
||||
fi
|
||||
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
force_reload() {
|
||||
# We don't currently support a reload, but can do a restart
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
# See how we were called.
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
status)
|
||||
dstatus
|
||||
;;
|
||||
force-reload)
|
||||
force_reload
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|status|force-reload}"
|
||||
exit 1
|
||||
esac
|
||||
@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Daemon providing access to the SAF Hardware Platform Interface
|
||||
After=syslog.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/var/run/openhpid.pid
|
||||
ExecStart=@SBINDIR@/openhpid -c @SYSCONFDIR@/openhpi/openhpi.conf
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
5
meta-networking/recipes-daemons/openhpi/files/run-ptest
Executable file
5
meta-networking/recipes-daemons/openhpi/files/run-ptest
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
for x in `find ./ -name Makefile`;
|
||||
do
|
||||
make -C `dirname ${x}` -k runtest-TESTS
|
||||
done
|
||||
109
meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb
Normal file
109
meta-networking/recipes-daemons/openhpi/openhpi_3.6.1.bb
Normal file
@ -0,0 +1,109 @@
|
||||
SUMMARY = "Hardware Platform Interface Library and Tools"
|
||||
|
||||
DESCRIPTION = "\
|
||||
OpenHPI is an open source project created with the intent of providing an \
|
||||
implementation of the SA Forum's Hardware Platform Interface (HPI). HPI \
|
||||
provides an abstracted interface to managing computer hardware, typically for \
|
||||
chassis and rack based servers. HPI includes resource modeling; access to and \
|
||||
control over sensor, control, watchdog, and inventory data associated with \
|
||||
resources; abstracted System Event Log interfaces; hardware events and alerts; \
|
||||
and a managed hotswap interface. \
|
||||
\
|
||||
OpenHPI provides a modular mechanism for adding new hardware and device support \
|
||||
easily. Many plugins exist in the OpenHPI source tree to provide access to \
|
||||
various types of hardware. This includes, but is not limited to, IPMI based \
|
||||
servers, Blade Center, and machines which export data via sysfs. \
|
||||
"
|
||||
|
||||
HOMEPAGE = "http://openhpi.sourceforge.net/Home"
|
||||
SECTION = "net"
|
||||
LICENSE = "BSD"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=e3c772a32386888ccb5ae1c0ba95f1a4"
|
||||
|
||||
DEPENDS = "net-snmp libxml2 ncurses openssl glib-2.0 popt e2fsprogs"
|
||||
|
||||
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
|
||||
file://openhpi-netsnmp-cross-compile.patch \
|
||||
file://openhpi-sysfs-cross-compile.patch \
|
||||
file://openhpi-libxml2-cross-compile.patch \
|
||||
file://openhpi-glib-cross-compile.patch \
|
||||
file://openhpi-linkfix.patch \
|
||||
file://openhpi-fix-host-gcc.patch \
|
||||
file://openhpi-hpi-shell-thread-fix.patch \
|
||||
file://openhpi-fix-testfail-errors.patch \
|
||||
file://openhpi-add-libnetsnmp-when-link.patch \
|
||||
file://openhpi-invalide-session.patch \
|
||||
file://openhpi-use-serial-tests-config-needed-by-ptest.patch \
|
||||
file://openhpi-fix-alignment-issue.patch \
|
||||
\
|
||||
file://openhpi.init \
|
||||
file://openhpid.service \
|
||||
file://run-ptest \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "4718b16e0f749b5ad214a9b04f45dd23"
|
||||
SRC_URI[sha256sum] = "e0a810cb401c4bdcfc9551f2e6afd5a8ca4b411f5ee3bc60c19f82fd6e84a3dc"
|
||||
|
||||
inherit autotools pkgconfig ptest update-rc.d systemd
|
||||
|
||||
PACKAGES =+ "${PN}-libs"
|
||||
|
||||
FILES_${PN}-libs = "${libdir}/${BPN}/*.so /usr/lib/${BPN}/*.so"
|
||||
|
||||
INSANE_SKIP_${PN}-libs = "dev-so"
|
||||
RDEPENDS_${PN} += "${PN}-libs"
|
||||
|
||||
PACKAGECONFIG ??= "libgcrypt"
|
||||
PACKAGECONFIG[sysfs] = "--enable-sysfs,--disable-sysfs,sysfsutils,"
|
||||
PACKAGECONFIG[libgcrypt] = "--enable-encryption,--disable-encryption,libgcrypt,"
|
||||
|
||||
do_install_append () {
|
||||
install -m 0755 -d ${D}${sysconfdir}/${BPN}
|
||||
install -m 0755 ${S}/openhpiclient.conf.example ${D}${sysconfdir}/${BPN}/openhpiclient.conf
|
||||
install -m 0700 ${S}/openhpi.conf.example ${D}${sysconfdir}/${BPN}/openhpi.conf
|
||||
install -m 0755 ${S}/simulation.data.example ${D}${sysconfdir}/${BPN}/simulation.data
|
||||
install -m 0755 ${S}/test_agent.data.example ${D}${sysconfdir}/${BPN}/test_agent.data
|
||||
install -m 0755 ${WORKDIR}/openhpi.init ${D}${sysconfdir}/init.d/openhpid
|
||||
|
||||
install -d ${D}${systemd_unitdir}/system
|
||||
install -m 0644 ${WORKDIR}/openhpid.service ${D}${systemd_unitdir}/system
|
||||
sed -i -e "s,@SBINDIR@,${sbindir},g" -e "s,@SYSCONFDIR@,${sysconfdir},g" \
|
||||
${D}${systemd_unitdir}/system/openhpid.service
|
||||
}
|
||||
|
||||
do_compile_ptest () {
|
||||
for x in `find ${B} -name Makefile -exec grep -l buildtest-TESTS {} \;`; do
|
||||
dir=`dirname ${x}`
|
||||
upper=`dirname ${dir}`
|
||||
if [ `basename ${upper}` != "cpp" ]; then
|
||||
oe_runmake -C ${dir} buildtest-TESTS
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
do_install_ptest () {
|
||||
cp -rf ${B}/openhpid/t/ohpi/.libs/* ${B}/openhpid/t/ohpi/
|
||||
TESTS="utils marshal openhpid"
|
||||
for subtest in ${TESTS}; do
|
||||
mkdir -p ${D}${PTEST_PATH}/${subtest}/t
|
||||
cp -rf ${B}/${subtest}/t/* ${D}${PTEST_PATH}/${subtest}/t
|
||||
done
|
||||
|
||||
for x in `find ${D}${PTEST_PATH} -name Makefile`; do
|
||||
sed -i "s:${S}:${PTEST_PATH}/:g" ${x};
|
||||
sed -i "s/^Makefile:/MM:/g" ${x};
|
||||
done;
|
||||
|
||||
mkdir -p ${D}${PTEST_PATH}/plugins/watchdog/
|
||||
cp -L ${D}/${libdir}/${BPN}/libwatchdog.so ${D}${PTEST_PATH}/plugins/watchdog/
|
||||
cp -L ${D}/${libdir}/${BPN}/libsimulator.so ${D}${PTEST_PATH}/plugins/watchdog/
|
||||
find ${D}${PTEST_PATH}/ -name "*.c" -exec rm {} \;
|
||||
find ${D}${PTEST_PATH}/ -name "*.o" -exec rm {} \;
|
||||
find ${D}${PTEST_PATH}/ -name "*.h" -exec rm {} \;
|
||||
}
|
||||
|
||||
INITSCRIPT_NAME = "openhpid"
|
||||
INITSCRIPT_PARAMS = "start 30 . stop 70 0 1 2 3 4 5 6 ."
|
||||
|
||||
SYSTEMD_SERVICE_${PN} = "openhpid.service"
|
||||
SYSTEMD_AUTO_ENABLE = "disable"
|
||||
Loading…
x
Reference in New Issue
Block a user