libraries/dbus: Initial import

This commit is contained in:
Martin Lefebvre 2010-05-11 14:56:12 +02:00 committed by Robby Workman
parent 44cd355e08
commit d7d571be32
6 changed files with 265 additions and 0 deletions

39
libraries/dbus/README Normal file
View File

@ -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

View File

@ -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

8
libraries/dbus/dbus.info Normal file
View File

@ -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}"

37
libraries/dbus/doinst.sh Normal file
View File

@ -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

View File

@ -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

10
libraries/dbus/slack-desc Normal file
View File

@ -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: