sys-process/minicoredumper: new package
authorGeorgy Yakovlev <gyakovlev@gentoo.org>
Tue, 14 Jan 2020 03:47:26 +0000 (19:47 -0800)
committerGeorgy Yakovlev <gyakovlev@gentoo.org>
Tue, 14 Jan 2020 03:58:01 +0000 (19:58 -0800)
utility to process coredump files, similar to systemd-coredump

Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
sys-process/minicoredumper/Manifest [new file with mode: 0644]
sys-process/minicoredumper/files/60-minicoredumper.conf [new file with mode: 0644]
sys-process/minicoredumper/metadata.xml [new file with mode: 0644]
sys-process/minicoredumper/minicoredumper-2.0.1.ebuild [new file with mode: 0644]

diff --git a/sys-process/minicoredumper/Manifest b/sys-process/minicoredumper/Manifest
new file mode 100644 (file)
index 0000000..2654ac9
--- /dev/null
@@ -0,0 +1 @@
+DIST minicoredumper-2.0.1.tar.xz 292088 BLAKE2B 0286004b707b1c9559ef4078dbd1d39ac82123cf3a6ba194210674dff3462db1b922340705f9b5e30e821b84ed91429f6f86cb680d353363b8b6aac92885cba6 SHA512 1ffc8e763aa653e443b15d49ac229720afc5d7729d6c1edb728bee55a887cad3b780bca2e4ac7f34c2f36756b02bd15002286f65d8a21ba99778d722e5953bb2
diff --git a/sys-process/minicoredumper/files/60-minicoredumper.conf b/sys-process/minicoredumper/files/60-minicoredumper.conf
new file mode 100644 (file)
index 0000000..e862e20
--- /dev/null
@@ -0,0 +1 @@
+kernel.core_pattern = |/usr/sbin/minicoredumper %P %u %g %s %t %h %e
diff --git a/sys-process/minicoredumper/metadata.xml b/sys-process/minicoredumper/metadata.xml
new file mode 100644 (file)
index 0000000..c514535
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="person">
+               <email>gyakovlev@gentoo.org</email>
+               <name>Georgy Yakovlev</name>
+       </maintainer>
+       <longdescription lang="en">
+               minicoredumper is a program that handles the creation of core dump files on Linux.
+               It can produce much smaller core dump files by making use of sparse files, compression,
+               and allowing the user to configure what parts of the process memory image should be dumped. 
+       </longdescription>
+</pkgmetadata>
diff --git a/sys-process/minicoredumper/minicoredumper-2.0.1.ebuild b/sys-process/minicoredumper/minicoredumper-2.0.1.ebuild
new file mode 100644 (file)
index 0000000..8795d2b
--- /dev/null
@@ -0,0 +1,47 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Core dump file processor"
+HOMEPAGE="https://linutronix.de/minicoredumper"
+SRC_URI="https://linutronix.de/minicoredumper/files/${P}.tar.xz"
+
+LICENSE="BSD BSD-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE=""
+
+DEPEND="
+       dev-libs/json-c:=
+       virtual/libelf
+"
+
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+       # TODO: regd daemon is disabled as there are no known consumers
+       local myconf=(
+               --runstatedir="${EPREFIX}/run"
+               --without-werror
+               --without-minicoredumper_trigger
+               --without-minicoredumper_regd
+               MCD_DUMP_PATH="${EPREFIX}/var/lib/${PN}"
+       )
+       econf ${myconf[@]}
+}
+
+src_install() {
+       default
+
+       keepdir /var/lib/minicoredumper
+
+       # systemd-coredump uses /usr/lib/sysctl.d/50-coredump.conf
+       insinto /usr/lib/sysctl.d
+       doins "${FILESDIR}"/60-minicoredumper.conf
+
+       # it installs some files/dirs we don't want
+       rmdir -v "${ED}/run" || die
+       rm -rv "${ED}"/etc/{init.d,default} || die
+}