- Update to 1.0.1
- Apply patch from Thiago Macieira <thiago@kde.org> to fix failed assertion in threading implementation - Drop some crazy looking build time speed optimization
This commit is contained in:
parent
db4538790b
commit
3887781d07
32
dbus-1.0.1-pthread-holder-fix.patch
Normal file
32
dbus-1.0.1-pthread-holder-fix.patch
Normal file
@ -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;
|
||||||
|
|
41
dbus.spec
41
dbus.spec
@ -7,10 +7,10 @@
|
|||||||
|
|
||||||
Summary: D-BUS message bus
|
Summary: D-BUS message bus
|
||||||
Name: dbus
|
Name: dbus
|
||||||
Version: 1.0.0
|
Version: 1.0.1
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
URL: http://www.freedesktop.org/software/dbus/
|
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
|
License: AFL/GPL
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
BuildRoot: %{_tmppath}/%{name}-root
|
BuildRoot: %{_tmppath}/%{name}-root
|
||||||
@ -29,10 +29,10 @@ Requires: libxml2-python
|
|||||||
|
|
||||||
Conflicts: cups < 1:1.1.20-4
|
Conflicts: cups < 1:1.1.20-4
|
||||||
|
|
||||||
Patch2: dbus-0.61-selinux-avc-audit.patch
|
Patch0: dbus-0.61-selinux-avc-audit.patch
|
||||||
Patch3: dbus-0.60-start-early.patch
|
Patch1: dbus-0.60-start-early.patch
|
||||||
Patch4: dbus-0.92-audit-system.patch
|
Patch2: dbus-0.92-audit-system.patch
|
||||||
Patch5: dbus-1.0.0-thread.patch
|
Patch3: dbus-1.0.1-pthread-holder-fix.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
|
|
||||||
@ -63,29 +63,18 @@ in this separate package so server systems need not install X.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
%patch2 -p1 -b .selinux-avc-audit
|
%patch0 -p1 -b .selinux-avc-audit
|
||||||
%patch3 -p1 -b .start-early
|
%patch1 -p1 -b .start-early
|
||||||
%patch4 -p1 -b .audit_system
|
%patch2 -p1 -b .audit_system
|
||||||
%patch5 -p0 -b .thread
|
%patch3 -p1 -b .pthread-holder-fix
|
||||||
autoreconf -f -i
|
autoreconf -f -i
|
||||||
|
|
||||||
%build
|
%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=/"
|
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
|
#### Build once with tests to make check
|
||||||
%configure $COMMON_ARGS --enable-tests=yes --enable-verbose-mode=yes --enable-asserts=yes
|
%configure $COMMON_ARGS --enable-tests=yes --enable-verbose-mode=yes --enable-asserts=yes
|
||||||
make_fast
|
DBUS_VERBOSE=1 make
|
||||||
|
|
||||||
#### Clean up and build again
|
#### Clean up and build again
|
||||||
make clean
|
make clean
|
||||||
@ -173,6 +162,12 @@ fi
|
|||||||
%{_includedir}/*
|
%{_includedir}/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 20 2006 Ray Strode <rstrode@redhat.com> - 1.0.1-1
|
||||||
|
- Update to 1.0.1
|
||||||
|
- Apply patch from Thiago Macieira <thiago@kde.org> to
|
||||||
|
fix failed assertion in threading implementation
|
||||||
|
- Drop some crazy looking build time speed optimization
|
||||||
|
|
||||||
* Tue Nov 14 2006 John (J5) Palmieri <johnp@redhat.com> - 1.0.0-2
|
* Tue Nov 14 2006 John (J5) Palmieri <johnp@redhat.com> - 1.0.0-2
|
||||||
- add patch to fix dbus_threads_init_default
|
- add patch to fix dbus_threads_init_default
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user