aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/dbus/dbus.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/dbus/dbus.inc')
-rw-r--r--meta/recipes-core/dbus/dbus.inc52
1 files changed, 25 insertions, 27 deletions
diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc
index a8ecda8d4f..9ea42c27cb 100644
--- a/meta/recipes-core/dbus/dbus.inc
+++ b/meta/recipes-core/dbus/dbus.inc
@@ -14,11 +14,17 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
file://tmpdir.patch; \
file://dbus-1.init"
-inherit autotools pkgconfig gettext update-rc.d
+inherit useradd autotools pkgconfig gettext update-rc.d
INITSCRIPT_NAME = "dbus-1"
INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ."
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "-r netdev"
+USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \
+ --no-create-home --shell /bin/false \
+ --user-group messagebus"
+
CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
DEBIANNAME_${PN} = "dbus-1"
@@ -37,6 +43,7 @@ FILES_${PN} = "${bindir}/dbus-daemon* \
${bindir}/dbus-monitor \
${libexecdir}/dbus* \
${sysconfdir} \
+ ${localstatedir} \
${datadir}/dbus-1/services \
${datadir}/dbus-1/system-services"
FILES_${PN}-lib = "${libdir}/lib*.so.*"
@@ -44,32 +51,7 @@ RRECOMMENDS_${PN}-lib = "${PN}"
FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
pkg_postinst_dbus() {
- # can't do adduser stuff offline
- if [ "x$D" != "x" ]; then
- exit 1
- fi
-
- MESSAGEUSER=messagebus
- MESSAGEHOME=/var/run/dbus
- UUIDDIR=/var/lib/dbus
-
- mkdir -p $MESSAGEHOME
- mkdir -p $UUIDDIR
- chgrp "$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || addgroup "$MESSAGEUSER"
- chown "$MESSAGEUSER":"$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || \
- adduser --system --home "$MESSAGEHOME" --no-create-home --disabled-password \
- --ingroup "$MESSAGEUSER" "$MESSAGEUSER"
-
- chown "$MESSAGEUSER":"$MESSAGEUSER" "$UUIDDIR"
-
- grep -q netdev: /etc/group || addgroup netdev
-
- chown root:"$MESSAGEUSER" /usr/libexec/dbus-daemon-launch-helper
- chmod 4754 /usr/libexec/dbus-daemon-launch-helper
-
- # add volatile after new user/grp are created
- echo "d messagebus messagebus 0755 /var/run/dbus none" > /etc/default/volatiles/99_dbus
- if [ -e /etc/init.d/populate-volatile.sh ] ; then
+ if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
/etc/init.d/populate-volatile.sh update
fi
}
@@ -92,6 +74,18 @@ do_install() {
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/dbus-1.init ${D}${sysconfdir}/init.d/dbus-1
+ install -d ${D}${sysconfdir}/default/volatiles
+ echo "d messagebus messagebus 0755 ${localstatedir}/run/dbus none" \
+ > ${D}${sysconfdir}/default/volatiles/99_dbus
+
+
+ mkdir -p ${D}${localstatedir}/run/dbus ${D}${localstatedir}/lib/dbus
+
+ chown messagebus:messagebus ${D}${localstatedir}/run/dbus ${D}${localstatedir}/lib/dbus
+
+ chown root:messagebus ${D}${libexecdir}/dbus-daemon-launch-helper
+ chmod 4754 ${D}${libexecdir}/dbus-daemon-launch-helper
+
# disable dbus-1 sysv script on systemd installs
# nearly all distros call the initscript plain 'dbus', but OE-core is different
ln -sf /dev/null ${D}/${base_libdir}/systemd/system/dbus-1.service
@@ -108,4 +102,8 @@ do_install_virtclass-native() {
# dbus-glib-native and dbus-glib need this xml file
./bus/dbus-daemon --introspect > ${STAGING_DATADIR_NATIVE}/dbus/dbus-bus-introspect.xml
}
+
+do_install_virtclass-nativesdk() {
+ autotools_do_install
+}
BBCLASSEXTEND = "native nativesdk"