aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Kang <kai.kang@windriver.com>2015-12-04 15:09:16 +0800
committerArmin Kuster <akuster808@gmail.com>2015-12-20 14:27:21 -0800
commit456eb95308e5c79209bf75acb7e064b37670f46b (patch)
treee489bcbc632ea6eea739f3d2d696a837662beadf
parentc9b4fcea6fec17db4d4c7c1394a4d9168c946384 (diff)
downloadmeta-openembedded-contrib-456eb95308e5c79209bf75acb7e064b37670f46b.tar.gz
mcelog: remove bashism and create ptest subpackage
Create ptest subpackage. Add a patch to remove bashism and then only ptest package depends on bash. Inherit autotools-brokensep and re-write do_install as well. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta-oe/recipes-support/mcelog/mcelog/mcelog-debash.patch36
-rw-r--r--meta-oe/recipes-support/mcelog/mcelog/run-ptest3
-rw-r--r--meta-oe/recipes-support/mcelog/mcelog_1.09.bb32
3 files changed, 60 insertions, 11 deletions
diff --git a/meta-oe/recipes-support/mcelog/mcelog/mcelog-debash.patch b/meta-oe/recipes-support/mcelog/mcelog/mcelog-debash.patch
new file mode 100644
index 0000000000..bea2f6293c
--- /dev/null
+++ b/meta-oe/recipes-support/mcelog/mcelog/mcelog-debash.patch
@@ -0,0 +1,36 @@
+From 8f57d35747a3b3fabc33466563077373090f869c Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Tue, 2 Sep 2014 07:05:15 -0700
+Subject: [PATCH] cache-error-trigger: remove bashism
+
+Use "$(cat $F)" to instead of "$(< $F)" to debash.
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ triggers/cache-error-trigger | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/triggers/cache-error-trigger b/triggers/cache-error-trigger
+index e32bfd6..785526f 100755
+--- a/triggers/cache-error-trigger
++++ b/triggers/cache-error-trigger
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # cache error trigger. This shell script is executed by mcelog in daemon mode
+ # when a CPU reports excessive corrected cache errors. This could be a indication
+ # for future uncorrected errors.
+@@ -28,7 +28,7 @@ for i in $AFFECTED_CPUS ; do
+ logger -s -p daemon.crit -t mcelog "Offlining CPU $i due to cache error threshold"
+ F=$(printf "/sys/devices/system/cpu/cpu%d/online" $i)
+ echo 0 > $F
+- if [ "$(< $F)" != "0" ] ; then
++ if [ "$(cat $F)" != "0" ] ; then
+ logger -s -p daemon.warn -t mcelog "Offlining CPU $i failed"
+ EXIT=1
+ fi
+--
+1.7.9.5
+
diff --git a/meta-oe/recipes-support/mcelog/mcelog/run-ptest b/meta-oe/recipes-support/mcelog/mcelog/run-ptest
new file mode 100644
index 0000000000..ba7a2c7683
--- /dev/null
+++ b/meta-oe/recipes-support/mcelog/mcelog/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+make -C tests test
diff --git a/meta-oe/recipes-support/mcelog/mcelog_1.09.bb b/meta-oe/recipes-support/mcelog/mcelog_1.09.bb
index 34ff643a56..542b2ba19a 100644
--- a/meta-oe/recipes-support/mcelog/mcelog_1.09.bb
+++ b/meta-oe/recipes-support/mcelog/mcelog_1.09.bb
@@ -4,23 +4,33 @@ and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks
and should run on all Linux systems that need error handling."
HOMEPAGE = "http://mcelog.org/"
SECTION = "System Environment/Base"
-DEPENDS += "bash"
-SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git"
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git \
+ file://mcelog-debash.patch \
+ file://run-ptest \
+"
+
SRCREV = "0fc9f702232cb2d9969916f899c67c3e64deedda"
+
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://README;md5=3eb76ca64fa07ad53ebb0ebb5b4c8ede"
S = "${WORKDIR}/git"
-do_install() {
- install -d ${D}/${sbindir}
- install -m 0755 ${S}/mcelog ${D}/${sbindir}
- install -d ${D}/${mandir}/man8
- install -m 0644 ${S}/mcelog.8 ${D}/${mandir}/man8/
- install -d ${D}/etc/cron.hourly
- install -m 0755 ${S}/mcelog.cron ${D}/etc/cron.hourly/
-}
+inherit autotools-brokensep ptest
COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
-RDEPENDS_${PN} = "bash"
+do_install_append() {
+ install -d ${D}${sysconfdir}/cron.hourly
+ install -m 0755 ${S}/mcelog.cron ${D}${sysconfdir}/cron.hourly/
+ sed -i 's/bash/sh/' ${D}${sysconfdir}/cron.hourly/mcelog.cron
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}
+ cp -r ${S}/tests ${S}/input ${D}${PTEST_PATH}
+ sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test
+}
+
+RDEPENDS_${PN}-ptest += "${PN} make bash mce-inject"