summaryrefslogtreecommitdiffstats
path: root/murmur
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xssn.at>2010-01-15 15:44:57 +0100
committerFlorian Pritz <bluewind@xssn.at>2010-01-17 11:59:54 +0100
commit64006164bbad9e1a0a383dde8aa86a5316c1a66f (patch)
tree0b02e45d6d1b8fd53c846a8485b84c3992fcb78d /murmur
parent2f9f502d10d7ac92f051b40a71b31998c93e2607 (diff)
downloadaur-packages-64006164bbad9e1a0a383dde8aa86a5316c1a66f.tar.gz
aur-packages-64006164bbad9e1a0a383dde8aa86a5316c1a66f.tar.xz
add murmur
Signed-off-by: Florian Pritz <bluewind@xssn.at>
Diffstat (limited to 'murmur')
-rw-r--r--murmur/ChangeLog28
-rw-r--r--murmur/PKGBUILD85
-rw-r--r--murmur/murmur.conf.d2
-rw-r--r--murmur/murmur.dbus.conf22
-rw-r--r--murmur/murmur.install44
-rw-r--r--murmur/murmur.logrotate.d6
-rwxr-xr-xmurmur/murmur.rc.d37
-rw-r--r--murmur/murmur.sh9
8 files changed, 174 insertions, 59 deletions
diff --git a/murmur/ChangeLog b/murmur/ChangeLog
new file mode 100644
index 0000000..f2dabfd
--- /dev/null
+++ b/murmur/ChangeLog
@@ -0,0 +1,28 @@
+2009-12-18 Otto Allmendinger <otto.allmendinger@gmail.com>
+ * 1.2.0-8:
+ included dbus configuration file, changed default dbus settings
+
+ * 1.2.0-7:
+ included manfile
+ renamed binary "murmur" to "murmurd" to be consistent with manfile
+ changed murmur user shell to /bin/false (shell access not required anymore)
+
+2009-12-17 Malte Rabenseifner <malte@zearan.de>
+ * 1.2.0-6:
+ included manfile
+ using mumbles included privilige dropping
+ added some files to backup array
+ added logrotate configuration file
+
+2009-12-15 Otto Allmendinger <otto.allmendinger@gmail.com>
+ * 1.2.0-5 :
+ simplified dependencies
+ increased visibility of install messages
+
+ * 1.2.0-4 :
+ added boost to makedepends
+
+ * 1.2.0-3 :
+ added ChangeLog
+ added post_upgrade() function
+ added x86_64 to arch
diff --git a/murmur/PKGBUILD b/murmur/PKGBUILD
index bc5ee00..46ea90c 100644
--- a/murmur/PKGBUILD
+++ b/murmur/PKGBUILD
@@ -1,45 +1,58 @@
-# Contributor: Sebastian.Salich@gmx.de
-# Maintainer: Doc Angelo
+# Maintainer: Otto Allmendinger <otto.allmendinger@googlemail.com>
+# Contributor: Malte Rabenseifner <malte@zearan.de>
pkgname=murmur
-pkgver=1.1.8
-pkgrel=1
-arch=('i686' 'x86_64')
+pkgver=1.2.0
+pkgrel=8
pkgdesc="The voice chat application server for Mumble"
+arch=('i686' 'x86_64')
+url="http://mumble.sourceforge.net"
license=('GPL')
-backup=('etc/murmurd.ini')
-depends=('qt>=4.4.0' 'libcap')
-makedepends=('pkgconfig')
-conflicts=('mumble<=1.1.4' 'mumble-server')
-options=('!libtool')
-url="http://mumble.sourceforge.net/"
-source=("http://downloads.sourceforge.net/mumble/mumble-$pkgver.tar.gz" \
- murmurd \
- murmur.install \
- murmur-config.sh)
-md5sums=('a7da012922d39b87c45d9f481d4b5efb'
- 'e3c7be4cc45ff64a7b9e36605ac24497'
- '5a9f17491006e979037ac148a3881fe2'
- 'ceb7bf98b02ce49837b2ea7640c4b68d')
-install=murmur.install
+depends=('avahi' 'lsb-release' 'protobuf' 'qt>=4.4.0')
+makedepends=('boost')
+conflicts=('murmur-ice' 'murmur-static' 'murmur-git')
+backup=("etc/murmur.ini"
+ "etc/logrotate.d/murmur"
+ "etc/conf.d/murmur" )
+install="murmur.install"
+source=("http://downloads.sourceforge.net/mumble/mumble-$pkgver.tar.gz"
+ "murmur.rc.d"
+ "murmur.conf.d"
+ "murmur.dbus.conf"
+ "murmur.logrotate.d"
+)
+
+md5sums=('25872328c8bbc8282ad7ebdeacc0e8b6'
+ 'b99061be67c54bf0bb4a061fd1280281'
+ '11c1cc875e8021739ec2087252cf0533'
+ 'eddea4cdbd0bde4b960a67e16b5d5478'
+ 'c56726cb267ead68f37f35c28e36e6fa')
build() {
- cd $srcdir/mumble-$pkgver
-
- # Building murmur
- /usr/bin/qmake main.pro "CONFIG+=no-client no-ice" || exit 1
- make || exit 1
+ cd ${srcdir}/mumble-$pkgver
+
+ qmake main.pro CONFIG+="no-client no-ice" || return 1
+ make || return 1
- # create directories and copy files
- install -m755 -D $startdir/murmurd $pkgdir/etc/rc.d/murmurd
- install -m755 -D $startdir/murmur-config.sh $pkgdir/usr/bin/murmur-config.sh
- install -m755 -D ./release/murmurd $pkgdir/usr/sbin/murmurd
- install -m755 -d $pkgdir/usr/share/man/man1
- install -m644 -D ./man/mur* $pkgdir/usr/share/man/man1/
- install -m755 -d $pkgdir/var/lib/murmurd
+ sed -e "1i# vi:ft=cfg" \
+ -e "s|database=|database=/var/lib/murmur/murmur.sqlite|" \
+ -e "s|dbus=session|#dbus=system|" \
+ -e "s|#logfile=murmur.log|logfile=/var/log/murmur/murmur.log|" \
+ -e "s|#pidfile=|pidfile=/var/run/murmur/murmur.pid|" \
+ -e "s|#uname=|uname=murmur|" \
+ -i scripts/murmur.ini || return 1
- # copy and modify murmurd.ini
- sed 's|database=|database=/var/lib/murmurd/murmurd.sqlite|g;s|#logfile=murmur.log|logfile=/var/log/murmurd.log|g' ./scripts/murmur.ini > ./scripts/murmurd.ini
- install -m644 -D ./scripts/murmurd.ini $pkgdir/etc/
- rm ./scripts/murmurd.ini
+ install -dm755 ${pkgdir}/var/lib/murmur
+ install -dm755 ${pkgdir}/var/log/murmur
+ install -dm755 ${pkgdir}/var/run/murmur
+ install -Dm755 release/murmurd ${pkgdir}/usr/sbin/murmurd
+ install -Dm644 scripts/murmur.ini ${pkgdir}/etc/murmur.ini
+ install -Dm755 ${startdir}/murmur.rc.d ${pkgdir}/etc/rc.d/murmur
+ install -Dm644 ${startdir}/murmur.conf.d ${pkgdir}/etc/conf.d/murmur
+ install -Dm644 ${startdir}/murmur.dbus.conf \
+ ${pkgdir}/etc/dbus-1/system.d/murmur.conf
+ install -Dm644 ${startdir}/murmur.logrotate.d \
+ ${pkgdir}/etc/logrotate.d/murmur
+ install -Dm644 README ${pkgdir}/usr/share/doc/murmur/README
+ install -Dm644 man/murmurd.1 ${pkgdir}/usr/share/man/man1/murmurd.1
}
diff --git a/murmur/murmur.conf.d b/murmur/murmur.conf.d
new file mode 100644
index 0000000..592194b
--- /dev/null
+++ b/murmur/murmur.conf.d
@@ -0,0 +1,2 @@
+# Use /etc/murmur.ini as configuration file
+PARAMS="-ini /etc/murmur.ini"
diff --git a/murmur/murmur.dbus.conf b/murmur/murmur.dbus.conf
new file mode 100644
index 0000000..cf937d7
--- /dev/null
+++ b/murmur/murmur.dbus.conf
@@ -0,0 +1,22 @@
+<!-- vi: set ft=xml: -->
+<!--
+ As described in http://mumble.sourceforge.net/DBus,
+ but with different username
+-->
+<!DOCTYPE busconfig PUBLIC
+ "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+
+ <policy user="murmur">
+ <allow own="net.sourceforge.mumble.murmur"/>
+ </policy>
+ <policy user="root">
+ <allow own="net.sourceforge.mumble.murmur"/>
+ </policy>
+
+ <policy context="default">
+ <allow send_destination="net.sourceforge.mumble.murmur"/>
+ <allow receive_sender="net.sourceforge.mumble.murmur"/>
+ </policy>
+</busconfig>
diff --git a/murmur/murmur.install b/murmur/murmur.install
index d940c64..9e1446d 100644
--- a/murmur/murmur.install
+++ b/murmur/murmur.install
@@ -1,35 +1,33 @@
-# arg 1: the new package version
-pre_install() {
- /bin/true
-}
-
post_install() {
- echo ' -> The user SuperUser has a blank password! You can change'
- echo ' -> this and administrate users with murmur-config.sh.'
- echo ''
-}
-# arg 1: the new package version
-# arg 2: the old package version
-pre_upgrade() {
- /bin/true
+ # bug: dbus reload here doesn't work
+ # workaround: it seems to work if you do it a few seconds later, manually
+ /etc/rc.d/dbus reload > /dev/null
+
+ /usr/bin/getent group murmur > /dev/null || /usr/sbin/groupadd murmur
+ /usr/bin/getent passwd murmur > /dev/null || \
+ /usr/sbin/useradd -d /var/lib/murmur -g murmur -s /bin/false murmur
+
+ chown -R murmur:murmur /var/lib/murmur
+ chown -R murmur:murmur /var/run/murmur
+ chown -R murmur:murmur /var/log/murmur
+
+ echo
+ echo '==> Set the SuperUser password with (as root):'
+ echo '==> murmurd -ini /etc/murmur.ini -supw PASSWORD'
}
post_upgrade() {
- /bin/true
+ post_install
}
-# arg 1: the old package version
pre_remove() {
- /bin/true
+ [ -f /var/run/daemons/murmur ] && /etc/rc.d/murmur stop > /dev/null
+ killall -u murmur -5
+ sleep 1
}
-# arg 1: the old package version
post_remove() {
- /bin/true
+ /etc/rc.d/dbus reload > /dev/null
+ /usr/sbin/userdel murmur > /dev/null
}
-
-op=$1
-shift
-$op $*
- \ No newline at end of file
diff --git a/murmur/murmur.logrotate.d b/murmur/murmur.logrotate.d
new file mode 100644
index 0000000..e113175
--- /dev/null
+++ b/murmur/murmur.logrotate.d
@@ -0,0 +1,6 @@
+/var/log/murmur/murmur.log {
+ missingok
+ postrotate
+ /bin/kill -HUP `cat /var/run/murmur/murmur.pid 2>/dev/null` 2> /dev/null || true
+ endscript
+}
diff --git a/murmur/murmur.rc.d b/murmur/murmur.rc.d
new file mode 100755
index 0000000..ae5d42d
--- /dev/null
+++ b/murmur/murmur.rc.d
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=$(pidof -o %PPID /usr/lib/murmur/murmur)
+case "$1" in
+ start)
+ stat_busy "Starting murmur"
+ [ -z "$PID" ] && /usr/lib/murmur/murmur -ini /etc/murmurd/murmurd.ini
+ [ -z "$PID" ] && /usr/lib/murmur/murmur -ini /etc/murmurd/murmurd-b52.ini
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon murmur
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping murmur"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon murmur
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/murmur/murmur.sh b/murmur/murmur.sh
new file mode 100644
index 0000000..26aa922
--- /dev/null
+++ b/murmur/murmur.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+#
+# Author: Otto Allmendinger <otto.allmendinger at googlemail dot com>
+# Date: 2009-12-14
+# Description: Murmur wrapper script for pivilige separation
+#
+
+ARGS="-ini /etc/murmur.ini $@"
+su -c "/usr/lib/murmur/murmur ${ARGS}" - murmur