Fix dbus-uuidgen call in init.d wrt #387713, Comment #10 by Pacho Ramos
authorSamuli Suominen <ssuominen@gentoo.org>
Sat, 5 Nov 2011 13:56:10 +0000 (13:56 +0000)
committerSamuli Suominen <ssuominen@gentoo.org>
Sat, 5 Nov 2011 13:56:10 +0000 (13:56 +0000)
Package-Manager: portage-2.2.0_alpha72/cvs/Linux x86_64

sys-apps/dbus/ChangeLog
sys-apps/dbus/Manifest
sys-apps/dbus/dbus-1.4.16-r2.ebuild [new file with mode: 0644]
sys-apps/dbus/files/dbus.initd [new file with mode: 0644]

index 886f59b447cd6f30c384a5e25f215e2f0f8e42ce..1c6cfedef4022a89174182882ecef9b0187cdddf 100644 (file)
@@ -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 <ssuominen@gentoo.org> +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 <maekke@gentoo.org> dbus-1.4.16.ebuild:
   arm stable, bug #387257
index b13f016444513a12d8dd7d2f58e971f82c535d47..25947f422f871061f2700433259b684ba3c1e406 100644 (file)
@@ -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 (file)
index 0000000..cca2dd6
--- /dev/null
@@ -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 (file)
index 0000000..65271f6
--- /dev/null
@@ -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}
+}