diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-kernel/minicoredumper')
5 files changed, 157 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-fix-compile-error-on-arch-x32.patch b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-fix-compile-error-on-arch-x32.patch new file mode 100644 index 000000000..6ba6ad481 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-fix-compile-error-on-arch-x32.patch @@ -0,0 +1,32 @@ +From 883f53ee33eaef8aca1288a110857402ad362966 Mon Sep 17 00:00:00 2001 +From: John Ogness <john.ogness@linutronix.de> +Date: Fri, 8 Sep 2017 15:03:03 -0700 +Subject: [PATCH] fix compile error on arch=x32 + +On the x32 architecture time_t is a "long long int". By + typecasting time_t to "long long", this should work correctly + for all architectures. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + src/minicoredumper/corestripper.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/minicoredumper/corestripper.c b/src/minicoredumper/corestripper.c +index fd39bfb..07dc318 100644 +--- a/src/minicoredumper/corestripper.c ++++ b/src/minicoredumper/corestripper.c +@@ -1241,7 +1241,7 @@ static int dump_compressed_tar(struct dump_info *di) + snprintf(hdr.mode, sizeof(hdr.mode), "%07o", 0644); + snprintf(hdr.uid, sizeof(hdr.uid), "%07o", 0); + snprintf(hdr.gid, sizeof(hdr.gid), "%07o", 0); +- snprintf(hdr.mtime, sizeof(hdr.mtime), "%011lo", ++ snprintf(hdr.mtime, sizeof(hdr.mtime), "%011llo", + (long long)time(NULL)); + memset(hdr.checksum, ' ', sizeof(hdr.checksum)); + hdr.type = 'S'; +-- +2.14.1 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch new file mode 100644 index 000000000..ad255fae0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch @@ -0,0 +1,29 @@ +From 6181d9c3c407ee030b4c3a94045318b9e3a3cc89 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 25 Jul 2017 14:08:54 -0700 +Subject: [PATCH] minicoredumper: Initialize pointer to config struct to null + +Fixes +corestripper.c:3632:13: error: variable 'cfg' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/minicoredumper/corestripper.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/minicoredumper/corestripper.c b/src/minicoredumper/corestripper.c +index a764073..ddb0d25 100644 +--- a/src/minicoredumper/corestripper.c ++++ b/src/minicoredumper/corestripper.c +@@ -3605,7 +3605,7 @@ out: + + static int do_all_dumps(struct dump_info *di, int argc, char *argv[]) + { +- struct config *cfg; ++ struct config *cfg = 0; + const char *recept; + bool live_dumper; + char *comm_base; +-- +2.13.3 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.init b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.init new file mode 100644 index 000000000..9c96e3156 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.init @@ -0,0 +1,40 @@ +#!/bin/sh +# +# minicoredumper This shell script takes care of starting and stopping minicoredumper. +# +# chkconfig: 2345 24 89 +# description: minicoredumper. +# +# processname: +# config: /etc/minicoredumper/ + +### BEGIN INIT INFO +# Provides: minicoredumper +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Should-Start: $syslog $network +# Should-Stop: $syslog $network +# Short-Description: +# Description: +### END INIT INFO + +. /etc/init.d/functions + +case "$1" in + start) + echo "|/usr/sbin/minicoredumper %p %u %g %s %t %h %e" > /proc/sys/kernel/core_pattern + ;; + stop) + echo "core" > /proc/sys/kernel/core_pattern + ;; + status) + if grep -q minicoredumper /proc/sys/kernel/core_pattern ; then + echo "minicoredumper is running" + else + echo "minicoredumper is stopped" + fi + ;; + *) + echo $"Usage: $0 {start|stop|status}" + exit 2 +esac diff --git a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.service b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.service new file mode 100644 index 000000000..45d098f29 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/minicoredumper.service @@ -0,0 +1,11 @@ +[Unit] +Description=Enable minicoredumper. + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/bin/sh -c '/bin/echo "|/usr/sbin/minicoredumper %%p %%u %%g %%s %%t %%h %%e" > /proc/sys/kernel/core_pattern' +ExecStop=/bin/sh -c '/bin/echo "core" > /proc/sys/kernel/core_pattern' + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb new file mode 100644 index 000000000..0d3c66b07 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.0.bb @@ -0,0 +1,45 @@ +SUMMARY = "minicoredumper provides an alternate core dump facility for Linux \ +to allow minimal and customized crash dumps" +LICENSE = " LGPLv2.1 & BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=aa846ae365f71b69e9fa0d21a56391ec \ + file://COPYING.BSD;md5=b915ac80d5236d6aa659cb986daf00e5 \ + file://COPYING.LGPLv2.1;md5=321bf41f280cf805086dd5a720b37785 \ + " +DEPENDS = "elfutils dbus dbus-glib-native glib-2.0 dbus-glib util-linux json-c" + +inherit autotools pkgconfig systemd update-rc.d + +SRCREV = "cdc1faf1212a51e89b477468876e229223fceb9a" + +PR .= "+git${SRCPV}" + +SRC_URI = "git://git.linuxfoundation.org/diamon/minicoredumper.git;protocol=http \ + file://minicoredumper.service \ + file://minicoredumper.init \ + file://0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch \ + file://0001-fix-compile-error-on-arch-x32.patch \ + " + +S = "${WORKDIR}/git" + +SYSTEMD_SERVICE_${PN} = "minicoredumper.service" +SYSTEMD_AUTO_ENABLE = "enable" + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME_${PN} = "minicoredumper" +INITSCRIPT_PARAMS_${PN} = "defaults 89" + +do_install_append() { + rmdir ${D}${localstatedir}/run + install -d ${D}/${sysconfdir}/minicoredumper + cp -rf ${S}/etc/* ${D}/${sysconfdir}/ + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/minicoredumper.service ${D}${systemd_system_unitdir} + install -d ${D}${sysconfdir}/init.d + install -m 0644 ${WORKDIR}/minicoredumper.init ${D}${sysconfdir}/init.d/minicoredumper + + # correct path of minicoredumper + sed -i -e s:/usr/bin/minicoredumper:${sbindir}/minicoredumper:g ${D}${sysconfdir}/init.d/minicoredumper + sed -i -e s:/usr/bin/minicoredumper:${sbindir}/minicoredumper:g ${D}${systemd_system_unitdir}/minicoredumper.service +} |