aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTJ Vanderpoel <tj@rubyists.com>2013-03-03 19:45:33 -0600
committerTJ Vanderpoel <tj@rubyists.com>2013-03-03 19:48:16 -0600
commit3d9e98cb37e56a0ee44e05394478d1758a3c0432 (patch)
treee08d11cf922c1f4a9151a805191cab44059c06c4
parent8ab45e5de64fccf7f5e546eb57b708c291f2a454 (diff)
downloadrunit-services-3d9e98cb37e56a0ee44e05394478d1758a3c0432.zip
runit-services-3d9e98cb37e56a0ee44e05394478d1758a3c0432.tar.gz
runit-services-3d9e98cb37e56a0ee44e05394478d1758a3c0432.tar.bz2
added rsvlog
Conflicts: PKGBUILD
-rw-r--r--PKGBUILD48
-rwxr-xr-xrsvlog50
2 files changed, 75 insertions, 23 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 3410ed8..ec5fda6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,3 +1,4 @@
+# Maintainer: TJ Vanderpoel <tj@rubyists.com>
# Maintainer: Kevin Berry <kb@rubyists.com>
pkgname='runit-services-git'
pkgver=20110919
@@ -11,37 +12,38 @@ depends=('runit')
makedepends=('git')
backup=('etc/sv/agetty-generic/finish' 'etc/sv/agetty-generic/run' 'etc/sv/agetty-tty1/finish' 'etc/sv/agetty-tty1/run' 'etc/sv/agetty-tty2/finish' 'etc/sv/agetty-tty2/run' 'etc/sv/agetty-tty3/finish' 'etc/sv/agetty-tty3/run' 'etc/sv/agetty-tty4/finish' 'etc/sv/agetty-tty4/run' 'etc/sv/agetty-tty5/finish' 'etc/sv/agetty-tty5/run' 'etc/sv/agetty-tty6/finish' 'etc/sv/agetty-tty6/run' 'etc/sv/apache2/log/run' 'etc/sv/apache2/run' 'etc/sv/avahi/log/run' 'etc/sv/avahi/run' 'etc/sv/bumblebeed/run' 'etc/sv/couchdb/log/run' 'etc/sv/couchdb/run' 'etc/sv/cron/log/run' 'etc/sv/cron/run' 'etc/sv/cups/log/run' 'etc/sv/cups/run' 'etc/sv/dbus/log/run' 'etc/sv/dbus/run' 'etc/sv/fgetty-generic/finish' 'etc/sv/fgetty-generic/run' 'etc/sv/fgetty-tty2/finish' 'etc/sv/fgetty-tty2/run' 'etc/sv/fgetty-tty3/finish' 'etc/sv/fgetty-tty3/run' 'etc/sv/freeswitch/log/run' 'etc/sv/freeswitch/run' 'etc/sv/gdm/run' 'etc/sv/gssd/log/run' 'etc/sv/gssd/run' 'etc/sv/idmapd/log/run' 'etc/sv/idmapd/run' 'etc/sv/kdm/run' 'etc/sv/lighttpd/log/run' 'etc/sv/lighttpd/run' 'etc/sv/lighttpd2/log/run' 'etc/sv/lighttpd2/run' 'etc/sv/memcached/log/run' 'etc/sv/memcached/run' 'etc/sv/mongodb/log/run' 'etc/sv/mongodb/run' 'etc/sv/mysql/log/run' 'etc/sv/mysql/run' 'etc/sv/nfs-server/finish' 'etc/sv/nfs-server/log/run' 'etc/sv/nfs-server/run' 'etc/sv/ngetty/run' 'etc/sv/ntpd/log/run' 'etc/sv/ntpd/run' 'etc/sv/openntpd/log/run' 'etc/sv/openntpd/run' 'etc/sv/openvpn/log/run' 'etc/sv/openvpn/run' 'etc/sv/postgresql/log/run' 'etc/sv/postgresql/run' 'etc/sv/redis/finish' 'etc/sv/redis/log/run' 'etc/sv/redis/run' 'etc/sv/rpcbind/log/run' 'etc/sv/rpcbind/run' 'etc/sv/sshd/log/run' 'etc/sv/sshd/run' 'etc/sv/statd/log/run' 'etc/sv/statd/run' 'etc/sv/syslog-ng/log/run' 'etc/sv/syslog-ng/run')
-source=('COPYRIGHT' "README.md")
-md5sums=('69ec4109404fce21737ac93f9d844d49'
-'48e57754259ba7b646ff30868b418fef')
+source=('rsvlog' 'COPYRIGHT' "README.md")
+md5sums=('1d70b6229d809076174d786926a9e356'
+ '69ec4109404fce21737ac93f9d844d49'
+ '48e57754259ba7b646ff30868b418fef')
_gitroot="git://github.com/rubyists/runit-services.git"
_gitname="runit-services"
build() {
-cd "$srcdir"
-msg "Connecting to GIT server...."
-
-if [ -d $_gitname ] ; then
-cd $_gitname && git pull origin
-msg "The local files are updated."
-else
-git clone --depth=1 $_gitroot $_gitname
-fi
-
-msg "GIT checkout done or server timeout"
-msg "Starting make..."
-
+ cd "$srcdir"
+ msg "Connecting to GIT server...."
+
+ if [ -d $_gitname ] ; then
+ cd $_gitname && git pull origin
+ msg "The local files are updated."
+ else
+ git clone --depth=1 $_gitroot $_gitname
+ fi
+
+ msg "GIT checkout done or server timeout"
+ msg "Starting make..."
}
package() {
-cd "$srcdir/$_gitname/"
+ cd "$srcdir/$_gitname/"
-install -D -m 0644 COPYRIGHT "$pkgdir/usr/share/doc/runit-services/COPYRIGHT"
-install -D -m 0644 README.md "$pkgdir/usr/share/doc/runit-services/README.md"
-install -D -d "$pkgdir/etc/sv"
+ install -D -m 0755 rsvlog "$pkgdir/usr/bin/rsvlog"
+ install -D -m 0644 COPYRIGHT "$pkgdir/usr/share/doc/runit-services/COPYRIGHT"
+ install -D -m 0644 README.md "$pkgdir/usr/share/doc/runit-services/README.md"
+ install -D -d "$pkgdir/etc/sv"
-for service in etc/sv/*;do
-cp -a $service "$pkgdir/etc/sv/"
-done
+ for service in etc/sv/*;do
+ cp -a $service "$pkgdir/etc/sv/"
+ done
}
diff --git a/rsvlog b/rsvlog
new file mode 100755
index 0000000..5058bfd
--- /dev/null
+++ b/rsvlog
@@ -0,0 +1,50 @@
+#!/usr/bin/env bash
+# Author: TJ Vanderpoel
+# Licence: MIT
+# This is a generic 'run' script meant to be linked in a log/ directory
+# of a runit service. If the file 'conf' exists, it can modify the behavior
+# of the svlogd in these ways:
+# USERGROUP=user:group (default daemon:adm)
+# SV_LOGDIR=/path/to/log (default `basename $(dirname $PWD)`)
+# CURRENT_LOG_FILE=filename.log (default 'current')
+set -e
+if [ $0 != "./run" ];then
+ echo "This script meant to be linked as ./run in a service/log directory only!"
+ exit 1
+fi
+curdir=$(basename $(pwd))
+if [ "$curdir" != "log" ];then
+ echo "This script meant to be run from a service/log directory only!"
+ exit 1
+fi
+if [ -f ./conf ];then
+ source ./conf
+fi
+if [ "x$SV_LOGDIR" != "x" ];then
+ logdir=$SV_LOGDIR
+fi
+if [ -w /var/log ];then
+ user_group=${USERGROUP:-daemon:adm}
+ if [ "x$logdir" == "x" ];then
+ logdir=$(basename $(dirname $(pwd)))
+ fi
+ [ -d "/var/log/$logdir" ] || mkdir -p "/var/log/$logdir"
+ [ -L ./main ] || [ -d ./main ] || ln -s "/var/log/$logdir" ./main
+ [ -L ./current ] || ln -s main/current
+ if [ "x$CURRENT_LOG_FILE" != "x" ];then
+ [ -L "/var/log/$logdir/$CURRENT_LOG_FILE" ] || ln -s current "/var/log/$logdir/$CURRENT_LOG_FILE"
+ fi
+ usergroup=$(stat -c "%U:%G" "/var/log/$logdir")
+ if [ "$usergroup" != "$user_group" ];then
+ chown -R $user_group "/var/log/$logdir"
+ fi
+ echo Logging as $user_group to /var/log/$logdir
+ exec chpst -u $user_group svlogd -t ./main
+else
+ echo Logging in $PWD
+ if [ "x$CURRENT_LOG_FILE" != "x" ];then
+ [ -L "$CURRENT_LOG_FILE" ] || ln -s current "$CURRENT_LOG_FILE"
+ fi
+ exec svlogd -t ./
+fi
+