diff options
author | Martin Lefebvre <dadexter@gmail.com> | 2010-05-11 14:56:12 +0200 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2010-05-11 14:56:12 +0200 |
commit | d7d571be321b81c83f49aea5c880e97d5bf53944 (patch) | |
tree | a45375de032857154f51b1d659d8d27ed36b7104 | |
parent | 44cd355e08de676c5379d2db342d17001b674442 (diff) | |
download | slackbuilds-d7d571be321b81c83f49aea5c880e97d5bf53944.tar.gz |
libraries/dbus: Initial import
-rw-r--r-- | libraries/dbus/README | 39 | ||||
-rw-r--r-- | libraries/dbus/dbus.SlackBuild | 100 | ||||
-rw-r--r-- | libraries/dbus/dbus.info | 8 | ||||
-rw-r--r-- | libraries/dbus/doinst.sh | 37 | ||||
-rw-r--r-- | libraries/dbus/rc.messagebus.new | 71 | ||||
-rw-r--r-- | libraries/dbus/slack-desc | 10 |
6 files changed, 265 insertions, 0 deletions
diff --git a/libraries/dbus/README b/libraries/dbus/README new file mode 100644 index 0000000000..4d8e139ae8 --- /dev/null +++ b/libraries/dbus/README @@ -0,0 +1,39 @@ +D-Bus is a message bus system - a simple way for applications to talk +to one another. + +D-Bus supplies both a system daemon (for events such as "new hardware +device added" or "printer queue changed") and a per-user-login-session +daemon (for general IPC needs among user applications). Also, the message +bus is built on top of a general one-to-one message passing framework, +which can be used by any two apps to communicate directly (without going +through the message bus daemon). Currently the communicating applications +are on one computer, but TCP/IP option is available and remote support +planned. + +You will need to create the 'messagebus' user and group before installing the +dbus package; sample lines to do so are below: + /usr/sbin/groupadd -g 81 messagebus + /usr/sbin/useradd -c 'System Message Bus' -g messagebus -u 81 -d '/' \ + -s /bin/false messagebus +Note that the "\" character is a escape character, meaning that both of those +lines are actually *one* line. Also note that the numerical uid and gid given +in the above sample lines may need to change on your system; if you already +have an existing user and/or group with those id's, then they obviously need +to be modified for your system. Because the 'messagebus' user and group are +considered system accounts, the custom is to make their uid's and gid's less +than 100, but that's entirely up to you. Note that Slackware 12.0 will use +uid and gid of 81 for these groups, so you should strongly consider using them +instead of changing them. + +After creating the 'messagebus' user and group, you will need to make sure +the /etc/rc.d/rc.messagebus script is run at boot. The easiest way to do this +is adding something like the following line to /etc/rc.d/rc.local: + if [ -x /etc/rc.d/rc.messagebus ]; then + /etc/rc.d/rc.messagebus start + fi + +You will also want to stop the messagebus service at shutdown; the easiest way +to do this is adding something like the following to /etc/rc.d/rc.local_shutdown: + if [ -x /etc/rc.d/rc.messagebus ]; then + /etc/rc.d/rc.messagebus stop + fi diff --git a/libraries/dbus/dbus.SlackBuild b/libraries/dbus/dbus.SlackBuild new file mode 100644 index 0000000000..7c0cc1cffc --- /dev/null +++ b/libraries/dbus/dbus.SlackBuild @@ -0,0 +1,100 @@ +#!/bin/sh + +# Slackware build script for dbus + +# Copyright 2006 Martin Lefebvre <dadexter@gmail.com> +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Modified by Robby Workman - http://rlworkman.net + +PRGNAM=dbus +VERSION=1.0.2 +ARCH=${ARCH:-i486} +BUILD=${BUILD:-2} +TAG=${TAG:-_SBo} +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP || exit 1 +rm -rf $PRGNAM-$VERSION +tar -zxvf $CWD/$PRGNAM-$VERSION.tar.gz || exit 1 +cd $PRGNAM-$VERSION || exit 1 +chown -R root:root . +chmod -R u+w,go+r-w,a-s . + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-shared=yes \ + --enable-static=no \ + --with-system-pid-file=/var/run/dbus/dbus.pid \ + --with-system-socket=/var/run/dbus/system_bus_socket \ + || exit 1 + +make || exit 1 +make install-strip DESTDIR=$PKG || exit 1 + +if [ -d $PKG/usr/man ]; then +( cd $PKG/usr/man + find . -type f -exec gzip -9 {} \; + for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done +) +fi + +# Install init script for dbus - the included one isn't quite correct +rm $PKG/etc/rc.d/* +install -m 0755 $CWD/rc.messagebus.new $PKG/etc/rc.d/rc.messagebus.new + +# Don't clobber existing config files +mv $PKG/etc/dbus-1/session.conf $PKG/etc/dbus-1/session.conf.new +mv $PKG/etc/dbus-1/system.conf $PKG/etc/dbus-1/system.conf.new + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS COPYING ChangeLog HACKING INSTALL NEWS README \ + $PKG/usr/doc/$PRGNAM-$VERSION +for i in \ + TODO busconfig.dtd dbus-faq.xml dbus-specification.xml dbus-test-plan.xml \ + dbus-tutorial.xml dcop-howto.txt file-boilerplate.c introspect.dtd \ + introspect.xsl ; +do \ + cat doc/$i > $PKG/usr/doc/$PRGNAM-$VERSION/$i ; +done +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +find $PKG/usr/doc/$PRGNAM-$VERSION -type f -exec chmod 644 {} \; + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/libraries/dbus/dbus.info b/libraries/dbus/dbus.info new file mode 100644 index 0000000000..1883b4b24b --- /dev/null +++ b/libraries/dbus/dbus.info @@ -0,0 +1,8 @@ +PRGNAM="dbus" +VERSION="1.0.2" +HOMEPAGE="http://dbus.freedesktop.org" +DOWNLOAD="http://dbus.freedesktop.org/releases/dbus/dbus-1.0.2.tar.gz" +MD5SUM="0552a9b54beb4a044951b7cdbc8fc855" +MAINTAINER="Martin Lefebvre" +EMAIL="dadexter@gmail.com" +APPROVED="rworkman,BP{k}" diff --git a/libraries/dbus/doinst.sh b/libraries/dbus/doinst.sh new file mode 100644 index 0000000000..d07d872ee1 --- /dev/null +++ b/libraries/dbus/doinst.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +# Keep same perms on rc.messagebus.new: +if [ -e etc/rc.d/rc.messagebus ]; then + cp -a etc/rc.d/rc.messagebus etc/rc.d/rc.messagebus.new.incoming + cat etc/rc.d/rc.messagebus.new > etc/rc.d/rc.messagebus.new.incoming + mv etc/rc.d/rc.messagebus.new.incoming etc/rc.d/rc.messagebus.new +fi + +config etc/dbus-1/session.conf.new +config etc/dbus-1/system.conf.new +config etc/rc.d/rc.messagebus.new + +if grep -q messagebus etc/passwd ; then + chown -R messagebus var/lib/dbus +else + echo Error: the \'messagebus\' user does not exist. + echo You need to create the \'messagebus\' user then do + echo " chown -R messagebus /var/lib/dbus " + echo + echo Press Enter to continue + read _JUNK +fi + diff --git a/libraries/dbus/rc.messagebus.new b/libraries/dbus/rc.messagebus.new new file mode 100644 index 0000000000..ab3df69511 --- /dev/null +++ b/libraries/dbus/rc.messagebus.new @@ -0,0 +1,71 @@ +#!/bin/sh +# +# messagebus: The D-BUS systemwide message bus +# +# description: This is a daemon which broadcasts notifications of system events \ +# and other messages. See http://www.freedesktop.org/software/dbus/ +# +# processname: dbus-daemon +# pidfile: /var/run/dbus/pid + +# This is a modified version of the rc.messagebus script distributed with the +# dbus sources. Thanks to Don Tanner of the GWare <http://gware.org> Project +# for most of the work involved --Robby Workman <http://rlworkman.net> + + +PIDFILE=/var/run/dbus/dbus.pid + +start() { + echo -n "Starting system message bus: " + if [ -x /usr/bin/dbus-uuidgen ] ; then + echo -n "/usr/bin/dbus-uuidgen --ensure" + /usr/bin/dbus-uuidgen --ensure + fi + + if [ -x /usr/bin/dbus-daemon ];then + echo -n " ; /usr/bin/dbus-daemon --system" + /usr/bin/dbus-daemon --system 1>/dev/null 2>/dev/null + fi + echo +} + +stop() { + echo "Stopping system message bus..." + if [ -e "$PIDFILE" ]; then + pid=$(cat $PIDFILE) + kill $pid 1>/dev/null 2>/dev/null + rm -f $PIDFILE + else + killall dbus-daemon 1>/dev/null 2>/dev/null + fi +} + +reload() { + echo "Reloading system message bus configuration..." + if [ -e "$PIDFILE" ]; then + pid=$(cat $PIDFILE) + kill -HUP $pid + else + killall -HUP dbus-daemon + fi +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + start + ;; + reload) + reload + ;; + *) + echo $"Usage: $0 {start|stop|restart|reload}" + ;; +esac diff --git a/libraries/dbus/slack-desc b/libraries/dbus/slack-desc new file mode 100644 index 0000000000..6bb93bd6b9 --- /dev/null +++ b/libraries/dbus/slack-desc @@ -0,0 +1,10 @@ +dbus: D-Bus message bus system for interprocess communication +dbus: +dbus: D-Bus supplies both a system daemon (for events such as "new hardware +dbus: device added" or "printer queue changed") and a per-user-login-session +dbus: daemon (for general IPC needs among user applications). Also, the message +dbus: bus is built on top of a general one-to-one message passing framework, +dbus: which can be used by any two apps to communicate directly (without going +dbus: through the message bus daemon). +dbus: +dbus: |