aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend2
-rw-r--r--meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-Fix-system-header-includes.patch44
-rw-r--r--meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/init43
-rw-r--r--meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/rasdaemon.service12
-rw-r--r--meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.5.bb55
5 files changed, 155 insertions, 1 deletions
diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
index 69bc788a86f..2aee5975d7b 100644
--- a/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
+++ b/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
@@ -1 +1 @@
-RDEPENDS_packagegroup-meta-oe-support += "debsums"
+RDEPENDS_packagegroup-meta-oe-support += "debsums rasdaemon"
diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-Fix-system-header-includes.patch b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-Fix-system-header-includes.patch
new file mode 100644
index 00000000000..01643213124
--- /dev/null
+++ b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-Fix-system-header-includes.patch
@@ -0,0 +1,44 @@
+From 18786db1ad03716267927d983c83275469a1478a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 8 May 2020 12:27:19 -0700
+Subject: [PATCH] Fix system header includes
+
+Use poll.h instead of sys/poll.h
+Fixes
+warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
+
+Include limits.h for PATH_MAX
+
+Fixes
+ras-events.c:359:16: error: 'PATH_MAX' undeclared (first use in this function)
+ 359 | char pipe_raw[PATH_MAX];
+ | ^~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ras-events.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/ras-events.c b/ras-events.c
+index 511c93d..400e740 100644
+--- a/ras-events.c
++++ b/ras-events.c
+@@ -18,13 +18,14 @@
+ #include <dirent.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <limits.h>
++#include <poll.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+-#include <sys/poll.h>
+ #include <signal.h>
+ #include <sys/signalfd.h>
+ #include "libtrace/kbuffer.h"
+--
+2.26.2
+
diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/init b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/init
new file mode 100644
index 00000000000..216677e73e4
--- /dev/null
+++ b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/init
@@ -0,0 +1,43 @@
+#! /bin/sh
+# /etc/init.d/rasdaemon: start rasdaemon service
+
+. /etc/init.d/functions
+
+# Defaults
+PIDFILE=/var/run/rasdaemon.pid
+BINFILE=/usr/sbin/rasdaemon
+SCRIPTNAME=/etc/init.d/rasdaemon
+
+[ -x $BINFILE ] || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting RASdaemon services: "
+ if [ ! -f "$PIDFILE" ]; then
+ start-stop-daemon --start --quiet --exec $BINFILE -- --enable &> /dev/null
+ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $BINFILE -- --record
+ pidof $BINFILE > $PIDFILE
+ fi
+ [ -f $PIDFILE ] && echo "done." || echo "fail."
+ ;;
+ stop)
+ echo -n "Stopping RASdaemon services: "
+ if [ -f "$PIDFILE" ] ; then
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $BINFILE -- --disable &> /dev/null
+ killproc $BINFILE
+ rm $PIDFILE
+ fi
+ [ ! -f $PIDFILE ] && echo "done." || echo "fail."
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ status)
+ status $BINFILE
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|restart|status}"
+ exit 1
+esac
diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/rasdaemon.service b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/rasdaemon.service
new file mode 100644
index 00000000000..4fbf23142a7
--- /dev/null
+++ b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/rasdaemon.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=RAS daemon to log the RAS events
+After=syslog.target
+
+[Service]
+ExecStart=/usr/sbin/rasdaemon -f -r
+ExecStartPost=/usr/sbin/rasdaemon --enable
+ExecStop=/usr/sbin/rasdaemon --disable
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.5.bb b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.5.bb
new file mode 100644
index 00000000000..93f624882d0
--- /dev/null
+++ b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.5.bb
@@ -0,0 +1,55 @@
+DESCRIPTION = "Tools to provide a way to get Platform Reliability, Availability and Serviceability (RAS) reports made via the Kernel tracing events"
+HOMEPAGE = "http://git.infradead.org/users/mchehab/rasdaemon.git"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d3070efe0afa3dc41608bd82c00bb0dc"
+
+SRC_URI = "git://git.infradead.org/users/mchehab/rasdaemon.git;branch=master \
+ file://0001-Fix-system-header-includes.patch \
+ file://rasdaemon.service \
+ file://init"
+
+SRCREV = "25533c0c55426eeb2ad25dcbdb2b5e4ba4e83d80"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS_${BPN} = "perl perl-module-file-basename perl-module-file-find perl-module-file-spec perl-module-getopt-long \
+ perl-module-posix perl-module-file-glob libdbi-perl libdbd-sqlite-perl"
+
+inherit autotools pkgconfig update-rc.d systemd
+
+PACKAGECONFIG ??= "sqlite3 mce aer extlog devlink diskerror"
+PACKAGECONFIG[sqlite3] = "--enable-sqlite3,--disable-sqlite3,sqlite3"
+PACKAGECONFIG[mce] = "--enable-mce,--disable-mce"
+PACKAGECONFIG[aer] = "--enable-aer,--disable-aer"
+PACKAGECONFIG[extlog] = "--enable-extlog,--disable-extlog"
+PACKAGECONFIG[devlink] = "--enable-devlink,--disable-devlink"
+PACKAGECONFIG[diskerror] = "--enable-diskerror,--disable-diskerror"
+PACKAGECONFIG[arm] = "--enable-arm,--disable-arm"
+PACKAGECONFIG[hisi-ns-decode] = "--enable-hisi-ns-decode,--disable-hisi-ns-decode"
+PACKAGECONFIG[non-standard] = "--enable-non-standard,--disable-non-standard"
+PACKAGECONFIG[abrt-report] = "--enable-abrt-report,--disable-abrt-report"
+
+DEPENDS_append_libc-musl = " argp-standalone"
+LDFLAGS_append_libc-musl = " -largp"
+
+do_configure_prepend () {
+ ( cd ${S}; autoreconf -vfi )
+}
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rasdaemon
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/rasdaemon.service ${D}${systemd_unitdir}/system
+}
+
+FILES_${PN} += "${sbindir}/rasdaemon \
+ ${sysconfdir}/init.d \
+ ${systemd_unitdir}/system/rasdaemon.service"
+
+SYSTEMD_SERVICE_${PN} = "rasdaemon.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "rasdaemon"
+INITSCRIPT_PARAMS_${PN} = "defaults 89"