diff options
author | Maciej Mrozowski <reavertm@gentoo.org> | 2010-09-12 21:45:26 +0000 |
---|---|---|
committer | Maciej Mrozowski <reavertm@gentoo.org> | 2010-09-12 21:45:26 +0000 |
commit | 55573bc1f7f2fd3102ef9c9eb6254a59242c22b2 (patch) | |
tree | 5902f617ebbaa0b1e9bd491d2652d2d1fc2d755a /sys-apps/dbus | |
parent | Add patch to fix a possible overflow (reported by _FORTIFY_SOURCE=2); thanks ... (diff) | |
download | gentoo-2-55573bc1f7f2fd3102ef9c9eb6254a59242c22b2.tar.gz gentoo-2-55573bc1f7f2fd3102ef9c9eb6254a59242c22b2.tar.bz2 gentoo-2-55573bc1f7f2fd3102ef9c9eb6254a59242c22b2.zip |
Version bump 1.4.0: fixed dohtml-related QA issue, sorted deps, rewritten --as-needed patch, dropped 1.3 patches applied upstream, added static-libs USE flag and .la files removal (this madness with installing useless .la files for shared libs has to stop).
(Portage version: 2.2_rc80/cvs/Linux x86_64)
Diffstat (limited to 'sys-apps/dbus')
-rw-r--r-- | sys-apps/dbus/ChangeLog | 9 | ||||
-rw-r--r-- | sys-apps/dbus/dbus-1.4.0.ebuild | 193 | ||||
-rw-r--r-- | sys-apps/dbus/files/dbus-1.4.0-asneeded.patch | 95 |
3 files changed, 296 insertions, 1 deletions
diff --git a/sys-apps/dbus/ChangeLog b/sys-apps/dbus/ChangeLog index f47af2c9bc96..37a7da70a327 100644 --- a/sys-apps/dbus/ChangeLog +++ b/sys-apps/dbus/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-apps/dbus # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/ChangeLog,v 1.258 2010/09/09 23:09:05 eva Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/ChangeLog,v 1.259 2010/09/12 21:45:26 reavertm Exp $ + +*dbus-1.4.0 (12 Sep 2010) + + 12 Sep 2010; Maciej Mrozowski <reavertm@gentoo.org> +dbus-1.4.0.ebuild, + +files/dbus-1.4.0-asneeded.patch: + Version bump 1.4.0: ported as-needed patch, static-libs, remove .la files, + sorted deps, dohtml QA fix *dbus-1.3.0-r3 (09 Sep 2010) *dbus-1.2.24-r2 (09 Sep 2010) diff --git a/sys-apps/dbus/dbus-1.4.0.ebuild b/sys-apps/dbus/dbus-1.4.0.ebuild new file mode 100644 index 000000000000..3c0cd3609170 --- /dev/null +++ b/sys-apps/dbus/dbus-1.4.0.ebuild @@ -0,0 +1,193 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/dbus-1.4.0.ebuild,v 1.1 2010/09/12 21:45:26 reavertm Exp $ + +EAPI="2" + +inherit autotools eutils multilib flag-o-matic + +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" + +LICENSE="|| ( GPL-2 AFL-2.1 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="debug doc selinux static-libs test X" + +CDEPEND=" + X? ( + x11-libs/libX11 + x11-libs/libXt + ) + selinux? ( + sys-libs/libselinux + sec-policy/selinux-dbus + ) +" +RDEPEND="${CDEPEND} + !<sys-apps/dbus-0.91 + >=dev-libs/expat-1.95.8 +" +DEPEND="${CDEPEND} + dev-util/pkgconfig + doc? ( + app-doc/doxygen + app-text/docbook-xml-dtd:4.1.2 + app-text/xmlto + ) +" + +# out of sources build directory +BD=${WORKDIR}/${P}-build +# out of sources build dir for make check +TBD=${WORKDIR}/${P}-tests-build + +pkg_setup() { + enewgroup messagebus + enewuser messagebus -1 "-1" -1 messagebus +} + +src_prepare() { + # Remove CFLAGS that is not supported by all gcc, bug #274456 + sed 's/-Wno-pointer-sign//g' -i configure.in configure || die "sed failed" + + # Tests were restricted because of this + sed -e 's/.*bus_dispatch_test.*/printf ("Disabled due to excess noise\\n");/' \ + -e '/"dispatch"/d' -i "${S}/bus/test-main.c" || die "sed failed" + + epatch "${FILESDIR}"/${P}-asneeded.patch + + # required for asneeded patch but also for bug 263909, cross-compile so + # don't remove eautoreconf + eautoreconf +} + +src_configure() { + local my_conf + + # so we can get backtraces from apps + append-flags -rdynamic + + # libaudit is *only* used in DBus wrt SELinux support, so disable it, if + # not on an SELinux profile. + my_conf="$(use_with X x) + $(use_enable debug verbose-mode) + $(use_enable debug asserts) + $(use_enable kernel_linux inotify) + $(use_enable kernel_FreeBSD kqueue) + $(use_enable selinux) + $(use_enable selinux libaudit) + $(use_enable static-libs static) + --enable-shared + --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" + + mkdir "${BD}" + cd "${BD}" + einfo "Running configure in ${BD}" + ECONF_SOURCE="${S}" econf ${my_conf} \ + $(use_enable doc doxygen-docs) \ + $(use_enable doc xml-docs) + + if use test; then + mkdir "${TBD}" + cd "${TBD}" + einfo "Running configure in ${TBD}" + ECONF_SOURCE="${S}" econf \ + ${my_conf} \ + $(use_enable test checks) \ + $(use_enable test tests) \ + $(use_enable test asserts) + fi +} + +src_compile() { + # after the compile, it uses a selinuxfs interface to + # check if the SELinux policy has the right support + use selinux && addwrite /selinux/access + + cd "${BD}" + einfo "Running make in ${BD}" + emake || die "make failed" + + if use doc; then + einfo "Building API documentation..." + doxygen || die "doxygen failed" + fi + + if use test; then + cd "${TBD}" + einfo "Running make in ${TBD}" + emake || die "make failed" + fi +} + +src_test() { + cd "${TBD}" + DBUS_VERBOSE=1 make check || die "make check failed" +} + +src_install() { + # initscript + newinitd "${FILESDIR}"/dbus.init-1.0 dbus || die "newinitd failed" + + if use X ; then + # dbus X session script (#77504) + # turns out to only work for GDM (and startx). has been merged into + # other desktop (kdm and such scripts) + exeinto /etc/X11/xinit/xinitrc.d/ + doexe "${FILESDIR}"/80-dbus || die "doexe failed" + fi + + # needs to exist for the system socket + keepdir /var/run/dbus + # needs to exist for machine id + keepdir /var/lib/dbus + # needs to exist for dbus sessions to launch + + keepdir /usr/lib/dbus-1.0/services + keepdir /usr/share/dbus-1/services + keepdir /etc/dbus-1/system.d/ + keepdir /etc/dbus-1/session.d/ + + dodoc AUTHORS ChangeLog HACKING NEWS README doc/TODO || die "dodoc failed" + + cd "${BD}" + # FIXME: split dtd's in dbus-dtd ebuild + emake DESTDIR="${D}" install || die "make install failed" + if use doc; then + dohtml doc/api/html/* || die "dohtml failed" + fi + + # Remove .la files + if ! use static-libs; then + find "${D}" -type f -name '*.la' -exec rm -f {} + || die + fi +} + +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 "Some applications require a session bus in addition to the system" + elog "bus. Please see \`man dbus-launch\` for more information." + elog + ewarn "You must restart D-Bus \`/etc/init.d/dbus restart\` to run" + ewarn "the new version of the daemon." + + if has_version "x11-base/xorg-server[hal]"; then + elog + ewarn "You are currently running X with the hal useflag enabled" + ewarn "restarting the dbus service WILL restart X as well" + ebeep 5 + fi + + # Ensure unique id is generated + dbus-uuidgen --ensure="${ROOT}"/var/lib/dbus/machine-id +} diff --git a/sys-apps/dbus/files/dbus-1.4.0-asneeded.patch b/sys-apps/dbus/files/dbus-1.4.0-asneeded.patch new file mode 100644 index 000000000000..d26482b889d3 --- /dev/null +++ b/sys-apps/dbus/files/dbus-1.4.0-asneeded.patch @@ -0,0 +1,95 @@ +diff -ru ../dbus-1.4.0/dbus/Makefile.am ./dbus/Makefile.am +--- ../dbus-1.4.0/dbus/Makefile.am 2010-08-31 23:44:19.000000000 +0200 ++++ ./dbus/Makefile.am 2010-09-12 22:49:08.191226651 +0200 +@@ -277,7 +277,7 @@ + dbus_test_SOURCES= \ + dbus-test-main.c + +-dbus_test_LDADD=libdbus-internal.la $(DBUS_TEST_LIBS) ++dbus_test_LDADD=$(DBUS_TEST_LIBS) libdbus-internal.la + dbus_test_LDFLAGS=@R_DYNAMIC_LDFLAG@ + + ## mop up the gcov files +diff -ru ../dbus-1.4.0/test/Makefile.am ./test/Makefile.am +--- ../dbus-1.4.0/test/Makefile.am 2010-08-31 23:44:19.000000000 +0200 ++++ ./test/Makefile.am 2010-09-12 22:51:44.021632252 +0200 +@@ -63,17 +63,17 @@ + + # When any programs are not linked to libdbus-internal, fix this. + AM_CPPFLAGS=-DDBUS_STATIC_BUILD +-TEST_LIBS=$(top_builddir)/dbus/libdbus-internal.la $(DBUS_TEST_LIBS) ++TEST_LIBS=$(DBUS_TEST_LIBS) $(top_builddir)/dbus/libdbus-internal.la + +-test_service_LDADD=libdbus-testutils.la $(TEST_LIBS) ++test_service_LDADD=$(TEST_LIBS) libdbus-testutils.la + test_service_LDFLAGS=@R_DYNAMIC_LDFLAG@ +-test_names_LDADD=libdbus-testutils.la $(TEST_LIBS) ++test_names_LDADD=$(TEST_LIBS) libdbus-testutils.la + test_names_LDFLAGS=@R_DYNAMIC_LDFLAG@ + ## break_loader_LDADD= $(TEST_LIBS) + ## break_loader_LDFLAGS=@R_DYNAMIC_LDFLAG@ +-test_shell_service_LDADD=libdbus-testutils.la $(TEST_LIBS) ++test_shell_service_LDADD=$(TEST_LIBS) libdbus-testutils.la + test_shell_service_LDFLAGS=@R_DYNAMIC_LDFLAG@ +-shell_test_LDADD=libdbus-testutils.la $(TEST_LIBS) ++shell_test_LDADD=$(TEST_LIBS) libdbus-testutils.la + shell_test_LDFLAGS=@R_DYNAMIC_LDFLAG@ + spawn_test_LDADD=$(TEST_LIBS) + spawn_test_LDFLAGS=@R_DYNAMIC_LDFLAG@ +diff -ru ../dbus-1.4.0/test/name-test/Makefile.am ./test/name-test/Makefile.am +--- ../dbus-1.4.0/test/name-test/Makefile.am 2010-08-31 23:44:19.000000000 +0200 ++++ ./test/name-test/Makefile.am 2010-09-12 22:53:29.046971038 +0200 +@@ -22,46 +22,46 @@ + test_pending_call_dispatch_SOURCES = \ + test-pending-call-dispatch.c + +-test_pending_call_dispatch_LDADD=$(top_builddir)/dbus/libdbus-internal.la $(DBUS_TEST_LIBS) ++test_pending_call_dispatch_LDADD=$(DBUS_TEST_LIBS) $(top_builddir)/dbus/libdbus-internal.la + test_pending_call_dispatch_LDFLAGS=@R_DYNAMIC_LDFLAG@ + + test_pending_call_timeout_SOURCES = \ + test-pending-call-timeout.c + +-test_pending_call_timeout_LDADD=$(top_builddir)/dbus/libdbus-internal.la $(DBUS_TEST_LIBS) ++test_pending_call_timeout_LDADD=$(DBUS_TEST_LIBS) $(top_builddir)/dbus/libdbus-internal.la + test_pending_call_timeout_LDFLAGS=@R_DYNAMIC_LDFLAG@ + + test_threads_init_SOURCES = \ + test-threads-init.c + +-test_threads_init_LDADD=$(top_builddir)/dbus/libdbus-internal.la $(DBUS_TEST_LIBS) ++test_threads_init_LDADD=$(DBUS_TEST_LIBS) $(top_builddir)/dbus/libdbus-internal.la + test_threads_init_LDFLAGS=@R_DYNAMIC_LDFLAG@ + + test_ids_SOURCES = \ + test-ids.c + +-test_ids_LDADD=$(top_builddir)/dbus/libdbus-internal.la $(DBUS_TEST_LIBS) ++test_ids_LDADD=$(DBUS_TEST_LIBS) $(top_builddir)/dbus/libdbus-internal.la + test_ids_LDFLAGS=@R_DYNAMIC_LDFLAG@ + + test_shutdown_SOURCES = \ + test-shutdown.c + + test_shutdown_CFLAGS= +-test_shutdown_LDADD=$(top_builddir)/dbus/libdbus-internal.la ../libdbus-testutils.la $(DBUS_TEST_LIBS) ++test_shutdown_LDADD=$(DBUS_TEST_LIBS) $(top_builddir)/dbus/libdbus-internal.la ../libdbus-testutils.la + test_shutdown_LDFLAGS=@R_DYNAMIC_LDFLAG@ + + test_privserver_SOURCES = \ + test-privserver.c + + test_privserver_CFLAGS= +-test_privserver_LDADD=$(top_builddir)/dbus/libdbus-internal.la ../libdbus-testutils.la $(DBUS_TEST_LIBS) ++test_privserver_LDADD=$(DBUS_TEST_LIBS) $(top_builddir)/dbus/libdbus-internal.la ../libdbus-testutils.la + test_privserver_LDFLAGS=@R_DYNAMIC_LDFLAG@ + + test_privserver_client_SOURCES = \ + test-privserver-client.c + + test_privserver_client_CFLAGS= +-test_privserver_client_LDADD=$(top_builddir)/dbus/libdbus-internal.la ../libdbus-testutils.la $(DBUS_TEST_LIBS) ++test_privserver_client_LDADD=$(DBUS_TEST_LIBS) $(top_builddir)/dbus/libdbus-internal.la ../libdbus-testutils.la + test_privserver_client_LDFLAGS=@R_DYNAMIC_LDFLAG@ + + endif |