mirror of
https://git.yoctoproject.org/poky
synced 2026-04-26 18:32:13 +02:00
weston-init: correctly start under systemd
Several issues are addressed: 1. weston requires pam when starting under systemd 2. systemd was attempting to launch weston twice (from sysvinit script and from systemd unit file) which caused confusion and errors. 3. runtime test should stop/start weston via systemd only if systemd actually controls system startup, not merely when systemd is present. (From OE-Core rev: 72dd74c5d384dbe641cc7c02ecf766ff8d5f555f) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
65993a90a6
commit
a839c9ba88
@@ -34,7 +34,7 @@ class WestonTest(OERuntimeTestCase):
|
||||
return 'export XDG_RUNTIME_DIR=/run/user/0; export WAYLAND_DISPLAY=wayland-0; %s' % cmd
|
||||
|
||||
def run_weston_init(self):
|
||||
if 'systemd' in self.tc.td['DISTRO_FEATURES']:
|
||||
if 'systemd' in self.tc.td['VIRTUAL-RUNTIME_init_manager']:
|
||||
self.target.run('systemd-run --collect --unit=weston-ptest.service --uid=0 -p PAMName=login -p TTYPath=/dev/tty6 -E XDG_RUNTIME_DIR=/tmp -E WAYLAND_DISPLAY=wayland-0 /usr/bin/weston --socket=wayland-1 --log=%s' % self.weston_log_file)
|
||||
else:
|
||||
self.target.run(self.get_weston_command('openvt -- weston --socket=wayland-1 --log=%s' % self.weston_log_file))
|
||||
@@ -66,7 +66,7 @@ class WestonTest(OERuntimeTestCase):
|
||||
new_wl_processes, try_cnt = self.get_new_wayland_processes(existing_wl_processes)
|
||||
existing_and_new_weston_processes = self.get_processes_of('weston', 'existing and new')
|
||||
new_weston_processes = [x for x in existing_and_new_weston_processes if x not in existing_weston_processes]
|
||||
if 'systemd' in self.tc.td['DISTRO_FEATURES']:
|
||||
if 'systemd' in self.tc.td['VIRTUAL-RUNTIME_init_manager']:
|
||||
self.target.run('systemctl stop weston-ptest.service')
|
||||
else:
|
||||
for w in new_weston_processes:
|
||||
|
||||
@@ -26,7 +26,9 @@ DEFAULTBACKEND_qemux86 = "drm"
|
||||
DEFAULTBACKEND_qemux86-64 = "drm"
|
||||
|
||||
do_install() {
|
||||
install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
|
||||
if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
|
||||
install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
|
||||
fi
|
||||
install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
|
||||
install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston
|
||||
|
||||
@@ -55,10 +57,13 @@ do_install() {
|
||||
fi
|
||||
}
|
||||
|
||||
INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}"
|
||||
|
||||
inherit update-rc.d features_check systemd
|
||||
|
||||
# rdepends on weston which depends on virtual/egl
|
||||
REQUIRED_DISTRO_FEATURES = "opengl"
|
||||
# requires pam enabled if started via systemd
|
||||
REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
|
||||
|
||||
RDEPENDS_${PN} = "weston kbd"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user