summaryrefslogtreecommitdiffstats
path: root/testing/syslog-ng/syslog-ng.initd
diff options
context:
space:
mode:
authorBartłomiej Piotrowski <bpiotrowski@alpinelinux.org>2013-05-25 09:25:32 +0200
committerBartłomiej Piotrowski <bpiotrowski@alpinelinux.org>2013-05-25 09:28:03 +0200
commit26d86737c4f6bfb4b2e350b36fe85bd6cf04cd4b (patch)
tree3ad80fb804d9a4db151d9a5a1d284d79e683ff10 /testing/syslog-ng/syslog-ng.initd
parentf64bfe77a6bde014a88ea2840b3a54e2281ccbbb (diff)
downloadaports-26d86737c4f6bfb4b2e350b36fe85bd6cf04cd4b.tar.bz2
aports-26d86737c4f6bfb4b2e350b36fe85bd6cf04cd4b.tar.xz
testing/syslog-ng: new aport
Diffstat (limited to 'testing/syslog-ng/syslog-ng.initd')
-rw-r--r--testing/syslog-ng/syslog-ng.initd76
1 files changed, 76 insertions, 0 deletions
diff --git a/testing/syslog-ng/syslog-ng.initd b/testing/syslog-ng/syslog-ng.initd
new file mode 100644
index 000000000..b657b81c1
--- /dev/null
+++ b/testing/syslog-ng/syslog-ng.initd
@@ -0,0 +1,76 @@
+#!/sbin/runscript
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="update"
+extra_started_commands="reload"
+
+depend() {
+ need hostname localmount
+ before net
+ provide logger
+}
+
+start() {
+ [ ! -f /etc/syslog-ng/syslog.conf ] && update
+ ebegin "Starting syslog-ng"
+ start-stop-daemon --start --quiet --exec /usr/sbin/syslog-ng --pidfile /var/run/syslog-ng.pid
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping syslog-ng"
+ start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid --exec /usr/sbin/syslog-ng
+ eend $?
+}
+
+reload() {
+ if [ ! -f /var/run/syslog-ng.pid ]
+ then
+ eerror "syslog-ng not running!"
+ return 1
+ fi
+ ebegin "Reloading syslog-ng"
+ start-stop-daemon --signal HUP --pidfile /var/run/syslog-ng.pid --exec /usr/sbin/syslog-ng
+ eend $?
+}
+
+grep_syslog_conf_entries() {
+ local section="$1" FN filelist
+ grep -v '^#' /etc/syslog-ng/syslog-ng-${section}.std
+ filelist=$(find /etc/syslog-ng/ -maxdepth 1 -type f -name "syslog-ng-${section}.*" | grep -Ev ".backup|.std|~")
+ if [ $? -eq 0 ]
+ then
+ for FN in ${filelist}
+ do
+ grep -v '^#' $FN
+ done
+ fi
+}
+
+update() {
+ local fname='/etc/syslog-ng/syslog-ng.conf'
+ local f_tmp="/etc/syslog-ng/syslog-ng.conf.$$"
+ for ng_std in options source destination filter log
+ do
+ [ -f /etc/syslog-ng/syslog-ng-${ng_std}.std ] || exit 1
+ done
+ {
+ # create options entries
+ echo "options {"
+ grep_syslog_conf_entries options
+ echo "};"
+ # create source entries
+ echo "source s_all {"
+ grep_syslog_conf_entries source
+ echo "};"
+ # create destination entries
+ grep_syslog_conf_entries destination
+ # create filter entries
+ grep_syslog_conf_entries filter
+ # create log entries
+ grep_syslog_conf_entries log
+ } > $f_tmp
+ cp -p $f_tmp $fname
+ rm -f $f_tmp
+}