From 456eb95308e5c79209bf75acb7e064b37670f46b Mon Sep 17 00:00:00 2001 From: Kai Kang Date: Fri, 4 Dec 2015 15:09:16 +0800 Subject: 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 Signed-off-by: Martin Jansa Signed-off-by: Armin Kuster --- .../mcelog/mcelog/mcelog-debash.patch | 36 ++++++++++++++++++++++ meta-oe/recipes-support/mcelog/mcelog/run-ptest | 3 ++ meta-oe/recipes-support/mcelog/mcelog_1.09.bb | 32 ++++++++++++------- 3 files changed, 60 insertions(+), 11 deletions(-) create mode 100644 meta-oe/recipes-support/mcelog/mcelog/mcelog-debash.patch create mode 100644 meta-oe/recipes-support/mcelog/mcelog/run-ptest 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 +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 +--- + 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" -- cgit 1.2.3-korg