summaryrefslogtreecommitdiff
path: root/app-admin/sysrqd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-admin/sysrqd
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'app-admin/sysrqd')
-rw-r--r--app-admin/sysrqd/Manifest6
-rw-r--r--app-admin/sysrqd/files/sysrqd-14-fix-build-system.patch21
-rw-r--r--app-admin/sysrqd/files/sysrqd-config.patch13
-rw-r--r--app-admin/sysrqd/files/sysrqd.init31
-rw-r--r--app-admin/sysrqd/metadata.xml11
-rw-r--r--app-admin/sysrqd/sysrqd-14.ebuild55
6 files changed, 137 insertions, 0 deletions
diff --git a/app-admin/sysrqd/Manifest b/app-admin/sysrqd/Manifest
new file mode 100644
index 000000000000..690a0c0970e8
--- /dev/null
+++ b/app-admin/sysrqd/Manifest
@@ -0,0 +1,6 @@
+AUX sysrqd-14-fix-build-system.patch 615 BLAKE2B 25de1ca0a421ab37737613533fb68819a6f611271b44c7381963476e01ab62a204bf61a1bf5a61100d1199601d7db8f7010cdd1207eeb50dff9768f34b7028fe SHA512 2ecb26c68a4a7382af1c09d81b71544e9621c0425fcd7577be1e4b929b808989d223d128affb0107724423624f3bf550327c92cb9c56676d45f49707ee7d1321
+AUX sysrqd-config.patch 421 BLAKE2B 9cc04c7c31c39f1015b95aaf5c695a2221b65d2c471506b9f3e836fec43585e7e21d7fa7a01c4cdd7815f9c1ebb10800ca1cfccabd397223eb6b3f700f8cd54d SHA512 5dd351220cbb10a09d6c6f0bae07a37fc678988467a8a1cff2075217a82eb4bbfc6f2155b47b71159e3442f8d25bbff539a3e2a61f91829d6dae7820e647fca8
+AUX sysrqd.init 700 BLAKE2B 2570aeb1b01d098bd8330a9e78c85708013d3ee09318f84a1e5f088ffc2a32077cf6e18bc3413106724d7fe024bea9720f6f20c5a28a5fb5a775a219ed7c95e4 SHA512 9845a09cfa20ee9cd09e61e142cf53aaf482909ce3ec1401743864823a7bd45ced812fb235eef2adb914c3c624e227fa5936b73e1b83d8a3888fb25498980918
+DIST sysrqd-14.tar.gz 4759 BLAKE2B 3ef8b2f5092a899753da487d0a82a71d2d93d0c6a70689b5923fa900f2766de15fa2e416cb667d800dac19499218a0246941b8c52bfe4421af774ccecc62222e SHA512 efad48be3974923ec14d0958e788115c9273bc29b4f03853e6e087f6af872299ea57d42f885be19ff4eeaffa577ecf1c53ea2adb2f84e1487bb2511597b89cb2
+EBUILD sysrqd-14.ebuild 1395 BLAKE2B 4368fe901f94f14e010dfa5e8f4648f13dd93727a521e9db49398cc2704482a1d62e633a8acf5a4633b1903224d5c99357a08cfe25118aea695fc9297d06c1ab SHA512 11080e964bfa37504a653432ea99910ac469c969859f5301ee86b7f80db4a5bd147af3da5b8cf6119473959de2110195978d9d00c3589f8f61d12f4845cc32ae
+MISC metadata.xml 414 BLAKE2B eb2c97371677b4c978e210a3069e30cd453ebaf2249d01e80e52c116bb9dd4243f692cb4e4f384412191e691a67054a390f35143fb8fc403b595f11c3e09dd68 SHA512 e0c64a75f859353dd258c074a2353882ddba2955144297672ada48f29ebd742d4acd7193816aae859f7f7df1d4b23e9bd1176856aa801ee7a0035f8ce2224859
diff --git a/app-admin/sysrqd/files/sysrqd-14-fix-build-system.patch b/app-admin/sysrqd/files/sysrqd-14-fix-build-system.patch
new file mode 100644
index 000000000000..2668c3c0c491
--- /dev/null
+++ b/app-admin/sysrqd/files/sysrqd-14-fix-build-system.patch
@@ -0,0 +1,21 @@
+--- a/Makefile
++++ b/Makefile
+@@ -5,15 +5,15 @@
+ -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wsign-compare \
+ -Wunused -Winit-self -Wpointer-arith -Wredundant-decls \
+ -Wmissing-prototypes -Wmissing-format-attribute -Wmissing-noreturn \
+- -std=gnu99 -pipe -DSYSRQD_VERSION="\"$(VERSION)\"" -O3
++ -std=gnu99
++CPPFLAGS += -DSYSRQD_VERSION="\"$(VERSION)\""
+
+ SBINDIR=$(DESTDIR)/usr/sbin
+ #MANDIR=$(DESTDIR)/usr/share/man/man1
+ INSTALL = install
+ #MAN=sysrqd.1
+
+-$(BIN): $(O)
+- $(CC) $(LDFLAGS) -o $(BIN) $(O)
++all: $(BIN)
+
+ install: $(BIN)
+ $(INSTALL) -d -m 755 $(SBINDIR)
diff --git a/app-admin/sysrqd/files/sysrqd-config.patch b/app-admin/sysrqd/files/sysrqd-config.patch
new file mode 100644
index 000000000000..56c6afb60804
--- /dev/null
+++ b/app-admin/sysrqd/files/sysrqd-config.patch
@@ -0,0 +1,13 @@
+--- a/sysrqd.c
++++ b/sysrqd.c
+@@ -40,8 +40,8 @@
+ #define BIND_MAX_LEN 16
+ #define PROMPT "sysrq> "
+ #define SYSRQ_TRIGGER_PATH "/proc/sysrq-trigger"
+-#define AUTH_FILE "/etc/sysrqd.secret"
+-#define BINDIP_FILE "/etc/sysrqd.bind"
++#define AUTH_FILE "/etc/sysrqd/sysrqd.secret"
++#define BINDIP_FILE "/etc/sysrqd/sysrqd.bind"
+ #define PID_FILE "/var/run/sysrqd.pid"
+ #define SYSRQD_PRIO -19
+ #define SYSRQD_LISTEN_PORT 4094
diff --git a/app-admin/sysrqd/files/sysrqd.init b/app-admin/sysrqd/files/sysrqd.init
new file mode 100644
index 000000000000..f88fc8ce43ef
--- /dev/null
+++ b/app-admin/sysrqd/files/sysrqd.init
@@ -0,0 +1,31 @@
+#!/sbin/openrc-run
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ sysrqd_secret=/etc/sysrqd/sysrqd.secret
+ sysrqd_pidfile=/var/run/sysrqd.pid
+ if [ ! -e ${sysrqd_secret} ]; then
+ eerror "You need a '${sysrqd_secret}' containing a secret/password!"
+ eerror "Refusing to start."
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --pidfile ${sysrqd_pidfile} --quiet --exec /usr/sbin/sysrqd
+ eend $?
+}
+
+stop() {
+ checkconfig || return 1
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --pidfile ${sysrqd_pidfile}
+ eend $?
+}
diff --git a/app-admin/sysrqd/metadata.xml b/app-admin/sysrqd/metadata.xml
new file mode 100644
index 000000000000..ff003efefc85
--- /dev/null
+++ b/app-admin/sysrqd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription>
+ sysrqd is a small daemon intended to manage Linux Sysrq over network.
+ Its philosophy is to be very responsive under heavy load and try to
+ be somehow reliable. Authentication is made by clear password.
+ </longdescription>
+</pkgmetadata>
+
diff --git a/app-admin/sysrqd/sysrqd-14.ebuild b/app-admin/sysrqd/sysrqd-14.ebuild
new file mode 100644
index 000000000000..249bbce77e12
--- /dev/null
+++ b/app-admin/sysrqd/sysrqd-14.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="daemon providing access to the kernel sysrq functions via network"
+HOMEPAGE="http://julien.danjou.info/projects/sysrqd"
+#SRC_URI="http://julien.danjou.info/${PN}/${P}.tar.gz"
+SRC_URI="https://dev.gentoo.org/~wschlich/src/${CATEGORY}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-config.patch
+ "${FILESDIR}"/${PN}-14-fix-build-system.patch
+)
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ dosbin sysrqd
+ newinitd "${FILESDIR}/sysrqd.init" sysrqd
+
+ local bindip='127.0.0.1' secret
+ declare -i secret
+ let secret=${RANDOM}*${RANDOM}*${RANDOM}*${RANDOM}
+ echo ${bindip} > sysrqd.bind || die
+ echo ${secret} > sysrqd.secret || die
+
+ diropts -m 0700 -o root -g root
+ dodir /etc/sysrqd
+ insinto /etc/sysrqd
+ insopts -m 0600 -o root -g root
+ doins sysrqd.bind
+ doins sysrqd.secret
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ elog
+ elog "Be sure to change the initial secret in /etc/sysrqd/sysrqd.secret !"
+ elog "As a security precaution, sysrqd is configured to only listen on"
+ elog "127.0.0.1 by default. Change the content of /etc/sysrqd/sysrqd.bind"
+ elog "to an IPv4 address you want it to listen on or remove the file"
+ elog "to make it listen on any IP address (0.0.0.0)."
+ elog
+}