weston rdepends on weston-init, so it needs
${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam',
'', d)} as well now, will send patch shortly.

ERROR: Nothing RPROVIDES 'weston-init' (but
openembedded-core/meta/recipes-graphics/wayland/weston_9.0.0.bb
RDEPENDS on or otherwise requires it)
weston-init was skipped: missing required distro feature 'pam' (not in
DISTRO_FEATURES)
NOTE: Runtime target 'weston-init' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['weston-init']
ERROR: Nothing RPROVIDES 'weston-dev' (but
openembedded-core/meta/recipes-graphics/wayland/weston_9.0.0.bb
RDEPENDS on or otherwise requires it)
No eligible RPROVIDERs exist for 'weston-dev'
NOTE: Runtime target 'weston-dev' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['weston-dev']
ERROR: Nothing RPROVIDES 'weston' (but
openembedded-core/meta/recipes-graphics/wayland/weston_9.0.0.bb
RDEPENDS on or otherwise requires it)
No eligible RPROVIDERs exist for 'weston'
NOTE: Runtime target 'weston' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['weston']


On Mon, Nov 9, 2020 at 9:32 AM Alexander Kanavin <[email protected]>
wrote:

> 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.
>
> Signed-off-by: Alexander Kanavin <[email protected]>
> ---
>  meta/lib/oeqa/runtime/cases/weston.py        | 4 ++--
>  meta/recipes-graphics/wayland/weston-init.bb | 9 +++++++--
>  2 files changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/meta/lib/oeqa/runtime/cases/weston.py
> b/meta/lib/oeqa/runtime/cases/weston.py
> index 36b4f9e375..d3fbf8ba92 100644
> --- a/meta/lib/oeqa/runtime/cases/weston.py
> +++ b/meta/lib/oeqa/runtime/cases/weston.py
> @@ -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:
> diff --git a/meta/recipes-graphics/wayland/weston-init.bb
> b/meta/recipes-graphics/wayland/weston-init.bb
> index b7a99be646..4b2a6ca983 100644
> --- a/meta/recipes-graphics/wayland/weston-init.bb
> +++ b/meta/recipes-graphics/wayland/weston-init.bb
> @@ -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"
>
> --
> 2.29.1
>
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#144586): 
https://lists.openembedded.org/g/openembedded-core/message/144586
Mute This Topic: https://lists.openembedded.org/mt/78131687/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to