# HG changeset patch # User Michael Schloh von Bennewitz # Date 1231054858 -3600 # Node ID 333964c621f1734563dbd8cb189e3d23aa8cbe1a # Parent f6a3aec3e5dbdb684c860a6d77b08af451bf1ccd Import spec, changing binary dir to not conflict with stock systems. diff -r f6a3aec3e5db -r 333964c621f1 dbus/dbus.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dbus/dbus.patch Sun Jan 04 08:40:58 2009 +0100 @@ -0,0 +1,38 @@ +Index: dbus/dbus-internals.c +--- dbus/dbus-internals.c.orig 2006-11-17 20:12:18 +0100 ++++ dbus/dbus-internals.c 2006-11-18 12:35:56 +0100 +@@ -512,6 +512,14 @@ + uuid->as_uint32s[DBUS_UUID_LENGTH_WORDS - 1] = DBUS_UINT32_TO_BE (now); + + _dbus_generate_random_bytes_buffer (uuid->as_bytes, DBUS_UUID_LENGTH_BYTES - 4); ++ ++ /* brand UUID as variant DCE 1.1 */ ++ uuid->as_bytes[8] &= ~0xc0; ++ uuid->as_bytes[8] |= (0x02 << 6); ++ ++ /* brand UUID as version 4 */ ++ uuid->as_bytes[6] &= ~0xf0; ++ uuid->as_bytes[6] |= (0x04 << 4); + } + + /** +Index: dbus/dbus-sysdeps-util-unix.c +--- dbus/dbus-sysdeps-util-unix.c.orig 2006-11-02 20:19:08 +0100 ++++ dbus/dbus-sysdeps-util-unix.c 2006-11-18 12:33:22 +0100 +@@ -31,6 +31,7 @@ + #include "dbus-test.h" + + #include ++#include + #include + #include + #include +@@ -526,6 +527,8 @@ + # else + # if defined(NAME_MAX) + name_max = NAME_MAX; ++# elif defined(MAXPATHLEN) ++ name_max = MAXPATHLEN; + # else + # error "buffer size for readdir_r cannot be determined" + # endif diff -r f6a3aec3e5db -r 333964c621f1 dbus/dbus.spec --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dbus/dbus.spec Sun Jan 04 08:40:58 2009 +0100 @@ -0,0 +1,199 @@ +## +## dbus.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2008 OpenPKG Foundation e.V. +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS 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. +## + +# package information +Name: dbus +Summary: Message Bus System +URL: http://www.freedesktop.org/Software/dbus +Vendor: Freedesktop Project +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: EVAL +Group: RPC +License: AFL/GPL +Version: 1.1.1 +Release: 20081126 + +# list of sources +Source0: http://dbus.freedesktop.org/releases/dbus/dbus-%{version}.tar.gz +Source1: rc.dbus +Patch0: dbus.patch + +# build information +Prefix: %{l_prefix} +BuildRoot: %{l_buildroot} +BuildPreReq: OpenPKG, openpkg >= 20040130, pkgconfig, gcc +PreReq: OpenPKG, openpkg >= 20040130 +BuildPreReq: libxml +PreReq: libxml +AutoReq: no +AutoReqProv: no + +%description + D-BUS is a message bus system, a simple way for applications to + talk to one another. D-BUS supplies both a system daemon and a per + user login session daemon. 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). + +%track + prog dbus = { + version = %{version} + url = http://dbus.freedesktop.org/releases/dbus/ + regex = dbus-(__VER__)\.tar\.gz + } + +%prep + %setup -q + %patch -p0 + + # adjust filesystem layout + %{l_shtool} subst \ + -e 's;^\(cat[^|]*|\).*;\1 sed -e "s/\\(unix:tmpdir=\\)\[^<\]\*/\\1\\/tmp/" | \\;' \ + -e 's;#! /bin/bash;#!%{l_bash};' \ + tools/run-with-tmp-session-bus.sh + %{l_shtool} subst \ + -e 's;/dbus-1\.0;;g' \ + -e 's;dbus-1;dbus;g' \ + -e 's;\(-I\${libdir}\).*;\1/dbus/include;g' \ + dbus-1.pc.in + %{l_shtool} subst \ + -e 's;-1\.la;.la;g' \ + test/name-test/Makefile.in dbus/Makefile.in tools/Makefile.in + %{l_shtool} subst \ + -e 's;/dbus-1\.0;;g' \ + -e 's;/dbus-1;;g' \ + dbus/Makefile.in tools/Makefile.in bus/Makefile.in bus/session.conf.in bus/dbus-daemon.1.in + %{l_shtool} subst \ + -e 's;\(\$(localstatedir)/run\)/dbus;\1;g' \ + bus/Makefile.in + %{l_shtool} subst \ + -e 's;^\(dbusarchincludedir *= *\$(libdir)\)\(/include/dbus\);\1/dbus\2;g' \ + dbus/Makefile.in + %{l_shtool} subst \ + -e 's;^\(LIBTOOL=.\)[^\ ]*;\1/bin/sh;' \ + configure + + # platform specific fixes + case "%{l_platform -t}" in + *-sunos* ) + %{l_shtool} subst \ + -e 's;readdir_r;__posix_readdir_r;' \ + dbus/dbus-sysdeps-util-unix.c + %{l_shtool} subst \ + -e 's;^\(Libs: -L\${libdir} -ldbus[^ ]*\);\1 -lsocket -lnsl;' \ + dbus-1.pc.in + ;; + esac + +%build + # configure package + CC="%{l_cc}" \ + CFLAGS="%{l_cflags -O} -pthread" \ + CPPFLAGS="%{l_cppflags}" \ + LDFLAGS="%{l_ldflags} -pthread" \ + ./configure \ + --prefix=%{l_prefix} \ + --bindir=%{l_prefix}/lib/dbus/bin \ + --datadir=%{l_prefix}/share/dbus \ + --sysconfdir=%{l_prefix}/etc/dbus \ + --localstatedir=%{l_prefix}/var/dbus \ + --without-x \ + --disable-qt \ + --disable-qt3 \ + --disable-glib \ + --disable-gtk \ + --disable-tests \ + --disable-ansi \ + --disable-verbose-mode \ + --disable-asserts \ + --disable-checks \ + --disable-xml-docs \ + --disable-doxygen-docs \ + --disable-gcov \ + --disable-abstract-sockets \ + --disable-gcj \ + --disable-mono \ + --disable-mono-docs \ + --disable-python \ + --disable-selinux \ + --disable-dnotify \ + --disable-shared \ + --with-xml=libxml \ + --with-session-socket-dir=%{l_prefix}/var/dbus/run \ + --with-system-pid-file=%{l_prefix}/var/dbus/run/dbus.pid \ + --with-system-socket=%{l_prefix}/var/dbus/run/dbus.socket \ + --with-console-auth-dir=%{l_prefix}/var/dbus/run \ + --with-dbus-user=%{l_rusr} + + # build package + %{l_make} %{l_mflags -O} + +%install + # install package + rm -rf $RPM_BUILD_ROOT + %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" + + # strip down package + strip $RPM_BUILD_ROOT%{l_prefix}/lib/dbus/bin/* >/dev/null 2>&1 || true + + # install run-command script + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d + %{l_shtool} install -c -m 755 %{l_value -s -a} \ + %{SOURCE rc.dbus} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ + + # determine installation files + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ + %{l_files_std} \ + '%config %{l_prefix}/etc/dbus/*.conf' \ + '%config %{l_prefix}/etc/dbus/system.d/*.conf' + +%files -f files + +%clean + rm -rf $RPM_BUILD_ROOT + +%pre + # save status and stop service before upgrade + [ $1 -eq 2 ] || exit 0 + eval `%{l_rc} dbus status 2>/dev/null | tee %{l_tmpfile}` + %{l_rc} dbus stop 2>/dev/null + exit 0 + +%post + if [ $1 -eq 2 ]; then + # restore status after upgrade + eval `cat %{l_tmpfile}`; rm -f %{l_tmpfile} + [ ".$dbus_active" = .yes ] && %{l_rc} dbus start + fi + exit 0 + +%preun + # stop service before erase and remove run files + [ $1 -eq 0 ] || exit 0 + %{l_rc} dbus stop 2>/dev/null + rm -f $RPM_INSTALL_PREFIX/var/dbus/run/* >/dev/null 2>&1 || true + exit 0 + diff -r f6a3aec3e5db -r 333964c621f1 dbus/rc.dbus --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dbus/rc.dbus Sun Jan 04 08:40:58 2009 +0100 @@ -0,0 +1,42 @@ +#!@l_prefix@/bin/openpkg rc +## +## rc.dbus -- Run-Commands +## + +%config + dbus_enable="$openpkg_rc_def" + dbus_flags="--system --fork" + +%common + dbus_pidfile="@l_prefix@/var/dbus/run/dbus.pid" + dbus_cfgfile="@l_prefix@/etc/dbus/system.conf" + dbus_signal () { + [ -f $dbus_pidfile ] && kill -$1 `cat $dbus_pidfile` + } + +%status -u @l_susr@ -o + dbus_usable="unknown" + dbus_active="no" + rcService dbus enable yes && \ + dbus_signal 0 && dbus_active="yes" + echo "dbus_enable=\"$dbus_enable\"" + echo "dbus_usable=\"$dbus_usable\"" + echo "dbus_active=\"$dbus_active\"" + +%start -u @l_susr@ + rcService dbus enable yes || exit 0 + rcService dbus active yes && exit 0 + @l_prefix@/lib/dbus/bin/dbus-daemon $dbus_flags >/dev/null 2>&1 + +%stop -u @l_susr@ + rcService dbus enable yes || exit 0 + rcService dbus active no && exit 0 + dbus_signal TERM + sleep 2 + rm -f $dbus_pidfile 2>/dev/null || true + +%restart -u @l_susr@ + rcService dbus enable yes || exit 0 + rcService dbus active no && exit 0 + rc dbus stop start +