diff options
author | Doug Goldstein <cardoe@gentoo.org> | 2006-11-19 17:32:33 +0000 |
---|---|---|
committer | Doug Goldstein <cardoe@gentoo.org> | 2006-11-19 17:32:33 +0000 |
commit | 08b8f8aa0125a174ea94f7dd9cc8a4c593add1b8 (patch) | |
tree | a05fc7c3f54b539203ed24d7e1fef55376a80ca3 /sys-apps | |
parent | Remove old versions (diff) | |
download | historical-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/ChangeLog | 10 | ||||
-rw-r--r-- | sys-apps/dbus/dbus-1.0.1-r1.ebuild | 116 | ||||
-rw-r--r-- | sys-apps/dbus/dbus-1.0.1.ebuild | 4 | ||||
-rw-r--r-- | sys-apps/dbus/files/dbus-1.0.1-pthread-holder-fix.diff | 36 | ||||
-rw-r--r-- | sys-apps/dbus/files/dbus.init-1.0 | 50 | ||||
-rw-r--r-- | sys-apps/dbus/files/digest-dbus-1.0.1-r1 | 3 |
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 |