[oe-commits] Paul Eggleton : xserver-nodm-init: improvements from meta-oe

git at git.openembedded.org git at git.openembedded.org
Mon Aug 26 09:55:56 UTC 2013


Module: openembedded-core.git
Branch: master-next
Commit: 020aff819775d761bc579bcf6772ab262db6bad4
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=020aff819775d761bc579bcf6772ab262db6bad4

Author: Paul Eggleton <paul.eggleton at linux.intel.com>
Date:   Sun Aug 25 20:37:44 2013 +0100

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

Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
Signed-off-by: Saul Wold <sgw at linux.intel.com>

---

 .../x11-common/xserver-nodm-init.bb                |   38 +++++++++++++++----
 .../x11-common/xserver-nodm-init/xserver-nodm.conf |    1 +
 .../xserver-nodm-init/xserver-nodm.service         |   10 +++++
 3 files changed, 41 insertions(+), 8 deletions(-)

diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init.bb b/meta/recipes-graphics/x11-common/xserver-nodm-init.bb
index 8490c81..e4508a9 100644
--- a/meta/recipes-graphics/x11-common/xserver-nodm-init.bb
+++ b/meta/recipes-graphics/x11-common/xserver-nodm-init.bb
@@ -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"
 
diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf
new file mode 100644
index 0000000..3c0582a
--- /dev/null
+++ b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf
@@ -0,0 +1 @@
+HOME=/home/root
diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service
new file mode 100644
index 0000000..62d979f
--- /dev/null
+++ b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service
@@ -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



More information about the Openembedded-commits mailing list