From 3887781d078283e6459ecba660d2a5a63a0a3fd6 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 20 Nov 2006 19:03:07 +0000 Subject: [PATCH] - Update to 1.0.1 - Apply patch from Thiago Macieira to fix failed assertion in threading implementation - Drop some crazy looking build time speed optimization --- dbus-1.0.1-pthread-holder-fix.patch | 32 ++++++++++++++++++++++ dbus.spec | 41 +++++++++++++---------------- 2 files changed, 50 insertions(+), 23 deletions(-) create mode 100644 dbus-1.0.1-pthread-holder-fix.patch diff --git a/dbus-1.0.1-pthread-holder-fix.patch b/dbus-1.0.1-pthread-holder-fix.patch new file mode 100644 index 0000000..2f00745 --- /dev/null +++ b/dbus-1.0.1-pthread-holder-fix.patch @@ -0,0 +1,32 @@ +--- dbus-1.0.1/dbus/dbus-sysdeps-pthread.c 28 Oct 2006 01:41:37 -0000 1.5 ++++ dbus-1.0.1/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/dbus.spec b/dbus.spec index 71031b5..172db31 100644 --- a/dbus.spec +++ b/dbus.spec @@ -7,10 +7,10 @@ Summary: D-BUS message bus Name: dbus -Version: 1.0.0 -Release: 2%{?dist} +Version: 1.0.1 +Release: 1%{?dist} URL: http://www.freedesktop.org/software/dbus/ -Source0: %{name}-%{version}.tar.gz +Source0: http://dbus.freedesktop.org/releases/dbus/%{name}-%{version}.tar.gz License: AFL/GPL Group: System Environment/Libraries BuildRoot: %{_tmppath}/%{name}-root @@ -29,10 +29,10 @@ Requires: libxml2-python Conflicts: cups < 1:1.1.20-4 -Patch2: dbus-0.61-selinux-avc-audit.patch -Patch3: dbus-0.60-start-early.patch -Patch4: dbus-0.92-audit-system.patch -Patch5: dbus-1.0.0-thread.patch +Patch0: dbus-0.61-selinux-avc-audit.patch +Patch1: dbus-0.60-start-early.patch +Patch2: dbus-0.92-audit-system.patch +Patch3: dbus-1.0.1-pthread-holder-fix.patch %description @@ -63,29 +63,18 @@ in this separate package so server systems need not install X. %prep %setup -q -%patch2 -p1 -b .selinux-avc-audit -%patch3 -p1 -b .start-early -%patch4 -p1 -b .audit_system -%patch5 -p0 -b .thread +%patch0 -p1 -b .selinux-avc-audit +%patch1 -p1 -b .start-early +%patch2 -p1 -b .audit_system +%patch3 -p1 -b .pthread-holder-fix autoreconf -f -i %build COMMON_ARGS="--enable-libaudit --enable-selinux=yes --with-init-scripts=redhat --with-system-pid-file=%{_localstatedir}/run/messagebus.pid --with-dbus-user=%{dbus_user_uid} --libdir=/%{_lib} --bindir=/bin --sysconfdir=/etc --exec-prefix=/" -### this is some crack because bits of dbus can be -### smp-compiled but others don't feel like working -function make_fast() { - ### try to burn through it with SMP a couple times - make %{?_smp_mflags} || true - make %{?_smp_mflags} || true - - ### then do a real make and don't ignore failure - DBUS_VERBOSE=1 make -} - #### Build once with tests to make check %configure $COMMON_ARGS --enable-tests=yes --enable-verbose-mode=yes --enable-asserts=yes -make_fast +DBUS_VERBOSE=1 make #### Clean up and build again make clean @@ -173,6 +162,12 @@ fi %{_includedir}/* %changelog +* Mon Nov 20 2006 Ray Strode - 1.0.1-1 +- Update to 1.0.1 +- Apply patch from Thiago Macieira to + fix failed assertion in threading implementation +- Drop some crazy looking build time speed optimization + * Tue Nov 14 2006 John (J5) Palmieri - 1.0.0-2 - add patch to fix dbus_threads_init_default