blob: 9b5c554d8685be9875ba23154be8edffed978c0d [file] [log] [blame]
Andrew Geissler9aee5002022-03-30 16:27:02 +00001SUMMARY = "mcelog daemon accounts memory and some other errors in various ways."
2DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \
3and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks \
4and should run on all Linux systems that need error handling."
5HOMEPAGE = "https://mcelog.org/"
6SECTION = "System Environment/Base"
7
Patrick Williams45852732022-04-02 08:58:32 -05008SRC_URI = "\
9 git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git;protocol=http;;branch=master \
Andrew Geissler87f5cff2022-09-30 13:13:31 -050010 file://0001-client-Include-string.h-form-mem-function-prototypes.patch \
Andrew Geissler9aee5002022-03-30 16:27:02 +000011 file://run-ptest \
Andrew Geissler9aee5002022-03-30 16:27:02 +000012"
13
Patrick Williamse760df82023-05-26 11:10:49 -050014SRCREV = "8f33fdc47160edce09d75e1316b4d88129ca60a0"
Andrew Geissler9aee5002022-03-30 16:27:02 +000015
16LICENSE = "GPL-2.0-only"
17LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
18
19S = "${WORKDIR}/git"
20
Patrick Williamse760df82023-05-26 11:10:49 -050021inherit ptest
Andrew Geissler9aee5002022-03-30 16:27:02 +000022
23COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
24
Patrick Williamse760df82023-05-26 11:10:49 -050025EXTRA_OEMAKE += "CFLAGS='${CFLAGS}'"
26
27do_compile() {
28 oe_runmake
29}
30
31do_install() {
32 oe_runmake install DESTDIR=${D}
Andrew Geissler9aee5002022-03-30 16:27:02 +000033 install -d ${D}${sysconfdir}/cron.hourly
34 install -m 0755 ${S}/mcelog.cron ${D}${sysconfdir}/cron.hourly/
35 sed -i 's/bash/sh/' ${D}${sysconfdir}/cron.hourly/mcelog.cron
36}
37
38do_install_ptest() {
39 install -d ${D}${PTEST_PATH}
40 cp -r ${S}/tests ${S}/input ${D}${PTEST_PATH}
41 sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test
42}
43
44RDEPENDS:${PN}-ptest += "make bash mce-inject"