aboutsummaryrefslogtreecommitdiffstats
path: root/main/syslog-ng/syslog-ng.initd
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-11-06 09:26:43 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-11-06 09:26:43 +0000
commitdbfbb9b88abcc2522e8e46b6db218dca09771bb2 (patch)
treef72dbc18461422ea5e05027e9faa0133b6793faf /main/syslog-ng/syslog-ng.initd
parentec0afeea4567c35a0eda0f664b4649b1ab006645 (diff)
downloadaports-dbfbb9b88abcc2522e8e46b6db218dca09771bb2.tar.bz2
aports-dbfbb9b88abcc2522e8e46b6db218dca09771bb2.tar.xz
main/syslog-ng: move from testing
Diffstat (limited to 'main/syslog-ng/syslog-ng.initd')
-rw-r--r--main/syslog-ng/syslog-ng.initd76
1 files changed, 76 insertions, 0 deletions
diff --git a/main/syslog-ng/syslog-ng.initd b/main/syslog-ng/syslog-ng.initd
new file mode 100644
index 0000000000..647c1058c2
--- /dev/null
+++ b/main/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 /run/syslog-ng.pid
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping syslog-ng"
+ start-stop-daemon --stop --quiet --pidfile /run/syslog-ng.pid --exec /usr/sbin/syslog-ng
+ eend $?
+}
+
+reload() {
+ if [ ! -f /run/syslog-ng.pid ]
+ then
+ eerror "syslog-ng not running!"
+ return 1
+ fi
+ ebegin "Reloading syslog-ng"
+ start-stop-daemon --signal HUP --pidfile /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
+}