summaryrefslogtreecommitdiff
path: root/sys-apps
diff options
context:
space:
mode:
authorBertrand Jacquin <beber@meleeweb.net>2013-10-14 20:11:56 +0200
committerBertrand Jacquin <beber@meleeweb.net>2013-10-14 20:11:56 +0200
commit7f757dc3cecb87dd9f3e289f43640c48518d90a8 (patch)
tree5fbc62764b9bce189b320d40b4f709e758f77972 /sys-apps
parentprofiles/enlightenment/build: Newer dev-lang/tcc are fixed, remove (diff)
downloadportage-7f757dc3cecb87dd9f3e289f43640c48518d90a8.tar.xz
sys-apps/dbus: Remove -rdynamic for mingw platform, bug #488036
Package-Manager: portage-2.2.7
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/dbus/ChangeLog7
-rw-r--r--sys-apps/dbus/Manifest7
-rw-r--r--sys-apps/dbus/dbus-1.6.16.ebuild196
-rw-r--r--sys-apps/dbus/files/80-dbus13
-rw-r--r--sys-apps/dbus/files/dbus-1.5.12-selinux-when-dropping-capabilities-only-include-AUDI.patch39
-rw-r--r--sys-apps/dbus/files/dbus.initd50
-rw-r--r--sys-apps/dbus/metadata.xml14
7 files changed, 326 insertions, 0 deletions
diff --git a/sys-apps/dbus/ChangeLog b/sys-apps/dbus/ChangeLog
new file mode 100644
index 00000000..bbc6cdaf
--- /dev/null
+++ b/sys-apps/dbus/ChangeLog
@@ -0,0 +1,7 @@
+*dbus-1.6.16 (14 Oct 2013)
+
+ 14 Oct 2013; Bertrand Jacquin <beber@meleeweb.net> +dbus-1.6.16.ebuild,
+ +files/80-dbus,
+ +files/dbus-1.5.12-selinux-when-dropping-capabilities-only-include-AUDI.patch,
+ +files/dbus.initd, +metadata.xml:
+ sys-apps/dbus: Remove -rdynamic for mingw platform, bug #488036
diff --git a/sys-apps/dbus/Manifest b/sys-apps/dbus/Manifest
new file mode 100644
index 00000000..33fa70a0
--- /dev/null
+++ b/sys-apps/dbus/Manifest
@@ -0,0 +1,7 @@
+AUX 80-dbus 341 SHA256 76ce25ce8769cdfcb0d7b7e52e5a7e6474448fc34e8ad9393afac1eca1e07fd2 WHIRLPOOL 74e9e79b86fc4802f34737bb47c3a71919f35fb2375119cdcd7fd6dae2de201e006fb4e6a978addd2300f7075180d4b088a69fa60d2ce4d689b6239b4a1307b1
+AUX dbus-1.5.12-selinux-when-dropping-capabilities-only-include-AUDI.patch 1320 SHA256 ab3398f4fb46ec9a134581a825180422b2b8f5e8dd250bca3127c31a39d923a7 WHIRLPOOL 9e30cbcba7ebe13cdc8a9e3ad0bb7d3d6e667dfba23a6cedfbacbbed34f6eb15bc6f0dcb42392f0c1a23ac891f0d820759f4201b8bac9b51d4241e74bed5ca2d
+AUX dbus.initd 1185 SHA256 441d76ab72e450f1ced10e25a5b59f422613cc2e3a5f65222d7f0ca149869b32 WHIRLPOOL bafd89f620061144c8bd4bb9112d3a0fe0e9532384b03a81258186e0f3306f7e6b45c23264c9ae794e9a2ae50a54474140119283223993890d6abb04ad09ecae
+DIST dbus-1.6.16.tar.gz 1948266 SHA256 463f42873aafcde733de3105e6d166709a42bc961fb4e3ef27657dfd55813573 WHIRLPOOL 83b3dcf90c2f2481a1fb6f67d64e9a9053d726af997c3def9a0c8187ce8f78e1ca977de6a8f2dcea8a5f5ce2d5f2def7cf2a5b6f4d4724d940521422ee6046f3
+EBUILD dbus-1.6.16.ebuild 5258 SHA256 5f9c0aae8956624f7dceb0946b6153e72cf8800e275682f59416b3152b076175 WHIRLPOOL c4841bcef57ba98b0f67eb5365898e53e353ad2de7bae3c7809089cc5b3f1e4d470e3c2112d5ecc02bc843a45e3b8ec80797bd0b439890af78af606993c51617
+MISC ChangeLog 303 SHA256 fce5d15a5d4aa608fb8687b0b07fdff773e8ea5774b91720f592119b0b22ca5c WHIRLPOOL 1211681f0be15b6da715c28dfc4dd93034887e3dab0de910d89eec4e6088830152b7c019e53f4938f5dc6fd8f0bdd19db005991123b6f004301fe2371e86eb9d
+MISC metadata.xml 427 SHA256 d8fc8fedafc547578a85222cb60fb7eff3740c8ce101b22ba75aa3e5028135ce WHIRLPOOL 7a2add023434038b287c141213c2caf2adcc7ff5bcfb8025b2db0163bedd436fea64dd0e1a072f00232722738705fdc1f367e758d108373146d6fbea8803d5b2
diff --git a/sys-apps/dbus/dbus-1.6.16.ebuild b/sys-apps/dbus/dbus-1.6.16.ebuild
new file mode 100644
index 00000000..40ed2c40
--- /dev/null
+++ b/sys-apps/dbus/dbus-1.6.16.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/dbus-1.6.16.ebuild,v 1.1 2013/10/08 16:50:16 ssuominen Exp $
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+inherit autotools eutils linux-info flag-o-matic python-any-r1 systemd virtualx user
+
+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="|| ( AFL-2.1 GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="debug doc selinux static-libs systemd test X"
+
+RDEPEND=">=dev-libs/expat-2
+ selinux? (
+ sec-policy/selinux-dbus
+ sys-libs/libselinux
+ )
+ systemd? ( sys-apps/systemd )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXt
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-doc/doxygen
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/xmlto
+ )
+ test? (
+ >=dev-libs/glib-2.24
+ ${PYTHON_DEPS}
+ )"
+
+# 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
+
+ use test && python-any-r1_pkg_setup
+
+ if use kernel_linux; then
+ CONFIG_CHECK="~EPOLL"
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.5.12-selinux-when-dropping-capabilities-only-include-AUDI.patch
+
+ # Tests were restricted because of this
+ sed -i \
+ -e 's/.*bus_dispatch_test.*/printf ("Disabled due to excess noise\\n");/' \
+ -e '/"dispatch"/d' \
+ bus/test-main.c || die
+
+ # required for asneeded patch but also for bug 263909, cross-compile so
+ # don't remove eautoreconf
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ # so we can get backtraces from apps
+ case "${CHOST}" in
+ *-mingw*) ;;
+ *) append-flags -rdynamic ;;
+ esac
+
+ # libaudit is *only* used in DBus wrt SELinux support, so disable it, if
+ # not on an SELinux profile.
+ myconf=(
+ --disable-silent-rules
+ --localstatedir="${EPREFIX}/var"
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
+ $(use_enable static-libs static)
+ $(use_enable debug verbose-mode)
+ --disable-asserts
+ --disable-checks
+ $(use_enable selinux)
+ $(use_enable selinux libaudit)
+ $(use_enable kernel_linux inotify)
+ $(use_enable kernel_FreeBSD kqueue)
+ $(use_enable systemd)
+ --disable-embedded-tests
+ --disable-modular-tests
+ $(use_enable debug stats)
+ --with-xml=expat
+ --with-session-socket-dir=/tmp
+ --with-system-pid-file=/var/run/dbus.pid
+ --with-system-socket=/var/run/dbus/system_bus_socket
+ --with-dbus-user=messagebus
+ $(use_with X x)
+ "$(systemd_with_unitdir)"
+ )
+
+ mkdir "${BD}"
+ cd "${BD}"
+ einfo "Running configure in ${BD}"
+ ECONF_SOURCE="${S}" econf "${myconf[@]}" \
+ $(use_enable doc xml-docs) \
+ $(use_enable doc doxygen-docs)
+
+ if use test; then
+ mkdir "${TBD}"
+ cd "${TBD}"
+ einfo "Running configure in ${TBD}"
+ ECONF_SOURCE="${S}" econf "${myconf[@]}" \
+ $(use_enable test asserts) \
+ $(use_enable test checks) \
+ $(use_enable test embedded-tests) \
+ $(has_version dev-libs/dbus-glib && echo --enable-modular-tests)
+ 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
+
+ if use test; then
+ cd "${TBD}"
+ einfo "Running make in ${TBD}"
+ emake
+ fi
+}
+
+src_test() {
+ cd "${TBD}"
+ DBUS_VERBOSE=1 Xemake -j1 check
+}
+
+src_install() {
+ newinitd "${FILESDIR}"/dbus.initd dbus
+
+ 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
+ fi
+
+ # needs to exist for dbus sessions to launch
+ keepdir /usr/share/dbus-1/services
+ keepdir /etc/dbus-1/{session,system}.d
+ # machine-id symlink from pkg_postinst()
+ keepdir /var/lib/dbus
+
+ dodoc AUTHORS ChangeLog HACKING NEWS README doc/TODO
+
+ cd "${BD}"
+ emake DESTDIR="${D}" install
+
+ prune_libtool_files --all
+}
+
+pkg_postinst() {
+ if [ "$(rc-config list default | grep dbus)" = "" ] ; then
+ 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
+ fi
+
+ elog "Some applications require a session bus in addition to the system"
+ elog "bus. Please see \`man dbus-launch\` for more information."
+ elog
+
+ if [ "$(rc-status | grep dbus | grep started)" ] ; then
+ ewarn "You must restart D-Bus \`/etc/init.d/dbus restart\` to run"
+ ewarn "the new version of the daemon."
+ ewarn "Don't do this while X is running because it will restart your X as well."
+ fi
+
+ # Ensure unique id is generated and put it in /etc wrt #370451 but symlink
+ # for DBUS_MACHINE_UUID_FILE (see tools/dbus-launch.c) and reverse
+ # dependencies with hardcoded paths (although the known ones got fixed already)
+ dbus-uuidgen --ensure="${EROOT}"/etc/machine-id
+ ln -sf "${EROOT}"/etc/machine-id "${EROOT}"/var/lib/dbus/machine-id
+}
diff --git a/sys-apps/dbus/files/80-dbus b/sys-apps/dbus/files/80-dbus
new file mode 100644
index 00000000..5593e2cd
--- /dev/null
+++ b/sys-apps/dbus/files/80-dbus
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+# launches a session dbus instance
+
+dbuslaunch="`which dbus-launch 2>/dev/null`"
+if [ -n "$dbuslaunch" ] && [ -x "$dbuslaunch" ] && [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
+ if [ -n "$command" ]; then
+ command="$dbuslaunch --exit-with-session $command"
+ else
+ eval `$dbuslaunch --sh-syntax --exit-with-session`
+ fi
+fi
+
diff --git a/sys-apps/dbus/files/dbus-1.5.12-selinux-when-dropping-capabilities-only-include-AUDI.patch b/sys-apps/dbus/files/dbus-1.5.12-selinux-when-dropping-capabilities-only-include-AUDI.patch
new file mode 100644
index 00000000..45d610c5
--- /dev/null
+++ b/sys-apps/dbus/files/dbus-1.5.12-selinux-when-dropping-capabilities-only-include-AUDI.patch
@@ -0,0 +1,39 @@
+http://bugs.gentoo.org/405975
+
+From e1b83fb58eadfd02227673db9a7e2833d29b0c98 Mon Sep 17 00:00:00 2001
+From: Lennart Poettering <lennart@poettering.net>
+Date: Mon, 23 Apr 2012 00:32:43 +0200
+Subject: [PATCH] selinux: when dropping capabilities only include AUDIT caps
+ if we have them
+
+When we drop capabilities we shouldn't assume we can keep
+CAP_AUDIT_WRITE unconditionally, since it will not be available when
+running in containers.
+
+This patch only adds CAP_AUDIT_WRITE to the list of caps we keep if we
+actually have it in the first place.
+
+This makes audit/selinux enabled D-Bus work in a Linux container.
+---
+ bus/selinux.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/bus/selinux.c b/bus/selinux.c
+index 36287e9..1bfc791 100644
+--- a/bus/selinux.c
++++ b/bus/selinux.c
+@@ -1053,8 +1053,9 @@ _dbus_change_to_daemon_user (const char *user,
+ int rc;
+
+ capng_clear (CAPNG_SELECT_BOTH);
+- capng_update (CAPNG_ADD, CAPNG_EFFECTIVE | CAPNG_PERMITTED,
+- CAP_AUDIT_WRITE);
++ if (capng_have_capability (CAPNG_PERMITTED, CAP_AUDIT_WRITE))
++ capng_update (CAPNG_ADD, CAPNG_EFFECTIVE | CAPNG_PERMITTED,
++ CAP_AUDIT_WRITE);
+ rc = capng_change_id (uid, gid, CAPNG_DROP_SUPP_GRP);
+ if (rc)
+ {
+--
+1.7.10
+
diff --git a/sys-apps/dbus/files/dbus.initd b/sys-apps/dbus/files/dbus.initd
new file mode 100644
index 00000000..0410a1bd
--- /dev/null
+++ b/sys-apps/dbus/files/dbus.initd
@@ -0,0 +1,50 @@
+#!/sbin/runscript
+# Copyright 1999-2013 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.initd,v 1.1 2011/11/05 13:56:10 ssuominen Exp $
+
+extra_started_commands="reload"
+
+depend() {
+ need localmount
+ after bootmisc
+}
+
+start() {
+ ebegin "Starting D-BUS system messagebus"
+ /usr/bin/dbus-uuidgen --ensure=/etc/machine-id
+
+ # 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/metadata.xml b/sys-apps/dbus/metadata.xml
new file mode 100644
index 00000000..70f327cf
--- /dev/null
+++ b/sys-apps/dbus/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>freedesktop</herd>
+ <maintainer>
+ <email>freedesktop-bugs@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name='systemd'>Build with <pkg>sys-apps/systemd</pkg> at_console support</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:freedesktop:dbus</remote-id>
+ </upstream>
+</pkgmetadata>