summaryrefslogtreecommitdiffstats
path: root/abs/core/dbus
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/dbus')
-rw-r--r--abs/core/dbus/PKGBUILD48
-rw-r--r--abs/core/dbus/dbus57
-rw-r--r--abs/core/dbus/dbus.install21
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
+}