From 7d2c9b867379353131c27b1c96b26695d37db1c9 Mon Sep 17 00:00:00 2001 From: Samuli Suominen Date: Sat, 5 Nov 2011 13:56:10 +0000 Subject: [PATCH] Fix dbus-uuidgen call in init.d wrt #387713, Comment #10 by Pacho Ramos Package-Manager: portage-2.2.0_alpha72/cvs/Linux x86_64 --- sys-apps/dbus/ChangeLog | 8 +- sys-apps/dbus/Manifest | 14 ++- sys-apps/dbus/dbus-1.4.16-r2.ebuild | 188 ++++++++++++++++++++++++++++ sys-apps/dbus/files/dbus.initd | 50 ++++++++ 4 files changed, 255 insertions(+), 5 deletions(-) create mode 100644 sys-apps/dbus/dbus-1.4.16-r2.ebuild create mode 100644 sys-apps/dbus/files/dbus.initd diff --git a/sys-apps/dbus/ChangeLog b/sys-apps/dbus/ChangeLog index 886f59b447cd..1c6cfedef402 100644 --- a/sys-apps/dbus/ChangeLog +++ b/sys-apps/dbus/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-apps/dbus # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/ChangeLog,v 1.311 2011/10/29 19:14:19 maekke Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/ChangeLog,v 1.312 2011/11/05 13:56:10 ssuominen Exp $ + +*dbus-1.4.16-r2 (05 Nov 2011) + + 05 Nov 2011; Samuli Suominen +dbus-1.4.16-r2.ebuild, + +files/dbus.initd: + Fix dbus-uuidgen call in init.d wrt #387713, Comment #10 by Pacho Ramos 29 Oct 2011; Markus Meier dbus-1.4.16.ebuild: arm stable, bug #387257 diff --git a/sys-apps/dbus/Manifest b/sys-apps/dbus/Manifest index b13f01644451..25947f422f87 100644 --- a/sys-apps/dbus/Manifest +++ b/sys-apps/dbus/Manifest @@ -4,17 +4,23 @@ Hash: SHA1 AUX 80-dbus 341 RMD160 3b7f55906289d91a1f0ed87edec7902ddac076c5 SHA1 df1f96934fbe164dc4f4e2e4d4b4cdeaf8cef2b5 SHA256 76ce25ce8769cdfcb0d7b7e52e5a7e6474448fc34e8ad9393afac1eca1e07fd2 AUX dbus-1.4.0-asneeded.patch 3696 RMD160 360f21c06d268116884ed441e7b91478829f1be5 SHA1 a15445bcc5d811276c681b543d0bcd14df9db32f SHA256 f785afd7943b3220ebcf2603b1c059a2dec46bdbfba376e60d8373ba3f933562 AUX dbus.init-1.0 1176 RMD160 1ad53e5859c94794b4dfcb0455bb63a0b858b83b SHA1 85a284e2f714f0b9e7f77d74be4325e2ac088e54 SHA256 2db2b6ea36854997f93ee0d0dfc470a1d1c792d355944a1272ba45b219ab61dd +AUX dbus.initd 1185 RMD160 ddb4df28657c7cbceb20c67c95d78a982106759f SHA1 21cc5f013e061311d181b2eb6975f0fff48744da SHA256 98e37b8b6ed25004e48c5855d74c9361eea06d3fee13cefcc0ed10ccf452aa01 DIST dbus-1.4.12.tar.gz 1878025 RMD160 4c5c718117ebf453844743f6d3c3525d7593d722 SHA1 6288a0826fe02d02ddbe62af03c9401501e69cc2 SHA256 da3c97fd546610558d588799e27c4fa81101e754acbcd34747a42c131f30dbe7 DIST dbus-1.4.16.tar.gz 1889465 RMD160 8a63492090acd717e6a58f63026181e78ae089f0 SHA1 d6e6538cfc1ed71992f6786a6da55d815d995b5b SHA256 1d8ee6262f8cc2148f06578eee522c755ba0896206b3464ca9bdc84f411b29c6 EBUILD dbus-1.4.12.ebuild 5033 RMD160 7fa7355bea5e98fd6119da855c88880093c15f38 SHA1 17e12b2302990f2fe9e6eeebe31b0ef4eddac328 SHA256 bda8a2dc34b8778c99df13f75b5c4def5b5f5cdf7cdbebed1cee1771209cdbec EBUILD dbus-1.4.16-r1.ebuild 4808 RMD160 e4aa5370c62f3f1cca880cc209546cd2c9f7f5ba SHA1 d5e1b778e6fc315b5cc584ca04d3db3876b35f2e SHA256 7a5be834f81f2c9415a8cab49804125099a24a60ce87ed7d24a985c28eba1e00 +EBUILD dbus-1.4.16-r2.ebuild 4811 RMD160 e6fb57768b89f5e15e3b8f6f42a7a539a42e89eb SHA1 76996a76f59465157355417568dd775f142ee029 SHA256 c5f6bed85ddaf392e37f5e15f348b8778831832752637ac546bc1f627eda9b6e EBUILD dbus-1.4.16.ebuild 4868 RMD160 9f60f90bb4513bca0cefa9c06c1c974aff6a476b SHA1 10fafa5e37c6d3a2ca2c4bd928b1cd1639555e67 SHA256 836a31a5ddb8d14f61902efdf19c5238f3d99ee384acc34870c59a277987d69a -MISC ChangeLog 46341 RMD160 c535444f32f17dd929ad70bf24b6609f145cb884 SHA1 6e451cef6ce0e0bf9c0a0c29c5d45fbef2a1f052 SHA256 cba9692a7533f1f156372b734ee2d7578398a0b5dae7c7b36f25ee4732e25307 +MISC ChangeLog 46549 RMD160 c9ae6bd52cd3f58c387c3ed8d737cbfc8be9fdc9 SHA1 f44bf72a219e36f8f1b458ef72f1ac08d228d700 SHA256 f69d46b91709ef606fc7eb3f94d4a852f7f032000a11a4dc4cf60886b594260f MISC metadata.xml 244 RMD160 244bfcdb5c3c5eab051189d8adf5e572866b8c64 SHA1 580ce8a447f3237ea98b1d289b440bc89245e89b SHA256 552982cb042dce6d0051aef928f3cca7553e6d7327e0556f97f9e6e52e651b6c -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) -iEYEARECAAYFAk6sURIACgkQkKaRLQcq0GL0gQCgjGnJ4n9yM+SAYELPn89YF+NM -nsUAoICWiHnMrRJOAtPu6JLQhwsbVEan -=nxXU +iQEcBAEBAgAGBQJOtUBeAAoJEEdUh39IaPFNKsgH/0KFp/ztnhF2X2zWLgLKy9YE +DbqUPe09lhDf4QSnOvV9gK13RygpZhQ5E0nmtjIzHyvBXJrt0HQu+ejVZq1xiylu +87nnyNg8+YSttXOb3Vmb/s+PoC5OavoN3rADECuhuPFcvWRPprsQK+CN+4pdU54O +1uCr36P75ui0UcdaoGrntB2DUTt+AiynmbOaDL380zHzBxSiXkqAfvRCb2Vms7x8 +TPYc/awBUOf2n7u0P3jouItHlpxq9b7Ac/T/l3+9AJHElAiYnB78PBMzx/THXW0k +b6WxtzV+0fLhL0NdzgyrjHfI9jQzDCDU0wOt94ai3igQDTAnlWvVpeM9fFAKtP4= +=iatu -----END PGP SIGNATURE----- diff --git a/sys-apps/dbus/dbus-1.4.16-r2.ebuild b/sys-apps/dbus/dbus-1.4.16-r2.ebuild new file mode 100644 index 000000000000..cca2dd6deec2 --- /dev/null +++ b/sys-apps/dbus/dbus-1.4.16-r2.ebuild @@ -0,0 +1,188 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/dbus/dbus-1.4.16-r2.ebuild,v 1.1 2011/11/05 13:56:10 ssuominen Exp $ + +EAPI=2 +inherit autotools eutils multilib flag-o-matic python systemd virtualx + +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" + +RDEPEND=" + X? ( + x11-libs/libX11 + x11-libs/libXt + ) + selinux? ( + sys-libs/libselinux + sec-policy/selinux-dbus + ) + >=dev-libs/expat-1.95.8 +" +DEPEND="${RDEPEND} + dev-util/pkgconfig + doc? ( + app-doc/doxygen + app-text/docbook-xml-dtd:4.1.2 + app-text/xmlto + ) + test? ( + =dev-lang/python-2* + >=dev-libs/glib-2.22:2 + ) +" + +# 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 +} + +src_prepare() { + # 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 + + epatch "${FILESDIR}"/${PN}-1.4.0-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="--disable-asserts + --disable-checks + --disable-embedded-tests + --disable-modular-tests + $(use_with X x) + $(use_enable debug verbose-mode) + --disable-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 + $(systemd_with_unitdir) + --localstatedir=/var + --docdir=/usr/share/doc/${PF} + --htmldir=/usr/share/doc/${PF}/html" + + 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 + local circ + has_version dev-libs/dbus-glib && circ="--enable-modular-tests" + + mkdir "${TBD}" + cd "${TBD}" + einfo "Running configure in ${TBD}" + ECONF_SOURCE="${S}" econf \ + ${my_conf} \ + $(use_enable test checks) \ + $(use_enable test embedded-tests) \ + $(use_enable test asserts) \ + ${circ} + 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 + + if use test; then + cd "${TBD}" + einfo "Running make in ${TBD}" + emake || die + fi +} + +src_test() { + cd "${TBD}" + DBUS_VERBOSE=1 Xemake -j1 check || die +} + +src_install() { + # initscript + newinitd "${FILESDIR}"/dbus.initd dbus || die + + 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 + fi + + # 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 + + cd "${BD}" + emake DESTDIR="${D}" install || die + + # remove .la files + find "${D}" -type f -name '*.la' -exec rm -f {} + +} + +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." + + # Move to /etc per #370451 and ensure unique id is generated + [[ -e ${ROOT}/var/lib/dbus/machine-id ]] && \ + mv -vf "${ROOT}"/var/lib/dbus/machine-id "${ROOT}"/etc/machine-id + dbus-uuidgen --ensure="${ROOT}"/etc/machine-id +} diff --git a/sys-apps/dbus/files/dbus.initd b/sys-apps/dbus/files/dbus.initd new file mode 100644 index 000000000000..65271f69c6b4 --- /dev/null +++ b/sys-apps/dbus/files/dbus.initd @@ -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} +} -- 2.26.2