xserver-nodm-init: improvements from meta-oe

Bring in some changes from the meta-oe version of this script in order
to bring them closer together. (Unfortunately it does not completely
supersede the recipes in meta-oe - there is still some unification to be
done between x11-common and xserver-common.)

* Add systemd support (with extensions for ROOTLESS_X)
* Remove sudo from RDEPENDS_${PN} since this hasn't been used by this
  for a long time
* Rearrange recipe slightly to make the order logical

A couple of additional improvements at the same time:
* Use ROOT_HOME for root's home directory
* Set short description in SUMMARY instead of DESCRIPTION

(From OE-Core rev: d4f82500fb30e9e25b517e65c2bd72b3c2bad070)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2013-08-25 20:37:44 +01:00 committed by Richard Purdie
parent 93ec1e347c
commit f541b7388c
3 changed files with 41 additions and 8 deletions

View File

@ -1,30 +1,52 @@
DESCRIPTION = "Simple Xserver Init Script (no dm)"
SUMMARY = "Simple Xserver Init Script (no dm)"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SECTION = "x11"
PR = "r31"
RDEPENDS_${PN} = "sudo xuser-account"
SRC_URI = "file://xserver-nodm \
file://Xusername \
file://gplv2-license.patch"
file://gplv2-license.patch \
file://xserver-nodm.service \
file://xserver-nodm.conf \
"
S = "${WORKDIR}"
# Since we refer to ROOTLESS_X which is normally enabled per-machine
PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit update-rc.d systemd
do_install() {
install -d ${D}${sysconfdir}
install -d ${D}${sysconfdir}/init.d
install xserver-nodm ${D}${sysconfdir}/init.d
if [ "${ROOTLESS_X}" = "1" ] ; then
install -d ${D}${sysconfdir}/X11
install Xusername ${D}${sysconfdir}/X11
if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
install -d ${D}${sysconfdir}/default
install xserver-nodm.conf ${D}${sysconfdir}/default/xserver-nodm
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/xserver-nodm.service ${D}${systemd_unitdir}/system
if [ "${ROOTLESS_X}" = "1" ] ; then
sed -i 's!^HOME=.*!HOME=/home/xuser!' ${D}${sysconfdir}/default/xserver-nodm
sed -i 's!^User=.*!User=xuser!' ${D}${systemd_unitdir}/system/xserver-nodm.service
else
sed -i 's!^HOME=.*!HOME=${ROOT_HOME}!' ${D}${sysconfdir}/default/xserver-nodm
sed -i '/^User=/d' ${D}${systemd_unitdir}/system/xserver-nodm.service
fi
fi
if ${@base_contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
if [ "${ROOTLESS_X}" = "1" ] ; then
install -d ${D}${sysconfdir}/X11
install Xusername ${D}${sysconfdir}/X11
fi
fi
}
inherit update-rc.d
RDEPENDS_${PN} = "${@base_conditional('ROOTLESS_X', '1', 'xuser-account', '', d)}"
INITSCRIPT_NAME = "xserver-nodm"
INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
SYSTEMD_SERVICE_${PN} = "xserver-nodm.service"

View File

@ -0,0 +1 @@
HOME=/home/root

View File

@ -0,0 +1,10 @@
[Unit]
Description=Xserver startup without a display manager
[Service]
User=root
EnvironmentFile=/etc/default/xserver-nodm
ExecStart=/etc/X11/Xserver
[Install]
Alias=display-manager.service