Merge pull request #30 from marineam/systemd

bump(sys-apps/dbus): sync with upstream
This commit is contained in:
Michael Marineau 2013-08-04 13:49:22 -07:00
commit e00b276b3e
10 changed files with 2479 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,32 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
AUX 80-dbus 341 SHA256 76ce25ce8769cdfcb0d7b7e52e5a7e6474448fc34e8ad9393afac1eca1e07fd2 SHA512 fa019d903e5412d0c47dade4299995e9baa8b86d74ebc0b42967137762bc476628af57f8a6c354660fce731c33a49a66027cd8b5a25be4d898b7d1662c600e89 WHIRLPOOL 74e9e79b86fc4802f34737bb47c3a71919f35fb2375119cdcd7fd6dae2de201e006fb4e6a978addd2300f7075180d4b088a69fa60d2ce4d689b6239b4a1307b1
AUX dbus-1.5.12-selinux-when-dropping-capabilities-only-include-AUDI.patch 1320 SHA256 ab3398f4fb46ec9a134581a825180422b2b8f5e8dd250bca3127c31a39d923a7 SHA512 e8cac05a0291f24fc3cd82cfd504a78b1d356a9ee613e226c3b16ccbfd8251afb036d4fb9da372a066e5bc9417fddbc3f10b68713620c4fd798069fdd8f6dbf8 WHIRLPOOL 9e30cbcba7ebe13cdc8a9e3ad0bb7d3d6e667dfba23a6cedfbacbbed34f6eb15bc6f0dcb42392f0c1a23ac891f0d820759f4201b8bac9b51d4241e74bed5ca2d
AUX dbus.initd 1185 SHA256 98e37b8b6ed25004e48c5855d74c9361eea06d3fee13cefcc0ed10ccf452aa01 SHA512 7983e77015b46c204b10948a1fcedaae53a75848919961eb1ef8878bfa11c933256642c0e3f59163e72374ce1bd33b0338c787ce067c0982fcdf8a798b922a15 WHIRLPOOL 62ef5b9191a2bd3410c53ed63015e9968789f448e5959de2ebc2404bc13ce99c333546bf1eb335f826ef7ea143f70a53c2ecffd81b4e35fa51ba2e2bdf68879f
DIST dbus-1.6.10.tar.gz 1930118 SHA256 1f3d6f4a53a7121328f6cd685fc14440d72e6c0006ecb3312cc779c495915e86 SHA512 7249555a62e80167d296db3075deef135aa303f2245d810360504d94d60acda467773a58982b209aab46a8a987f3bcf22eaef4d9cc71a1673650ab162797f8c1 WHIRLPOOL 60b07033aba493bec297690e3e552594658bfe11bbae4a935d29a30fc58c5e9531ed4544e8f600ee04e414d6d21031b80168ca683adbf7335248c962205d2ee4
DIST dbus-1.6.12.tar.gz 1933805 SHA256 f67a7abfd6d045c1e9eba2bba4199d301836bc0c6e8a727c765913aba780ee92 SHA512 860f3c86268857662bc397cd6fd0c163dfe38c77c28525c47226e22d890ec3c2df724f887f55f65a60b729e8eb5dce91ce8ecd045391d88acb1884b8dbf33c71 WHIRLPOOL 248872ad9636f60d5b4e19b5876ec1b675db02e7c755f19f3a1966aedcdeb834a092d6e678fe1ea7e06a4b5e33d2ac31739c12093c6aee8dea8147fd0d22716a
DIST dbus-1.6.8.tar.gz 1929630 SHA256 fc1370ef38abeeb13f55c905ec002e60705fb0bfde3b8d21c8d6eb8056c11bac SHA512 eb26f1dfb6c6e3757a408a98e0f4012eda926e2f8ee7a2356ebd567a2e4a7d96effca7cec6e6b4f9e7bc578cbdd7b703d00158343a260859aff0718c76f296b0 WHIRLPOOL b614da2bc57376c8ad626ed2469e9a2cfcf7a2debba97187728048ad73e0c5075b290766d088e470b266fcad3e3cf2ec2c9c8477f1f7c5a232f1f74cadc83c1a
EBUILD dbus-1.6.10.ebuild 5193 SHA256 63b76d8813611b247717c5b922a1c02c6076b0e1589cf3f20d473f71067fb7a0 SHA512 d24c0a1dfbe6c6c88f47dda653d8dc667eb756143a4ac11bf39830d19875c47dd0c12c421bd7b115f0cfde40e91b3b6c8f13dfb3db66f2747ae4421a7bf34ffe WHIRLPOOL 9fbe4638c88d85e6a712e09205e69d37c7b6d5460bee5220bd7bbb58737af8da12ac8a74829af75025ff44e66302a1395c40ac522ebfde1d8340cf3be463184c
EBUILD dbus-1.6.12.ebuild 5192 SHA256 cd99facf8417cfa959ac2ffc26827908567bb7d4904a18d5324222348db3f33e SHA512 8fe5e1855ee89ef69f04f65d3329e36ceaf7c9f9e3e93ee2266f1116d62e16189f503e8a223c4a8e59475bed2373a0246e7a4986dc1448f7a916b4e584850aa9 WHIRLPOOL b11ffeac4cc939bd2f9904a888648be49806193cd5f2fdba124855c73845217715148f48d27b3629734e2f1b774500e23882593280c2c91fb317c1bacbb8d061
EBUILD dbus-1.6.8-r1.ebuild 5215 SHA256 71b84ca7f396cc50f1de7e4a2024ad2d0946b064969cf719a041031d6a4d6043 SHA512 964478ce0450d8e8c382490b702f4c9b7eec3b3e890fb3f8fc95653e6594c2c49b00dcd3bbc03b46ae03bf099332f3e22b82094d34fcf506edb6f9adf3e03b0b WHIRLPOOL 2af6773fa3a1e8c4efacdf2478b8bfd2a7985e49aa87b64317c93b21c9eacfbae42d28d76c73f2c1f3ec15d01155d9b1ce1d824a67c1c56a20f7d5d63e3fb1a5
EBUILD dbus-1.6.8.ebuild 4977 SHA256 12c078f1279d359f21d808136dfd8e5e0877f57970ccadac069245f6054498f5 SHA512 92108bf767eb0ca035c229ba5785db26da5d0aa27dbb6dd3cc77ed0217313b7b193476b622a02824dc6580962805895670f9e82647da579ec6e84b438816a2ef WHIRLPOOL 9b3c06858526dab5fa21074d9217bbe395a35e4c42be04fb305f2adddb3ab7222384be25421840253dc3679bb72490bbdfa125926ad2c13bdf3bb4b21bd11323
MISC ChangeLog 56965 SHA256 33cff546692bccddf54df7397a33fcc61538cb5b1c4324ec89f53b4fd9a89afb SHA512 e51f6cf6bc3fdb71d464780055a4323d65f1a6632772fabb3e6a31871420ce71986940b3032ab128772f90b69bcc26b6c60c2f6c90342b8cdb3e954515964b0e WHIRLPOOL 32b86d08c3ec9a9b92ebc4014f640933032c5494a35156350a5b0e4f4cbb9f7dd4e94a9da02990c81a2c1f2177ea32e1a4b8357ebed699b03698986b60a60bef
MISC metadata.xml 427 SHA256 d8fc8fedafc547578a85222cb60fb7eff3740c8ce101b22ba75aa3e5028135ce SHA512 2f8f64ded5050e87ce679d944dcf9c9a801ea03ee14471ab0702f10339f3f995701c313bfe10e7ab01f1bc784f04a5e6efbb29ea0b44513b9b3e384370956dc5 WHIRLPOOL 7a2add023434038b287c141213c2caf2adcc7ff5bcfb8025b2db0163bedd436fea64dd0e1a072f00232722738705fdc1f367e758d108373146d6fbea8803d5b2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
iQIcBAEBCgAGBQJR1Xp+AAoJELp701BxlEWfODsQAJrsSEX+4WbCYXCXjPWC9doO
eHP4s3qRvbQxN7fubs1DGTk+ndx7duX2B4YNtJrbzUtBWBMItDHGCl46iyi4TJXu
xpmPzjT7YSCDsjcPYqZDu3U4YO7dgOAsdkK3R8NdEKI9fhP/UgmYbZZmmK4LypAU
8Q+XdiqfSBXP11NpP2fwjUd1K/fkb0jOOGohzauYGYDPWkzrJCJX9wjahe7Z3iOi
yFiOn9ollTwSRKtMiXwMm6IuVaQiH9XWNQ2iWG+p5n2+hI38dOU6V+kvj1+ULjQW
6hYyr5lzq02vBi6reWJ3yyZrgIyS0XO9phqtzwskIY++EojLinXmPcU5naXekP87
Qnk2atRt7dzWgGtnUA1kyfrMnzJWX5kY2A3yMYn5cujGFGSfYQo0YXWqByupn0Ys
qE9PZNOLtpnmGI+BQmQJemNhXE2o4NX5ry6w9Jl5nJ9GR0BRyMlsGpntWP+USzIk
biqBOKEvQSi8ZkABuu18KvM9WkADu4uf+rnn89HW6uZ5cdwtPNQ4aXkauMSneYxl
RVY5DdxblQnb9YdmRNkZz7enYvWzmaO/uXXHy5dtJJO5H65ZZ2UTOF5UU7jsy19X
lHdSzKDAdKFR8NoEPhHn/AIVYqUuQa224GtIvVJMpdXMayasCKQo1lvKW86GhfLr
h6KvKoNcH90H7PIkDvfb
=PunS
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,193 @@
# 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.10.ebuild,v 1.11 2013/06/02 08:40:32 ago 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
append-flags -rdynamic
# 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
}

View File

@ -0,0 +1,193 @@
# 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.12.ebuild,v 1.12 2013/07/04 13:40:03 ago 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
append-flags -rdynamic
# 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
}

View File

@ -0,0 +1,193 @@
# 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.8-r1.ebuild,v 1.4 2013/03/02 14:29:14 mgorny Exp $
EAPI=4
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-44-r1 )
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
append-flags -rdynamic
# 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
}

View File

@ -0,0 +1,187 @@
# 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.8.ebuild,v 1.10 2013/01/20 11:21:03 pinkbyte Exp $
EAPI=4
inherit autotools eutils linux-info flag-o-matic python 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 ~x86-linux"
IUSE="debug doc selinux static-libs test X"
RDEPEND=">=dev-libs/expat-2
selinux? (
sec-policy/selinux-dbus
sys-libs/libselinux
)
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
dev-lang/python:2.7
)"
# 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
if use test; then
python_set_active_version 2
python_pkg_setup
fi
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
append-flags -rdynamic
# 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)
--disable-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)
)
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() {
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."
ewarn "Don't do this while X is running because it will restart your X as well."
# 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
}

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,50 @@
#!/sbin/runscript
# Copyright 1999-2011 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}
}

View File

@ -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>