summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2006-11-19 17:32:33 +0000
committerDoug Goldstein <cardoe@gentoo.org>2006-11-19 17:32:33 +0000
commit08b8f8aa0125a174ea94f7dd9cc8a4c593add1b8 (patch)
treea05fc7c3f54b539203ed24d7e1fef55376a80ca3 /sys-apps
parentRemove old versions (diff)
downloadhistorical-08b8f8aa0125a174ea94f7dd9cc8a4c593add1b8.tar.gz
historical-08b8f8aa0125a174ea94f7dd9cc8a4c593add1b8.tar.bz2
historical-08b8f8aa0125a174ea94f7dd9cc8a4c593add1b8.zip
pthreads assertion fix from upstream
Package-Manager: portage-2.1.2_rc2
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/dbus/ChangeLog10
-rw-r--r--sys-apps/dbus/dbus-1.0.1-r1.ebuild116
-rw-r--r--sys-apps/dbus/dbus-1.0.1.ebuild4
-rw-r--r--sys-apps/dbus/files/dbus-1.0.1-pthread-holder-fix.diff36
-rw-r--r--sys-apps/dbus/files/dbus.init-1.050
-rw-r--r--sys-apps/dbus/files/digest-dbus-1.0.1-r13
6 files changed, 216 insertions, 3 deletions
diff --git a/sys-apps/dbus/ChangeLog b/sys-apps/dbus/ChangeLog
index e3442784b9d5..8e1d20e5796c 100644
--- a/sys-apps/dbus/ChangeLog
+++ b/sys-apps/dbus/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-apps/dbus
# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/ChangeLog,v 1.153 2006/11/19 14:48:46 pylon Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/ChangeLog,v 1.154 2006/11/19 17:32:33 cardoe Exp $
+
+*dbus-1.0.1-r1 (19 Nov 2006)
+
+ 19 Nov 2006; Doug Goldstein <cardoe@gentoo.org> -files/dbus.init-0.95,
+ -files/dbus-0.95-pass-context.patch, +files/dbus.init-1.0,
+ +files/dbus-1.0.1-pthread-holder-fix.diff, -dbus-0.95.ebuild,
+ dbus-1.0.1.ebuild, +dbus-1.0.1-r1.ebuild:
+ pthreads assertion fix from upstream
19 Nov 2006; Lars Weiler <pylon@gentoo.org> dbus-0.62-r1.ebuild:
Reverting to ~ppc due to build-failure with current stable qt
diff --git a/sys-apps/dbus/dbus-1.0.1-r1.ebuild b/sys-apps/dbus/dbus-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..266fbe8549b4
--- /dev/null
+++ b/sys-apps/dbus/dbus-1.0.1-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/dbus-1.0.1-r1.ebuild,v 1.1 2006/11/19 17:32:33 cardoe Exp $
+
+WANT_AUTOCONF=2.5
+inherit eutils multilib debug autotools
+
+DESCRIPTION="A message bus system, a simple way for applications to talk to each other"
+HOMEPAGE="http://dbus.freedesktop.org/"
+SRC_URI="http://dbus.freedesktop.org/releases/dbus/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="|| ( GPL-2 AFL-2.1 )"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="doc selinux X"
+
+RDEPEND="X? ( x11-libs/libXt x11-libs/libX11 )
+ selinux? ( sys-libs/libselinux )
+ >=dev-libs/expat-1.95.8
+ !<sys-apps/dbus-0.91"
+
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ doc? ( app-doc/doxygen
+ app-text/xmlto )"
+
+src_unpack() {
+ unpack "${A}"
+ cd "${S}"
+
+ # fix assertion failure with pthreads
+ epatch "${FILESDIR}"/${PN}-1.0.1-pthread-holder-fix.diff
+}
+
+src_compile() {
+ local myconf=""
+
+ hasq test ${FEATURES} && myconf="${myconf} --enable-tests=yes"
+
+ econf \
+ $(use_with X x) \
+ $(use_enable kernel_linux dnotify) \
+ $(use_enable kernel_FreeBSD kqueue) \
+ $(use_enable selinux) \
+ $(use_enable debug verbose-mode) \
+ $(use_enable debug asserts) \
+ --with-xml=expat \
+ --with-system-pid-file=/var/run/dbus.pid \
+ --with-system-socket=/var/run/dbus/system_bus_socket \
+ --with-session-socket-dir=/tmp \
+ --with-dbus-user=messagebus \
+ --localstatedir=/var \
+ $(use_enable doc doxygen-docs) \
+ --disable-xml-docs \
+ ${myconf} \
+ || die "econf failed"
+
+ # after the compile, it uses a selinuxfs interface to
+ # check if the SELinux policy has the right support
+ use selinux && addwrite /selinux/access
+
+ emake || die "make failed"
+}
+
+src_test() {
+ DBUS_VERBOSE=1 make check || die "make check failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+
+ # initscript
+ newinitd "${FILESDIR}"/dbus.init-1.0 dbus
+
+ # dbus X session script (#77504)
+ # turns out to only work for GDM. has been merged into other desktop
+ # (kdm and such scripts)
+ exeinto /etc/X11/xinit/xinitrc.d/
+ doexe "${FILESDIR}"/30-dbus
+
+ # needs to exist for the system socket
+ keepdir /var/run/dbus
+ # needs to exist for machine id
+ keepdir /var/lib/dbus
+
+ keepdir /usr/lib/dbus-1.0/services
+ keepdir /usr/share/dbus-1/services
+
+ dodoc AUTHORS ChangeLog HACKING NEWS README doc/TODO
+ if use doc; then
+ dohtml doc/*html
+ fi
+}
+
+pkg_preinst() {
+ enewgroup messagebus || die "Problem adding messagebus group"
+ enewuser messagebus -1 "-1" -1 messagebus || die "Problem adding messagebus user"
+}
+
+pkg_postinst() {
+ elog "To start the D-Bus system-wide messagebus by default"
+ elog "you should add it to the default runlevel :"
+ elog "\`rc-update add dbus default\`"
+ elog
+ elog "If dbus is already installed and running,"
+ elog "run etc-update and then run the following:"
+ elog "\`/etc/init.d/dbus reload\`"
+ elog "This will cause it to reload it's configs but"
+ elog "*not* run the newest version you just installed."
+ elog "You must tell it to restart for that to happen,"
+ elog "however not all apps can handle a D-Bus restart."
+ elog
+ ewarn
+ ewarn "You MUST run 'revdep-rebuild' after emerging this package"
+ ewarn
+}
diff --git a/sys-apps/dbus/dbus-1.0.1.ebuild b/sys-apps/dbus/dbus-1.0.1.ebuild
index 4f4fce93021a..e9bef237d3c1 100644
--- a/sys-apps/dbus/dbus-1.0.1.ebuild
+++ b/sys-apps/dbus/dbus-1.0.1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/dbus-1.0.1.ebuild,v 1.1 2006/11/17 23:43:48 steev Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/dbus-1.0.1.ebuild,v 1.2 2006/11/19 17:32:33 cardoe Exp $
WANT_AUTOCONF=2.5
inherit eutils multilib debug autotools
@@ -62,7 +62,7 @@ src_install() {
make DESTDIR="${D}" install || die "make install failed"
# initscript
- newinitd "${FILESDIR}"/dbus.init-0.95 dbus
+ newinitd "${FILESDIR}"/dbus.init-1.0 dbus
# dbus X session script (#77504)
# turns out to only work for GDM. has been merged into other desktop
diff --git a/sys-apps/dbus/files/dbus-1.0.1-pthread-holder-fix.diff b/sys-apps/dbus/files/dbus-1.0.1-pthread-holder-fix.diff
new file mode 100644
index 000000000000..4ac2260d3f37
--- /dev/null
+++ b/sys-apps/dbus/files/dbus-1.0.1-pthread-holder-fix.diff
@@ -0,0 +1,36 @@
+Index: dbus-sysdeps-pthread.c
+===================================================================
+RCS file: /cvs/dbus/dbus/dbus/dbus-sysdeps-pthread.c,v
+retrieving revision 1.5
+diff -u -p -B -b -r1.5 dbus-sysdeps-pthread.c
+--- dbus/dbus-sysdeps-pthread.c 28 Oct 2006 01:41:37 -0000 1.5
++++ dbus/dbus-sysdeps-pthread.c 19 Nov 2006 12:40:47 -0000
+@@ -153,6 +153,7 @@ _dbus_pthread_mutex_lock (DBusMutex *mut
+ {
+ /* Wait for the lock */
+ PTHREAD_CHECK ("pthread_mutex_lock", pthread_mutex_lock (&pmutex->lock));
++ pmutex->holder = self;
+ _dbus_assert (pmutex->count == 0);
+ }
+
+@@ -222,10 +223,11 @@ _dbus_pthread_condvar_wait (DBusCondVar
+ _dbus_assert (pthread_equal (pmutex->holder, pthread_self ()));
+
+ old_count = pmutex->count;
+- pmutex->count = 0;
++ pmutex->count = 0; /* allow other threads to lock */
+ PTHREAD_CHECK ("pthread_cond_wait", pthread_cond_wait (&pcond->cond, &pmutex->lock));
+ _dbus_assert (pmutex->count == 0);
+ pmutex->count = old_count;
++ pmutex->holder = pthread_self(); /* other threads may have locked the mutex in the meantime */
+ }
+
+ static dbus_bool_t
+@@ -264,6 +266,7 @@ _dbus_pthread_condvar_wait_timeout (DBus
+
+ _dbus_assert (pmutex->count == 0);
+ pmutex->count = old_count;
++ pmutex->holder = pthread_self(); /* other threads may have locked the mutex in the meantime */
+
+ /* return true if we did not time out */
+ return result != ETIMEDOUT;
diff --git a/sys-apps/dbus/files/dbus.init-1.0 b/sys-apps/dbus/files/dbus.init-1.0
new file mode 100644
index 000000000000..ff24f2d53ac7
--- /dev/null
+++ b/sys-apps/dbus/files/dbus.init-1.0
@@ -0,0 +1,50 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/files/dbus.init-1.0,v 1.1 2006/11/19 17:32:33 cardoe Exp $
+
+opts="reload"
+
+depend() {
+ after nscd dns
+}
+
+start() {
+ ebegin "Starting D-BUS system messagebus"
+
+ /usr/bin/dbus-uuidgen --ensure
+
+ # We need to test if /var/run/dbus exists, since script will fail if it does not
+ [[ ! -e /var/run/dbus ]] && mkdir /var/run/dbus
+
+ start-stop-daemon --start --pidfile /var/run/dbus.pid --exec /usr/bin/dbus-daemon -- --system
+ eend $?
+}
+
+stop() {
+ local retval
+
+ ebegin "Stopping D-BUS system messagebus"
+
+ start-stop-daemon --stop --pidfile /var/run/dbus.pid
+ retval=$?
+
+ eend ${retval}
+
+ [[ -S /var/run/dbus/system_bus_socket ]] && rm -f /var/run/dbus/system_bus_socket
+
+ return ${retval}
+}
+
+reload() {
+ local retval
+
+ ebegin "Reloading D-BUS messagebus config"
+
+ /usr/bin/dbus-send --print-reply --system --type=method_call \
+ --dest=org.freedesktop.DBus \
+ / org.freedesktop.DBus.ReloadConfig > /dev/null
+ retval=$?
+ eend ${retval}
+ return ${retval}
+}
diff --git a/sys-apps/dbus/files/digest-dbus-1.0.1-r1 b/sys-apps/dbus/files/digest-dbus-1.0.1-r1
new file mode 100644
index 000000000000..7660510d0186
--- /dev/null
+++ b/sys-apps/dbus/files/digest-dbus-1.0.1-r1
@@ -0,0 +1,3 @@
+MD5 52c70d18fe0b398f5de3b8a18a589960 dbus-1.0.1.tar.gz 1406595
+RMD160 2270f27d9314f0e7b99540f0aa1902b8d0d7343d dbus-1.0.1.tar.gz 1406595
+SHA256 6e0730a39485fb502d640841f0f328c1a0212743f17b3fa61c78e6e32925f061 dbus-1.0.1.tar.gz 1406595