summaryrefslogtreecommitdiff
path: root/app-admin/swatchdog
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/swatchdog')
-rw-r--r--app-admin/swatchdog/Manifest6
-rw-r--r--app-admin/swatchdog/files/swatchdog-confd25
-rw-r--r--app-admin/swatchdog/files/swatchdog-init53
-rw-r--r--app-admin/swatchdog/files/swatchdogrc10
-rw-r--r--app-admin/swatchdog/metadata.xml27
-rw-r--r--app-admin/swatchdog/swatchdog-3.2.4-r1.ebuild35
6 files changed, 156 insertions, 0 deletions
diff --git a/app-admin/swatchdog/Manifest b/app-admin/swatchdog/Manifest
new file mode 100644
index 000000000000..caf960cc6d90
--- /dev/null
+++ b/app-admin/swatchdog/Manifest
@@ -0,0 +1,6 @@
+AUX swatchdog-confd 678 BLAKE2B 4ad9fb2627f69f2edf5d4ac48653fa89e9bcb1e2e00c003185f73c3674d9836fce11f4ebc2e82c6587ef7d68289cd2e9a1ba2e0634d8672d0c54778507055e78 SHA512 ca294509dd2d2f6622ec16760e32c44972c9ac99761bb743607dd5f7dab44a10f17183e736589111c3124e68f783f9ef9c0c28c5acbf1e39f3fae7cb9c4db238
+AUX swatchdog-init 1502 BLAKE2B 547590375d8f35b9a96cc149eaf6a66a6b705577a5ed7ced91d21ea7e457deb5ffa13fa3c87487f6d573a5368c8cabd58da372bd6c95737abab73d45dbc94e92 SHA512 30d5451cd871c15d2e50a3d5f32f4ea986971e2aa9a0b06ce5e383643aacd72a29c1574ec03bc3c0c994ebb13287f5870e8987971bcb73821f3ee744c7c574a3
+AUX swatchdogrc 299 BLAKE2B 05a0b3c13e6e184d7da0d302f62a0a6c3bcf25a90a30a3c207bcb19d6aa07f7068db7a56ffc5518625d0e40cd2b269e5c2fca7e2a5808cb81ba564087e0ad469 SHA512 64dfe179ccab5674742b8198f15b5439c324c7e9648fa0064a36010f7160303abd09c5af4efdb422628827ff8f327a8db312c4fdfbf02aab29c772d82f1d5b44
+DIST swatchdog-3.2.4.tar.gz 30122 BLAKE2B 103491a231306cedad030fca8cc309ce89e8cbc8a3fcee63cd482efb733b91db8b29193bb1e9b9c5213261b150e3dc6be2b506dee83b2297d5af2f1451f596c8 SHA512 4e0a4e3feed00df0f0d04f94cc090e53e71fa9b20d46236ec41d63b98b5733d80a5941b491cffcbb0b655a9c7d2b5c9423ca7ae043346dbe1b05ee6ab24b9489
+EBUILD swatchdog-3.2.4-r1.ebuild 767 BLAKE2B 5763f3766e8840120532c40db221a371fbea422cb41c400f492b85f0d83ba569d53ce299c08096e2cad312e71716285c46ed125410f800466feac588cfd395f6 SHA512 6002de4c68848260f282666cf0cf51f9f97acc7466bd71301b80a3d1392ffb2f6c1e94a41bd6c0db3f98f05eb35bd152fc3fe691b09846b41308ed32b0f3e8f8
+MISC metadata.xml 1137 BLAKE2B 83db6178d7c8813c8ab5b3f97aee38492de3d1fa31e9778d108a311923014d4e1a30a9a19b6628d9540a47eb0ea5f77cb2d751490c44f990efc09a6d958ffe43 SHA512 3a4efd76ee1a609c59a84ec43482982c27d9cf0ba4e4f42cb162c8dc39acbe89ffb146735d04aa111c404e546311df40cd9da782d76c766ac37e14aedb5f4884
diff --git a/app-admin/swatchdog/files/swatchdog-confd b/app-admin/swatchdog/files/swatchdog-confd
new file mode 100644
index 000000000000..13f8a0aed79e
--- /dev/null
+++ b/app-admin/swatchdog/files/swatchdog-confd
@@ -0,0 +1,25 @@
+# /etc/conf.d/swatchdog: config file for /etc/init.d/swatchdog
+
+# Path to the swatchdog program.
+#SWATCHDOG_BINARY="/usr/bin/swatchdog"
+
+# Swatchrc to read patterns and actions from.
+#SWATCHDOGRC="/etc/swatchdogrc"
+
+# File to monitor
+#SWATCHDOG_TAILFILE="/var/log/syslog"
+
+# Arguments to tail program
+#SWATCHDOG_TAILARGS=""
+
+# Swatch log file
+#SWATCHDOG_LOGFILE="/var/log/swatchdog.log"
+
+# Swatch error file
+#SWATCHDOG_ERRFILE="/var/log/swatchdog-err.log"
+
+# Where to output the generated script to. Should not be writable by others.
+#SWATCHDOG_SCRIPT="/run/swatchdog/swatchdog_script.pl"
+
+# Whether to parse the complete file once at startup. Defaults to "NO".
+PARSE_FULL="NO"
diff --git a/app-admin/swatchdog/files/swatchdog-init b/app-admin/swatchdog/files/swatchdog-init
new file mode 100644
index 000000000000..d623070073f7
--- /dev/null
+++ b/app-admin/swatchdog/files/swatchdog-init
@@ -0,0 +1,53 @@
+#!/sbin/openrc-run
+# This script is based on the one created by Phil (bug #255329).
+
+depend() {
+ need logger
+}
+
+SWATCHDOG_BINARY=${SWATCHDOG_BINARY:-/usr/bin/swatchdog}
+SWATCHDOGRC=${SWATCHDOGRC:-/etc/swatchdogrc}
+SWATCHDOG_TAILFILE=${SWATCHDOG_TAILFILE:-/var/log/syslog}
+SWATCHDOG_LOGFILE=${SWATCHDOG_LOGFILE:-/var/log/swatchdog.log}
+SWATCHDOG_ERRFILE=${SWATCHDOG_ERRFILE:-/var/log/swatchdog-err.log}
+SWATCHDOG_SCRIPT=${SWATCHDOG_SCRIPT:-/run/swatchdog/swatchdog_script.pl}
+
+gen_script() {
+ local tailargs=""
+ if [ "${SWATCHDOG_TAILARGS}" ]; then
+ tailargs="--tail-args=\"${SWATCHDOG_TAILARGS}\""
+ fi
+ ebegin "Generating swatchdog script from config"
+ ${SWATCHDOG_BINARY} --dump-script="${SWATCHDOG_SCRIPT}" \
+ --use-cpan-file-tail ${tailargs} \
+ --config-file "${SWATCHDOGRC}" $1 "${SWATCHDOG_TAILFILE}"
+ eend $?
+}
+
+parse_full() {
+ gen_script --examine
+ ebegin "Parsing complete file once"
+ /usr/bin/perl ${SWATCHDOG_SCRIPT} 1>/dev/null
+ eend $?
+}
+
+start() {
+ checkpath -d -q -m 0750 -o root:root /run/swatchdog
+ if [ "${PARSE_FULL}" = "YES" ]; then
+ parse_full
+ fi
+ gen_script --tail-file
+ ebegin "Starting swatchdog"
+ start-stop-daemon --start --quiet --background \
+ --make-pidfile --pidfile /run/swatchdog/swatchdog.pid \
+ --stdout ${SWATCHDOG_LOGFILE} --stderr ${SWATCHDOG_ERRFILE} \
+ --exec /usr/bin/perl -- ${SWATCHDOG_SCRIPT}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping swatchdog"
+ start-stop-daemon --stop --exec /usr/bin/perl \
+ --pidfile /run/swatchdog/swatchdog.pid --quiet
+ eend $?
+}
diff --git a/app-admin/swatchdog/files/swatchdogrc b/app-admin/swatchdog/files/swatchdogrc
new file mode 100644
index 000000000000..5132f855852b
--- /dev/null
+++ b/app-admin/swatchdog/files/swatchdogrc
@@ -0,0 +1,10 @@
+#
+# A sample configuration file for swatchdog.
+#
+# See "man swatchdog" for details.
+
+# Mails root when invalid remote login attempted.
+watchfor /(.*) (.*) (.*) (.*) (.*):( [iI]nvalid [uU]ser )(.*)( from )(.*)$/
+ threshold track_by=$9,type=limit,count=3,seconds=30
+ mail root,subject="Invalid user"
+
diff --git a/app-admin/swatchdog/metadata.xml b/app-admin/swatchdog/metadata.xml
new file mode 100644
index 000000000000..e0a3fdd952e8
--- /dev/null
+++ b/app-admin/swatchdog/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nimiux@gentoo.org</email>
+ <name>Chema Alonso</name>
+ </maintainer>
+ <longdescription lang="en">
+ swatchdog.pl started out as swatch, the "simple watchdog"
+ for activity monitoring log files produced by UNIX's syslog
+ facility. It has since been evolving into a utility that can
+ monitor just about any type of log. The name has been changed
+ to satisfy a request made by the old Swiss watch company.
+ </longdescription>
+ <longdescription lang="es">
+ swatchdog.pl comenzó como swatch, el "simple perro guardián"
+ para monitorizar la actividad en los ficheros de registro
+ producidos por la característica syslog de los sistemas UNIX.
+ Desde entonces ha evolucionado hacia una utilidad que puede
+ monitorizar cualquier tipo de registro. Se ha cambiado el
+ nombre del proyecto para satisfacer una petición realizada
+ por la empresa de relojes suiza.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">swatch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-admin/swatchdog/swatchdog-3.2.4-r1.ebuild b/app-admin/swatchdog/swatchdog-3.2.4-r1.ebuild
new file mode 100644
index 000000000000..c572801b8f3a
--- /dev/null
+++ b/app-admin/swatchdog/swatchdog-3.2.4-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+GENTOO_DEPEND_ON_PERL_SUBSLOT=yes
+inherit perl-app
+
+DESCRIPTION="Simple log watcher"
+HOMEPAGE="https://sourceforge.net/projects/swatch/"
+SRC_URI="mirror://sourceforge/swatch/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="dev-perl/Date-Manip
+ dev-perl/Date-Calc
+ dev-perl/File-Tail
+ dev-perl/TimeDate
+ >=virtual/perl-Time-HiRes-1.12
+ !app-admin/swatch"
+
+src_install() {
+ emake install
+ newinitd "${FILESDIR}/${PN}-init" "${PN}"
+ newconfd "${FILESDIR}/${PN}-confd" "${PN}"
+ insinto /etc
+ doins "${FILESDIR}/${PN}rc"
+
+ # Clean up perl localpod and packlist (bug #620886)
+ perl_delete_localpod
+ perl_fix_packlist
+}