summaryrefslogtreecommitdiff
path: root/app-admin/cancd
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/cancd
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'app-admin/cancd')
-rw-r--r--app-admin/cancd/Manifest9
-rw-r--r--app-admin/cancd/cancd-0.1.0-r4.ebuild43
-rw-r--r--app-admin/cancd/files/cancd-0.1.0-build-r1.patch14
-rw-r--r--app-admin/cancd/files/cancd-0.1.0-c-cleanup.patch65
-rw-r--r--app-admin/cancd/files/cancd-conf.d-r114
-rw-r--r--app-admin/cancd/files/cancd-init.d-r122
-rw-r--r--app-admin/cancd/files/netconsole-conf.d27
-rw-r--r--app-admin/cancd/files/netconsole-init.d67
-rw-r--r--app-admin/cancd/metadata.xml8
9 files changed, 269 insertions, 0 deletions
diff --git a/app-admin/cancd/Manifest b/app-admin/cancd/Manifest
new file mode 100644
index 000000000000..7b0327de086b
--- /dev/null
+++ b/app-admin/cancd/Manifest
@@ -0,0 +1,9 @@
+AUX cancd-0.1.0-build-r1.patch 266 BLAKE2B 0f1c43d64e02899b09d2ce4401f951ba60bad8bf31aa41c1c40677266021d2a3869db40f593f84745782d2ceaef226c7e3398b541cd9746496024d2455923ffc SHA512 83886c972ccc4b34fa4255d2b66f7abd286ba8b3929f2c35d85652ff290559ad837f96015f05d47cbae97fed6aec468852e75e0e6ac0bbac1a0538ea889f603b
+AUX cancd-0.1.0-c-cleanup.patch 1648 BLAKE2B 498c2eff05163a49e1499146e24d54e03ea0c8136e925b8ecfadccd7bcfcb77548ce49a31072c4c5d63c36a8c4b161d5d456b4b0247e915f0a6065e3a586637c SHA512 16350363f8f8f7e3843000e3128216d302ea7112608d61ae8d74ca79688588f3b028e1eedf187df06c78f8aaa2c987cdfdf33761adb9e597d4ca617f34b1072e
+AUX cancd-conf.d-r1 378 BLAKE2B 2b2b73484d8de7ee533bd217eb78224c3edae2c894c328ed8b17a941b2087461cc2b83483dd27563d162a83ff254b86f6fc564442bdef8510eb0cd14d51a7c0e SHA512 02c27367dda025f2a1b7aada8bc4c5a2cf5b046b4ded22c7bd7f50daa1ee18ffdda5997faa0d9edacfb17b23aedb007c8dbdee11cc2a70f7f9214e77fa1fb919
+AUX cancd-init.d-r1 596 BLAKE2B 5c439792ef8680238aa59e3f441b1b69ac1889e9a9ea4e57828b9969ec38ae0611971d7a52d68fbc676e2162f726a011839a2810991c70d2e7d3f25f81df9011 SHA512 73ed3f87e98822b0d5cc53b4a515ec02cdbbad03551eb58206522f615f2eafe6d2e2e190dcb41d8ec67ccad4d4411cbd1ce9087035539291ba520e2c3a84b2bf
+AUX netconsole-conf.d 751 BLAKE2B a81cdd8aa5be18e55065e1ca27698a2106bea320da98ea149e4da3f8a0817765b593fe816a9dda8adc9f1cde853f4debaf769e551ff97fe9ac24976c6045ab1e SHA512 7095ec6b8595865fc084b39f027efa0818c1348b8bfc8bfbea8d7d05c767f57a8357ae2eb07f13f073143911451e0fa005e1623ec9865076e4350f442cb8648b
+AUX netconsole-init.d 1503 BLAKE2B e03ee0010c92e011070950bdbb538add60a3eb2291b6b7ff9df60baa28d6fce2ce8e80b5750f730d56d6767743cf6daed358feb524359a0410cf678cf33b140f SHA512 33005e692fce59d567e399fca58b81b740cb381ce897f689af7e33785ccd1991506be1af2c09de8f96b6eb3996c5be16c212daee03d304b1fff7095b2ae1491d
+DIST cancd-0.1.0.tar.gz 7634 BLAKE2B 3ff488caf54764df053237d6ae4c39e7db44c5a5ecd1bcb18f3006e31030232ade4d7a93286dce8f58fb2ae7743700fd14939f219b7f5059cd2fb84bbc107b19 SHA512 9b01ed3ea1e27276799d657572645a7b40da9cf80910a73e2de9d733e8f3cfa374e29764b1e5853d7fb5a6835edda3103a1a6d31fd699010f98318631e62c5fb
+EBUILD cancd-0.1.0-r4.ebuild 1162 BLAKE2B 5060bcf92d4c5495a7a3160ab67e3050eff26889ee005f55fad3e330899bcd3f3333b64468cd1e767f248b0c5f51e21081546f9e8bbf2826055c6b1d12bf4a3c SHA512 e135297de6f711870435a688d5b1fff4b3bffed77c3136cf52de41566c019e01f28d5dc120ae0a4f94a286614c9344330debf5728748013a7459b5377f87a647
+MISC metadata.xml 268 BLAKE2B 914b6995ad966e2b83ec718b2598969b181c119d8805241b0046f69e161ac22a9f769204f4783240056804008475aa406cbd91b9de499ec7840f9595158bd291 SHA512 ffda1db3fd6ac952f41a970e2e496c6a9fd0b12ed11cdf363fd269c3b00f627c6e70421fd545aad61d69594af2e5f43d8ebc197232a39b596d012818fe758850
diff --git a/app-admin/cancd/cancd-0.1.0-r4.ebuild b/app-admin/cancd/cancd-0.1.0-r4.ebuild
new file mode 100644
index 000000000000..d66212991751
--- /dev/null
+++ b/app-admin/cancd/cancd-0.1.0-r4.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit user
+
+DESCRIPTION="CA NetConsole Daemon receives output from the Linux netconsole driver"
+HOMEPAGE="http://oss.oracle.com/projects/cancd/"
+SRC_URI="http://oss.oracle.com/projects/cancd/dist/files/source/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}/${P}-build-r1.patch"
+ "${FILESDIR}/${P}-c-cleanup.patch"
+)
+
+src_prepare() {
+ default
+
+ # slight makefile cleanup
+ sed -i \
+ -e '/^CFLAGS/s,-g,,' \
+ -e '/^CFLAGS/s,-O2,-Wall -W -Wextra -Wundef -Wendif-labels -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wredundant-decls -Wunreachable-code -Wlong-long,' \
+ -e '/rm cancd cancd.o/s,rm,rm -f,' \
+ Makefile || die
+}
+
+src_install() {
+ dosbin cancd
+ newinitd "${FILESDIR}"/cancd-init.d-r1 cancd
+ newconfd "${FILESDIR}"/cancd-conf.d-r1 cancd
+ newinitd "${FILESDIR}"/netconsole-init.d netconsole
+ newconfd "${FILESDIR}"/netconsole-conf.d netconsole
+}
+
+pkg_preinst() {
+ enewuser cancd
+}
diff --git a/app-admin/cancd/files/cancd-0.1.0-build-r1.patch b/app-admin/cancd/files/cancd-0.1.0-build-r1.patch
new file mode 100644
index 000000000000..19bc929b2bc0
--- /dev/null
+++ b/app-admin/cancd/files/cancd-0.1.0-build-r1.patch
@@ -0,0 +1,14 @@
+fix building with newer glibc
+
+http://bugs.gentoo.org/246734
+
+--- a/cancd.c
++++ b/cancd.c
+@@ -36,6 +36,7 @@
+ #include <libgen.h>
+ #include <getopt.h>
+ #include <stdarg.h>
++#include <limits.h>
+ #include <sys/socket.h>
+ #include <arpa/inet.h>
+ #include <netinet/in.h>
diff --git a/app-admin/cancd/files/cancd-0.1.0-c-cleanup.patch b/app-admin/cancd/files/cancd-0.1.0-c-cleanup.patch
new file mode 100644
index 000000000000..47defb3e43b2
--- /dev/null
+++ b/app-admin/cancd/files/cancd-0.1.0-c-cleanup.patch
@@ -0,0 +1,65 @@
+diff -Nuar --exclude '*~' --exclude '*.orig' --exclude Makefile cancd-0.1.0/cancd.c cancd-0.1.0.new/cancd.c
+--- cancd-0.1.0/cancd.c 2005-08-18 11:47:48.000000000 -0700
++++ cancd-0.1.0.new/cancd.c 2006-03-17 17:09:46.402025517 -0800
+@@ -199,7 +199,7 @@
+ char *path;
+ };
+
+-static int make_tree(const char *path, int mode)
++static int make_tree(const char *path, mode_t mode)
+ {
+ struct stat stat_buf;
+ char *ptr, *tmp;
+@@ -319,7 +319,7 @@
+ static int open_socket()
+ {
+ int rc;
+- struct sockaddr_in servaddr = {0, };
++ struct sockaddr_in servaddr;
+
+ sock_fd = socket(PF_INET, SOCK_DGRAM, 0);
+ if (sock_fd < 0)
+@@ -438,7 +438,7 @@
+ int rc;
+ static int block = 1;
+
+- rc = recvfrom(sock_fd, buf, bufsize, 0,
++ rc = recvfrom(fd, buf, bufsize, 0,
+ (struct sockaddr *)from, fromlen);
+ if (rc < 0)
+ {
+@@ -569,7 +569,7 @@
+
+ static int valid_format()
+ {
+- struct in_addr addr = {0, };
++ struct in_addr addr;
+ char *name;
+ int rc;
+
+@@ -599,9 +599,11 @@
+ exit(rc);
+ }
+
++/*
+ extern char *optarg;
+ extern int optopt;
+ extern int opterr;
++*/
+ static int parse_options(int argc, char *argv[])
+ {
+ int c;
+@@ -641,11 +643,11 @@
+ optarg);
+ print_usage(-EINVAL);
+ }
+- log_prefix = optarg;
++ log_prefix = strdup(optarg);
+ break;
+
+ case 'o':
+- log_format = optarg;
++ log_format = strdup(optarg);
+ if (!log_format || !*log_format || !valid_format())
+ {
+ fprintf(stderr,
diff --git a/app-admin/cancd/files/cancd-conf.d-r1 b/app-admin/cancd/files/cancd-conf.d-r1
new file mode 100644
index 000000000000..13322298f28b
--- /dev/null
+++ b/app-admin/cancd/files/cancd-conf.d-r1
@@ -0,0 +1,14 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# port to listen on
+CANCD_PORT=6667
+
+# directory to output to
+CANCD_LOG_DIR=/var/log/cancd
+
+# one file per minute, one dir per host/date
+#CANCD_LOG_FORMAT="%Q/%Y-%m-%d/%H:%M.log"
+# one file per day, one dir per host
+CANCD_LOG_FORMAT="%Q/%Y-%m-%d.log"
diff --git a/app-admin/cancd/files/cancd-init.d-r1 b/app-admin/cancd/files/cancd-init.d-r1
new file mode 100644
index 000000000000..a2a96f1ce81c
--- /dev/null
+++ b/app-admin/cancd/files/cancd-init.d-r1
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/sbin/cancd"
+command_args="-p ${CANCD_PORT}
+ -l ${CANCD_LOG_DIR}
+ -o ${CANCD_LOG_FORMAT}"
+command_user="cancd"
+
+# cancd daemonizes itself, but doesn't write a PID file and doesn't
+# have an option to run in the foreground. So the best we can do
+# is try to match the process name when stopping it.
+procname="cancd"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ checkpath --directory --owner cancd --mode 0700 "${CANCD_LOG_DIR}"
+}
diff --git a/app-admin/cancd/files/netconsole-conf.d b/app-admin/cancd/files/netconsole-conf.d
new file mode 100644
index 000000000000..aad2fc797172
--- /dev/null
+++ b/app-admin/cancd/files/netconsole-conf.d
@@ -0,0 +1,27 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# required!
+TGT_IP=''
+
+DEVICE=eth0
+
+SRC_IP=''
+# will default to first address on $DEVICE
+# must be specified if the device does not have an IP at init time
+SRC_PORT=6665 # default
+
+# note that cancd daemon uses 6667 as default
+# but netconsole.txt says 6666 is the default
+TGT_PORT=6667
+
+# if you want to broadcast, specify 'broadcast' here.
+# it's a security hole on an untrusted network.
+TGT_MAC=''
+
+LOGLEVEL='1'
+# LOGLEVEL are the kernel console logging levels
+# [0..7] = EMERG,ALERT,CRIT,ERR,WARNING,NOTICE,INFO,DEBUG
+# 1 means only kernel panics are reported (default)
+# this affects all console logging
+# see syslog(2) for more info
diff --git a/app-admin/cancd/files/netconsole-init.d b/app-admin/cancd/files/netconsole-init.d
new file mode 100644
index 000000000000..dfb28eb9eac0
--- /dev/null
+++ b/app-admin/cancd/files/netconsole-init.d
@@ -0,0 +1,67 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+start() {
+ checkconfig || return 1
+ if [ -z "${TGT_MAC}" ]; then
+ LC_ALL=C /bin/ping -nq -c 3 "${TGT_IP}" -I "${DEVICE}" 1>/dev/null 2>/dev/null
+ ret=$?
+ # ping worked, try arp
+ if [ $ret -eq 0 ]; then
+ TGT_MAC="$(LC_ALL=C arp -an -i ${DEVICE} ${TGT_IP} |egrep -v 'incomplete|no match' | awk '{print $4}')"
+ fi
+ elif [ "${TGT_MAC}" = "broadcast" ]; then
+ TGT_MAC=''
+ fi
+ ebegin "Starting netconsole ${SRC_IP}:${SRC_PORT}(${DEVICE}) -> ${TGT_IP}:${TGT_PORT} ${TGT_MAC}"
+ # else we use the MAC that we are given
+ modprobe netconsole netconsole=${SRC_PORT}@${SRC_IP}/${DEVICE},${TGT_PORT}@${TGT_IP}/${TGT_MAC}
+ ret=$?
+ [ $ret -eq 0 ] && dmesg -n ${LOGLEVEL}
+ eend $ret
+}
+
+stop() {
+ ebegin "Stopping netconsole"
+ modprobe -r netconsole
+ eend $?
+}
+
+checkconfig() {
+ # kernel uses 15 internally
+ if [ "$LOGLEVEL" -lt 0 -o "${LOGLEVEL}" -gt 15 ]; then
+ eerror "Invalid kernel console loglevel."
+ return 1
+ fi
+
+ if [ "$SRC_PORT" -le 0 ]; then
+ eerror "Invalid source port."
+ return 1
+ fi
+
+ LC_ALL=C ifconfig "${DEVICE}" 1>/dev/null 2>/dev/null
+ ret=$?
+
+ if [ -z "${DEVICE}" -o "${ret}" -gt 0 ]; then
+ eerror "Source device invalid."
+ return 1
+ fi
+
+ if [ "$TGT_PORT" -le 0 ]; then
+ eerror "Invalid target port."
+ return 1
+ fi
+
+ if [ -z "$TGT_IP" ]; then
+ eerror "Unspecified target address."
+ return 1
+ fi
+
+ return 0
+}
+# vim: ts=4 sw=4 sts=4:
diff --git a/app-admin/cancd/metadata.xml b/app-admin/cancd/metadata.xml
new file mode 100644
index 000000000000..a4e0d354f696
--- /dev/null
+++ b/app-admin/cancd/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
+</pkgmetadata>