dbus: use useradd class to allow use in read-only filesystems
Move creation of required user/groups to useradd class thus allowing use with read-only filesystems and booting the initial boot. (From OE-Core rev: 46e6c3fa8034b12d178d605f3f5d7efe69671a13) (From OE-Core rev: a115b657ed3df1c9b26b016151881a6c9c26ac2b) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
2edde1021f
commit
9d086cd151
|
@ -10,15 +10,22 @@ DEPENDS = "expat virtual/libintl ${@base_contains('DISTRO_FEATURES', 'x11', '${X
|
||||||
DEPENDS_virtclass-native = "expat-native virtual/libintl-native"
|
DEPENDS_virtclass-native = "expat-native virtual/libintl-native"
|
||||||
DEPENDS_virtclass-nativesdk = "expat-nativesdk virtual/libintl-nativesdk virtual/libx11"
|
DEPENDS_virtclass-nativesdk = "expat-nativesdk virtual/libintl-nativesdk virtual/libx11"
|
||||||
|
|
||||||
|
PR = "r1"
|
||||||
|
|
||||||
SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
|
SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
|
||||||
file://tmpdir.patch; \
|
file://tmpdir.patch; \
|
||||||
file://dbus-1.init"
|
file://dbus-1.init"
|
||||||
|
|
||||||
inherit autotools pkgconfig gettext update-rc.d
|
inherit useradd autotools pkgconfig gettext update-rc.d
|
||||||
|
|
||||||
INITSCRIPT_NAME = "dbus-1"
|
INITSCRIPT_NAME = "dbus-1"
|
||||||
INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ."
|
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 --user-group messagebus"
|
||||||
|
|
||||||
CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
|
CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
|
||||||
|
|
||||||
DEBIANNAME_${PN} = "dbus-1"
|
DEBIANNAME_${PN} = "dbus-1"
|
||||||
|
@ -44,32 +51,7 @@ RRECOMMENDS_${PN}-lib = "${PN}"
|
||||||
FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
|
FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
|
||||||
|
|
||||||
pkg_postinst_dbus() {
|
pkg_postinst_dbus() {
|
||||||
# can't do adduser stuff offline
|
if [ -z "${D}" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
|
||||||
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
|
|
||||||
/etc/init.d/populate-volatile.sh update
|
/etc/init.d/populate-volatile.sh update
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -92,6 +74,18 @@ do_install() {
|
||||||
install -d ${D}${sysconfdir}/init.d
|
install -d ${D}${sysconfdir}/init.d
|
||||||
install -m 0755 ${WORKDIR}/dbus-1.init ${D}${sysconfdir}/init.d/dbus-1
|
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
|
# disable dbus-1 sysv script on systemd installs
|
||||||
# nearly all distros call the initscript plain 'dbus', but OE-core is different
|
# 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
|
ln -sf /dev/null ${D}/${base_libdir}/systemd/system/dbus-1.service
|
||||||
|
|
Loading…
Reference in New Issue