mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-26 07:37:14 +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:
committed by
Joe MacDonald
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>
|
||||||
+31
@@ -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
@@ -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
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
for x in `find ./ -name Makefile`;
|
||||||
|
do
|
||||||
|
make -C `dirname ${x}` -k runtest-TESTS
|
||||||
|
done
|
||||||
@@ -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"
|
||||||
Reference in New Issue
Block a user