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>
This commit is contained in:
Kai Kang
2015-12-04 15:09:16 +08:00
committed by Martin Jansa
parent 906cb0dcf0
commit e91bab3746
3 changed files with 60 additions and 11 deletions
@@ -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
@@ -0,0 +1,3 @@
#!/bin/sh
make -C tests test
+21 -11
View File
@@ -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." and should run on all Linux systems that need error handling."
HOMEPAGE = "http://mcelog.org/" HOMEPAGE = "http://mcelog.org/"
SECTION = "System Environment/Base" 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" SRCREV = "0fc9f702232cb2d9969916f899c67c3e64deedda"
LICENSE = "GPLv2" LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://README;md5=3eb76ca64fa07ad53ebb0ebb5b4c8ede" LIC_FILES_CHKSUM = "file://README;md5=3eb76ca64fa07ad53ebb0ebb5b4c8ede"
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
do_install() { inherit autotools-brokensep ptest
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/
}
COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' 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"