diff options
Diffstat (limited to 'abs/core/dbus')
-rw-r--r-- | abs/core/dbus/PKGBUILD | 48 | ||||
-rw-r--r-- | abs/core/dbus/dbus | 57 | ||||
-rw-r--r-- | abs/core/dbus/dbus.install | 21 |
3 files changed, 126 insertions, 0 deletions
diff --git a/abs/core/dbus/PKGBUILD b/abs/core/dbus/PKGBUILD new file mode 100644 index 0000000..dc747bc --- /dev/null +++ b/abs/core/dbus/PKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 9899 2008-08-20 20:01:17Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Link Dupont <link@subpop.net> +# +pkgname=dbus +pkgver=1.2.3 +pkgrel=1 +pkgdesc="Freedesktop.org message bus system" +url="http://www.freedesktop.org/Software/dbus" +arch=(i686 x86_64) +license=('GPL' 'custom') +depends=('expat>=2.0' 'libx11' 'libsm') +options=(!libtool) +install=dbus.install +source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz + dbus) +md5sums=('f71641385768e99361bd298568207cee' + 'f3fd196cc278bd7b45a4ca01fb8f7894') + +build() { + cd ${startdir}/src/${pkgname}-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \ + --with-system-pid-file=/var/run/dbus.pid \ + --disable-verbose-mode --disable-static \ + --disable-tests --disable-asserts || return 1 + make || return 1 + make DESTDIR=${startdir}/pkg install || return 1 + chown 81:81 ${startdir}/pkg/var/run/dbus || return 1 + + install -m755 -d ${startdir}/pkg/etc/rc.d || return 1 + install -m 755 ${startdir}/dbus ${startdir}/pkg/etc/rc.d/ || return 1 + + #Fix configuration file + sed -i -e 's|<user>81</user>|<user>dbus</user>|' ${startdir}/pkg/etc/dbus-1/system.conf || return 1 + + #install .keep files so pacman doesn't delete empty dirs + touch ${startdir}/pkg/usr/share/dbus-1/services/.keep || return 1 + touch ${startdir}/pkg/usr/share/dbus-1/system-services/.keep || return 1 + touch ${startdir}/pkg/etc/dbus-1/session.d/.keep || return 1 + touch ${startdir}/pkg/etc/dbus-1/system.d/.keep || return 1 + + rmdir ${startdir}/pkg/usr/lib/dbus-1.0/dbus-1 || return 1 + + install -d -m755 ${startdir}/pkg/usr/share/licenses/dbus + install -m644 ${startdir}/src/${pkgname}-${pkgver}/COPYING \ + ${startdir}/pkg/usr/share/licenses/dbus/ || return 1 +} diff --git a/abs/core/dbus/dbus b/abs/core/dbus/dbus new file mode 100644 index 0000000..cd26db8 --- /dev/null +++ b/abs/core/dbus/dbus @@ -0,0 +1,57 @@ +#!/bin/bash + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + stat_busy "Starting D-BUS system messagebus" + if [ ! -x /var/run/dbus ] ; then + install -m755 -g 81 -o 81 -d /var/run/dbus + fi + if [ -x /usr/bin/dbus-uuidgen ] ; then + /usr/bin/dbus-uuidgen --ensure + fi + + /usr/bin/dbus-daemon --system + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon dbus + stat_done + fi + ;; + stop) + stat_busy "Stopping D-BUS system messagebus" + [ -f /var/run/dbus.pid ] && kill `cat /var/run/dbus.pid` + if [ $? -gt 0 ]; then + stat_fail + else + rm -f /var/run/dbus.pid + rm_daemon dbus + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + reload) + stat_busy "Reloading D-BUS configuration" + [ -f /var/run/dbus.pid ] && /usr/bin/dbus-send \ + --system --type=method_call \ + --dest=org.freedesktop.DBus \ + / org.freedesktop.DBus.ReloadConfig + if [ $? -gt 0 ]; then + stat_fail + else + stat_done + fi + ;; + *) + echo "usage: $0 {start|stop|restart|reload}" + ;; +esac +exit 0 diff --git a/abs/core/dbus/dbus.install b/abs/core/dbus/dbus.install new file mode 100644 index 0000000..85dd9a7 --- /dev/null +++ b/abs/core/dbus/dbus.install @@ -0,0 +1,21 @@ +post_install() { + getent group dbus >/dev/null || usr/sbin/groupadd -g 81 dbus + getent passwd dbus >/dev/null || usr/sbin/useradd -c 'System message bus' -u 81 -g dbus -d '/' -s /bin/false dbus + usr/bin/passwd -l dbus &>/dev/null + dbus-uuidgen --ensure +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install $1 + + #Make sure new rc script can shutdown running dbus + [ -f var/run/dbus/pid ] && mv var/run/dbus/pid var/run/dbus.pid +} + +# arg 1: the old package version +pre_remove() { + usr/sbin/userdel dbus &>/dev/null + usr/sbin/groupdel dbus &>/dev/null +} |