mirror of
https://git.yoctoproject.org/poky
synced 2026-05-31 12:49:46 +00:00
xserver-nodm-init: add rootless-x support
most rootless X work are already done in the kernel, xserver and graphics driver, this patches add the the remaining userspace setting: - create /etc/X11/Xusername to set rootless X user - add rootless X user to group video, tty to access /dev/tty[0-4] and /dev/dri/card0 - grant rootless X user access right to /dev/input/*, /var/log Signed-off-by: Yu Ke <ke.yu@intel.com>
This commit is contained in:
@@ -3,10 +3,11 @@ LICENSE = "GPLv2"
|
|||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
|
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
|
||||||
SECTION = "x11"
|
SECTION = "x11"
|
||||||
PRIORITY = "optional"
|
PRIORITY = "optional"
|
||||||
PR = "r23"
|
PR = "r24"
|
||||||
RDEPENDS_${PN} = "dbus-wait sudo"
|
RDEPENDS_${PN} = "dbus-wait sudo"
|
||||||
|
|
||||||
SRC_URI = "file://xserver-nodm \
|
SRC_URI = "file://xserver-nodm \
|
||||||
|
file://Xusername \
|
||||||
file://gplv2-license.patch"
|
file://gplv2-license.patch"
|
||||||
|
|
||||||
S = ${WORKDIR}
|
S = ${WORKDIR}
|
||||||
@@ -17,6 +18,25 @@ do_install() {
|
|||||||
install -d ${D}/etc
|
install -d ${D}/etc
|
||||||
install -d ${D}/etc/init.d
|
install -d ${D}/etc/init.d
|
||||||
install xserver-nodm ${D}/etc/init.d
|
install xserver-nodm ${D}/etc/init.d
|
||||||
|
if [ "${ROOTLESS_X}" = "1" ] ; then
|
||||||
|
install -d ${D}/etc/X11
|
||||||
|
install Xusername ${D}/etc/X11
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst_${PN} () {
|
||||||
|
if [ "x$D" != "x" ] ; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f /etc/X11/Xusername ]; then
|
||||||
|
# create the rootless X user, and add user to group tty, video
|
||||||
|
username=`cat /etc/X11/Xusername`
|
||||||
|
adduser --disabled-password $username
|
||||||
|
# FIXME: use addgroup if busybox addgroup is ready
|
||||||
|
sed -i -e "s/^video:.*/&${username}/g" /etc/group
|
||||||
|
sed -i -e "s/^tty:.*/&${username}/g" /etc/group
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
inherit update-rc.d
|
inherit update-rc.d
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
xuser
|
||||||
@@ -30,6 +30,10 @@ case "$1" in
|
|||||||
echo "Starting Xserver"
|
echo "Starting Xserver"
|
||||||
if [ -f /etc/X11/Xusername ]; then
|
if [ -f /etc/X11/Xusername ]; then
|
||||||
username=`cat /etc/X11/Xusername`
|
username=`cat /etc/X11/Xusername`
|
||||||
|
# setting for rootless X
|
||||||
|
chmod o+w /var/log
|
||||||
|
chmod g+r /dev/tty[0-3]
|
||||||
|
chmod o+rw /dev/input/*
|
||||||
fi
|
fi
|
||||||
# Using sudo -i here has the nice side effect of making sire
|
# Using sudo -i here has the nice side effect of making sire
|
||||||
# HOME, USER and other previously problematic variables
|
# HOME, USER and other previously problematic variables
|
||||||
|
|||||||
Reference in New Issue
Block a user