From 08b8f8aa0125a174ea94f7dd9cc8a4c593add1b8 Mon Sep 17 00:00:00 2001 From: Doug Goldstein Date: Sun, 19 Nov 2006 17:32:33 +0000 Subject: [PATCH] pthreads assertion fix from upstream Package-Manager: portage-2.1.2_rc2 --- sys-apps/dbus/ChangeLog | 10 +- sys-apps/dbus/dbus-1.0.1-r1.ebuild | 116 ++++++++++++++++++ sys-apps/dbus/dbus-1.0.1.ebuild | 4 +- .../files/dbus-1.0.1-pthread-holder-fix.diff | 36 ++++++ sys-apps/dbus/files/dbus.init-1.0 | 50 ++++++++ sys-apps/dbus/files/digest-dbus-1.0.1-r1 | 3 + 6 files changed, 216 insertions(+), 3 deletions(-) create mode 100644 sys-apps/dbus/dbus-1.0.1-r1.ebuild create mode 100644 sys-apps/dbus/files/dbus-1.0.1-pthread-holder-fix.diff create mode 100644 sys-apps/dbus/files/dbus.init-1.0 create mode 100644 sys-apps/dbus/files/digest-dbus-1.0.1-r1 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 -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 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 + !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 -- 2.26.2