summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-graphics/x11-common/xserver-nodm-init.bb51
-rw-r--r--meta/recipes-graphics/x11-common/xserver-nodm-init/Xserver25
-rw-r--r--meta/recipes-graphics/x11-common/xserver-nodm-init/Xusername1
-rwxr-xr-xmeta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm10
-rw-r--r--meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf1
-rw-r--r--meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf.in7
-rw-r--r--meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service.in (renamed from meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service)4
7 files changed, 70 insertions, 29 deletions
diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init.bb b/meta/recipes-graphics/x11-common/xserver-nodm-init.bb
index b68d40e1be..a6d0d5eeea 100644
--- a/meta/recipes-graphics/x11-common/xserver-nodm-init.bb
+++ b/meta/recipes-graphics/x11-common/xserver-nodm-init.bb
@@ -5,10 +5,10 @@ SECTION = "x11"
5PR = "r31" 5PR = "r31"
6 6
7SRC_URI = "file://xserver-nodm \ 7SRC_URI = "file://xserver-nodm \
8 file://Xusername \ 8 file://Xserver \
9 file://gplv2-license.patch \ 9 file://gplv2-license.patch \
10 file://xserver-nodm.service \ 10 file://xserver-nodm.service.in \
11 file://xserver-nodm.conf \ 11 file://xserver-nodm.conf.in \
12" 12"
13 13
14S = "${WORKDIR}" 14S = "${WORKDIR}"
@@ -16,35 +16,44 @@ S = "${WORKDIR}"
16# Since we refer to ROOTLESS_X which is normally enabled per-machine 16# Since we refer to ROOTLESS_X which is normally enabled per-machine
17PACKAGE_ARCH = "${MACHINE_ARCH}" 17PACKAGE_ARCH = "${MACHINE_ARCH}"
18 18
19inherit update-rc.d systemd 19inherit update-rc.d systemd distro_features_check
20
21REQUIRED_DISTRO_FEATURES = "x11"
22
23PACKAGECONFIG ??= "blank"
24# dpms and screen saver will be on only if 'blank' is in PACKAGECONFIG
25PACKAGECONFIG[blank] = ""
20 26
21do_install() { 27do_install() {
22 install -d ${D}${sysconfdir}/init.d 28 install -d ${D}${sysconfdir}/default
23 install xserver-nodm ${D}${sysconfdir}/init.d 29 install xserver-nodm.conf.in ${D}${sysconfdir}/default/xserver-nodm
30 install -d ${D}${sysconfdir}/xserver-nodm
31 install Xserver ${D}${sysconfdir}/xserver-nodm/Xserver
32
33 BLANK_ARGS="${@bb.utils.contains('PACKAGECONFIG', 'blank', '', '-s 0 -dpms', d)}"
34 if [ "${ROOTLESS_X}" = "1" ] ; then
35 XUSER_HOME="/home/xuser"
36 XUSER="xuser"
37 else
38 XUSER_HOME=${ROOT_HOME}
39 XUSER="root"
40 fi
41 sed -i "s:@HOME@:${XUSER_HOME}:; s:@USER@:${XUSER}:; s:@BLANK_ARGS@:${BLANK_ARGS}:" \
42 ${D}${sysconfdir}/default/xserver-nodm
24 43
25 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then 44 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
26 install -d ${D}${sysconfdir}/default
27 install xserver-nodm.conf ${D}${sysconfdir}/default/xserver-nodm
28 install -d ${D}${systemd_unitdir}/system 45 install -d ${D}${systemd_unitdir}/system
29 install -m 0644 ${WORKDIR}/xserver-nodm.service ${D}${systemd_unitdir}/system 46 install -m 0644 ${WORKDIR}/xserver-nodm.service.in ${D}${systemd_unitdir}/system/xserver-nodm.service
30 if [ "${ROOTLESS_X}" = "1" ] ; then 47 sed -i "s:@USER@:${XUSER}:" ${D}${systemd_unitdir}/system/xserver-nodm.service
31 sed -i 's!^HOME=.*!HOME=/home/xuser!' ${D}${sysconfdir}/default/xserver-nodm
32 sed -i 's!^User=.*!User=xuser!' ${D}${systemd_unitdir}/system/xserver-nodm.service
33 else
34 sed -i 's!^HOME=.*!HOME=${ROOT_HOME}!' ${D}${sysconfdir}/default/xserver-nodm
35 sed -i '/^User=/d' ${D}${systemd_unitdir}/system/xserver-nodm.service
36 fi
37 fi 48 fi
38 49
39 if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then 50 if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
40 if [ "${ROOTLESS_X}" = "1" ] ; then 51 install -d ${D}${sysconfdir}/init.d
41 install -d ${D}${sysconfdir}/X11 52 install xserver-nodm ${D}${sysconfdir}/init.d
42 install Xusername ${D}${sysconfdir}/X11
43 fi
44 fi 53 fi
45} 54}
46 55
47RDEPENDS_${PN} = "${@base_conditional('ROOTLESS_X', '1', 'xuser-account', '', d)}" 56RDEPENDS_${PN} = "xinit ${@base_conditional('ROOTLESS_X', '1', 'xuser-account', '', d)}"
48 57
49INITSCRIPT_NAME = "xserver-nodm" 58INITSCRIPT_NAME = "xserver-nodm"
50INITSCRIPT_PARAMS = "start 9 5 . stop 20 0 1 2 3 6 ." 59INITSCRIPT_PARAMS = "start 9 5 . stop 20 0 1 2 3 6 ."
diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/Xserver b/meta/recipes-graphics/x11-common/xserver-nodm-init/Xserver
new file mode 100644
index 0000000000..0edbfbfc20
--- /dev/null
+++ b/meta/recipes-graphics/x11-common/xserver-nodm-init/Xserver
@@ -0,0 +1,25 @@
1#!/bin/sh
2
3# This script is only needed to make sure /etc/X11/xserver-common
4# can affect XSERVER, ARGS & DPI: otherwise systemd could just use
5# /etc/default/xserver-nodm as EnvironmentFile and sysvinit could just
6# source the same file
7
8. /etc/profile
9
10# load default values for XSERVER, ARGS, DISPLAY...
11. /etc/default/xserver-nodm
12
13# Allow xserver-common to override ARGS, XSERVER, DPI
14if [ -e /etc/X11/xserver-common ] ; then
15 . /etc/X11/xserver-common
16 if [ ! -e $XSERVER ] ; then
17 XSERVER=$(which $XSERVER)
18 fi
19fi
20
21if [ -n "$DPI" ] ; then
22 ARGS="$ARGS -dpi $DPI"
23fi
24
25exec xinit /etc/X11/Xsession -- $XSERVER $DISPLAY $ARGS $*
diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/Xusername b/meta/recipes-graphics/x11-common/xserver-nodm-init/Xusername
deleted file mode 100644
index 7060e5ec16..0000000000
--- a/meta/recipes-graphics/x11-common/xserver-nodm-init/Xusername
+++ /dev/null
@@ -1 +0,0 @@
1xuser
diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm
index bfa0a8d6cb..6c548551b8 100755
--- a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm
+++ b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm
@@ -26,10 +26,11 @@ done
26case "$1" in 26case "$1" in
27 start) 27 start)
28 . /etc/profile 28 . /etc/profile
29 username=root 29
30 #default for USER
31 . /etc/default/xserver-nodm
30 echo "Starting Xserver" 32 echo "Starting Xserver"
31 if [ -f /etc/X11/Xusername ]; then 33 if [ "$USER" != "root" ]; then
32 username=`cat /etc/X11/Xusername`
33 # setting for rootless X 34 # setting for rootless X
34 chmod o+w /var/log 35 chmod o+w /var/log
35 chmod g+r /dev/tty[0-3] 36 chmod g+r /dev/tty[0-3]
@@ -38,8 +39,9 @@ case "$1" in
38 chmod o+rw /dev/hidraw* 39 chmod o+rw /dev/hidraw*
39 fi 40 fi
40 fi 41 fi
42
41 # Using su rather than sudo as latest 1.8.1 cause failure [YOCTO #1211] 43 # Using su rather than sudo as latest 1.8.1 cause failure [YOCTO #1211]
42 su -l -c '/etc/X11/Xserver&' $username 44 su -l -c '/etc/xserver-nodm/Xserver &' $USER
43 # Wait for the desktop to say its finished loading 45 # Wait for the desktop to say its finished loading
44 # before loading the rest of the system 46 # before loading the rest of the system
45 # dbus-wait org.matchbox_project.desktop Loaded 47 # dbus-wait org.matchbox_project.desktop Loaded
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
deleted file mode 100644
index 3c0582a87e..0000000000
--- a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf
+++ /dev/null
@@ -1 +0,0 @@
1HOME=/home/root
diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf.in b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf.in
new file mode 100644
index 0000000000..757c23d95a
--- /dev/null
+++ b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.conf.in
@@ -0,0 +1,7 @@
1# common environment file for sysvinit and systemd
2
3XSERVER=/usr/bin/Xorg
4DISPLAY=:0
5ARGS=" -br -pn @BLANK_ARGS@ "
6HOME=@HOME@
7USER=@USER@
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.in
index 62d979f1d6..324a26f549 100644
--- a/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service
+++ b/meta/recipes-graphics/x11-common/xserver-nodm-init/xserver-nodm.service.in
@@ -2,9 +2,9 @@
2Description=Xserver startup without a display manager 2Description=Xserver startup without a display manager
3 3
4[Service] 4[Service]
5User=root
6EnvironmentFile=/etc/default/xserver-nodm 5EnvironmentFile=/etc/default/xserver-nodm
7ExecStart=/etc/X11/Xserver 6User=@USER@
7ExecStart=/etc/xserver-nodm/Xserver
8 8
9[Install] 9[Install]
10Alias=display-manager.service 10Alias=display-manager.service