systemd: Use ${ROOT_HOME} instead of /root

systemd avoids using nss lookups for the root user, so
naturally it assumes that root's home directory is /root.
In OE that's not the case, and it can lead to long delays when
shutting down due to user shutdown unit failures.

(From OE-Core rev: e0e8a904cd287a23352e5713a93aeab3933e4563)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Dan McGregor
2014-09-03 13:49:28 -06:00
committed by Richard Purdie
parent 9aff3a4ec0
commit ff5510b3fa
2 changed files with 182 additions and 1 deletions

View File

@@ -32,6 +32,7 @@ SRC_URI = "git://anongit.freedesktop.org/systemd/systemd;branch=master;protocol=
file://uclibc-get-physmem.patch \
file://0001-add-support-for-executing-scripts-under-etc-rcS.d.patch \
file://0001-missing.h-add-fake-__NR_memfd_create-for-MIPS.patch \
file://0001-Make-root-s-home-directory-configurable.patch \
file://touchscreen.rules \
file://00-create-volatile.conf \
file://init \
@@ -74,6 +75,7 @@ rootlibexecdir = "${rootprefix}/lib"
# The gtk+ tools should get built as a separate recipe e.g. systemd-tools
EXTRA_OECONF = " --with-rootprefix=${rootprefix} \
--with-rootlibdir=${rootlibdir} \
--with-roothomedir=${ROOT_HOME} \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)} \
--disable-manpages \
--disable-coredump \
@@ -99,7 +101,6 @@ do_configure_prepend() {
else
cp -r ${S}/units ${S}/units.pre_sed
fi
sed -i -e 's:=/root:=${ROOT_HOME}:g' ${S}/units/*.service*
sed -i '/ln --relative --help/d' ${S}/configure.ac
sed -i -e 's:\$(LN_S) --relative -f:lnr:g' ${S}/Makefile.am
sed -i -e 's:\$(LN_S) --relative:lnr:g' ${S}/Makefile.am