From db5e198de1e368a2202460089f9d00a52947d4f6 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Wed, 7 Dec 2011 13:18:43 -0600
Subject: rsyslog: first build, this replaces syslog-ng /var/log will now have
 the format of /var/log/$DATE/$log_files

---
 abs/core/rsyslog/PKGBUILD            | 58 ++++++++++++++++++++++++
 abs/core/rsyslog/log_care.sh         |  8 ++++
 abs/core/rsyslog/rsyslog             | 39 ++++++++++++++++
 abs/core/rsyslog/rsyslog.conf.d      |  6 +++
 abs/core/rsyslog/rsyslog.conf.linhes | 86 ++++++++++++++++++++++++++++++++++++
 abs/core/rsyslog/rsyslog.install     | 16 +++++++
 6 files changed, 213 insertions(+)
 create mode 100644 abs/core/rsyslog/PKGBUILD
 create mode 100644 abs/core/rsyslog/log_care.sh
 create mode 100644 abs/core/rsyslog/rsyslog
 create mode 100644 abs/core/rsyslog/rsyslog.conf.d
 create mode 100644 abs/core/rsyslog/rsyslog.conf.linhes
 create mode 100644 abs/core/rsyslog/rsyslog.install

diff --git a/abs/core/rsyslog/PKGBUILD b/abs/core/rsyslog/PKGBUILD
new file mode 100644
index 0000000..0422880
--- /dev/null
+++ b/abs/core/rsyslog/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 58329 2011-11-11 14:26:11Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=rsyslog
+pkgver=5.8.6
+pkgrel=1
+pkgdesc="An enhanced multi-threaded syslogd with a focus on security and reliability"
+url="http://www.rsyslog.com/"
+arch=('i686' 'x86_64')
+license=('GPL3')
+depends=('zlib')
+makedepends=( 'libmysqlclient'  'gnutls')
+optdepends=( 'libmysqlclient: MySQL Database Support'
+	    'gnutls')
+backup=('etc/rsyslog.conf' \
+	'etc/logrotate.d/rsyslog'
+	'etc/conf.d/rsyslog')
+conflicts=('syslog-ng')
+replaces=('syslog-ng')
+groups=('base')
+ 
+options=('strip' 'zipman' '!libtool')
+install=('rsyslog.install')
+source=("http://www.rsyslog.com/files/download/rsyslog/rsyslog-$pkgver.tar.gz"
+	'rsyslog'
+	'rsyslog.logrotate'
+	'rsyslog.conf.d' 'rsyslog.conf.linhes' log_care.sh)
+
+build() {
+  cd ${srcdir}/${pkgname}-${pkgver}
+  ./configure --prefix=/usr \
+              --enable-mysql \
+              --enable-mail \
+              --enable-imfile \
+              --enable-imtemplate \
+              --enable-gnutls \
+              --enable-inet \
+              --with-systemdsystemunitdir=/lib/systemd/system
+  make
+}
+package() {
+  cd ${srcdir}/${pkgname}-${pkgver}
+  make install DESTDIR=${pkgdir}
+  # Install Daemons and Configuration Files
+  install -D -m755 ${srcdir}/${pkgname} ${pkgdir}/etc/rc.d/${pkgname}d
+  install -D -m644 $srcdir/${pkgname}.conf.linhes ${pkgdir}/etc/${pkgname}.conf
+  mkdir -p  ${pkgdir}/etc/rsyslog.d/
+  touch ${pkgdir}/etc/rsyslog.d/empty.conf
+  install -D -m644 $srcdir/${pkgname}.logrotate ${pkgdir}/etc/logrotate.d/${pkgname}
+  install -D -m644 ${srcdir}/${pkgname}.conf.d ${pkgdir}/etc/conf.d/${pkgname}
+  install -D -m755 ${srcdir}/log_care.sh ${pkgdir}/etc/cron.daily/log_care
+}
+md5sums=('c46db0496066b82faf735bd4222208d7'
+         'a18bbcbb6ebdaa13a6ec6d9f3d9eb2da'
+         '8065db4bef3061a4f000ba58779f6829'
+         '1a0cd4530dd5d1439456d5ae230574d9'
+         '1e4a87a2ffea61c066a0b01fc9392849'
+         '5a4719b7283bba9fc497013848bf5c5c')
diff --git a/abs/core/rsyslog/log_care.sh b/abs/core/rsyslog/log_care.sh
new file mode 100644
index 0000000..4337828
--- /dev/null
+++ b/abs/core/rsyslog/log_care.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+. /etc/profile
+DATE=`date +%Y`
+echo "compressing log files"
+find /var/log/$DATE* -mtime  +1 -exec gzip -9 {} \;
+echo "Deleting older log files"
+find /var/log/$DATE*  -mtime +7  -exec rm -rf {} \;
+
diff --git a/abs/core/rsyslog/rsyslog b/abs/core/rsyslog/rsyslog
new file mode 100644
index 0000000..ee01454
--- /dev/null
+++ b/abs/core/rsyslog/rsyslog
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/rsyslog
+
+PID=`pidof -o %PPID /usr/sbin/rsyslogd`
+case "$1" in
+  start)
+    stat_busy "Starting RSyslogd"
+    [ -z "$PID" ] && /usr/sbin/rsyslogd $RSYSLOGD_ARGS
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      add_daemon rsyslogd
+      stat_done
+    fi
+    ;;
+  stop)
+    stat_busy "Stopping RSyslogd"
+    [ ! -z "$PID" ]  && kill $PID &> /dev/null
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      rm -f /var/run/rsyslogd.pid
+      rm -f /var/rsyslogd.persist
+      rm_daemon rsyslogd
+      stat_done
+    fi
+    ;;
+  restart)
+    $0 stop
+    sleep 1
+    $0 start
+    ;;
+  *)
+    echo "usage: $0 {start|stop|restart}"  
+esac
+exit 0
diff --git a/abs/core/rsyslog/rsyslog.conf.d b/abs/core/rsyslog/rsyslog.conf.d
new file mode 100644
index 0000000..e39f8c3
--- /dev/null
+++ b/abs/core/rsyslog/rsyslog.conf.d
@@ -0,0 +1,6 @@
+#
+# Parameters to be passed to rsyslogd
+# This should almost certainly include at least the current compatability
+# level, e.g. -c4
+#
+RSYSLOGD_ARGS="-c4"
diff --git a/abs/core/rsyslog/rsyslog.conf.linhes b/abs/core/rsyslog/rsyslog.conf.linhes
new file mode 100644
index 0000000..ab6d56f
--- /dev/null
+++ b/abs/core/rsyslog/rsyslog.conf.linhes
@@ -0,0 +1,86 @@
+# if you experience problems, check
+# http://www.rsyslog.com/troubleshoot for assistance
+
+# rsyslog v3: load input modules
+# If you do not load inputs, nothing happens!
+# You may need to set the module load path if modules are not found.
+
+$ModLoad immark   # provides --MARK-- message capability
+$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
+$ModLoad imklog   # kernel logging (formerly provided by rklogd)
+$FileCreateMode 0644
+$DirCreateMode 0755
+
+# Log all kernel messages to the console.
+# Logging much else clutters up the screen.
+#kern.*                                                 /dev/console
+$template DailyPerHostLogs,"/var/log//%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_messages.log"
+$template DynFile,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_%programname%.log"
+$template DynMail,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_maillog"
+$template DynCron,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_cron"
+$template DynBoot,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_boot.log"
+$template DynSpooler,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%_spooler"
+
+if $programname contains 'lighttpd' then ?DynFile
+& ~
+# Log anything (except mail) of level info or higher.
+# Don't log private authentication messages!
+#*.info;mail.none;authpriv.none;cron.none                -/var/log/messages
+*.info;mail.none;authpriv.none;cron.none                -?DailyPerHostLogs
+
+# The authpriv file has restricted access.
+#authpriv.*                                              /var/log/secure
+authpriv.*                                              ?DynFile
+
+# Log all the mail messages in one place.
+#mail.*                                                  -/var/log/maillog
+mail.*                                                  ?DynMail
+
+
+# Log cron stuff
+#cron.*                                                  -/var/log/cron
+cron.*                                                  ?DynCron
+
+# Everybody gets emergency messages
+*.emerg                                                 *
+
+# Save news errors of level crit and higher in a special file.
+#uucp,news.crit                                          -/var/log/spooler
+uucp,news.crit                                          -?DynSpooler
+
+# Save boot messages also to boot.log
+#local7.*                                                /var/log/boot.log
+local7.*                                                ?DynBoot
+
+# Remote Logging (we use TCP for reliable delivery)
+# An on-disk queue is created for this action. If the remote host is
+# down, messages are spooled to disk and sent when it is up again.
+#$WorkDirectory /rsyslog/spool # where to place spool files
+#$ActionQueueFileName uniqName # unique name prefix for spool files
+#$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
+#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
+#$ActionQueueType LinkedList   # run asynchronously
+#$ActionResumeRetryCount -1    # infinite retries if host is down
+
+$IncludeConfig /etc/rsyslog.d/*.conf
+
+# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
+
+#*.* @@localhost:514
+
+# ######### Receiving Messages from Remote Hosts ########## 
+# TCP Syslog Server:
+# provides TCP syslog reception and GSS-API (if compiled to support it)
+#$ModLoad imtcp.so  # load module
+#$InputTCPServerRun 514 # start up TCP listener at port 514
+# UDP Syslog Server:
+#$ModLoad imudp.so  # provides UDP syslog reception
+#$UDPServerRun 514 # start a UDP syslog server at standard port 514
+
+
+
+
+#$ModLoad ommysql # load MySQL functionality
+
+#*.* :ommysql:vmbe,Syslog,syslog,passwd
+
diff --git a/abs/core/rsyslog/rsyslog.install b/abs/core/rsyslog/rsyslog.install
new file mode 100644
index 0000000..2153832
--- /dev/null
+++ b/abs/core/rsyslog/rsyslog.install
@@ -0,0 +1,16 @@
+# arg 1:  the new package version
+# arg 2:  the old package version
+
+post_install() {
+   remove_service.sh syslog-ng
+   add_service.sh rsyslog
+   if [ ! -e /var/log/old_syslog ]
+   then
+   	mkdir -p /var/log/old_sysng
+        mv /var/log/*log* /var/log/old_sysng
+	echo "#########################################"
+	echo "/var/log/old_sysng contains old log files"
+	echo "it may be removed at your convenience"
+	echo "#########################################"
+   fi
+}
-- 
cgit v0.12

