From 2507e4a69862808a6331b0e4c665b694f49a49b9 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Mon, 5 Jun 2023 10:08:59 -0400 Subject: [PATCH] Remove systemd user session and clean up packagegroups and images Remove the use of systemd user session to align with how upstream runs Weston, and to allow using all systemd sandboxing features with the compositor and homescreen, launcher, etc. applications. The changes for this touched enough packagegroups and images that further rework was done to address some of the cleanup described in SPEC-4813, see below for details. Changes: - Rework systemd units and recipes of affected applications. - Rework images to pull in image .bb files instead of .inc files. - Pull in the new agl-image-compositor as a base image where appropriate. - Update weston-terminal-conf recipe to use new split out weston-terminal package. - Use new agl-crosssdk bbclass where appropriate. - Pull some local common cross-SDK additions into a new agl-ivi-crosssdk.inc include file and use as appropriate. Note that this does have a side effect of likely correcting the contents of agl-image-ivi-crosssdk for some recent additions. - Remove flutter-gallery bbappend that turned it into an app, as we are not using it in images, have other examples now, and it seems better to not affect the contents of agl-image-flutter. - Remove unused agl-image-graphical-html5. If a downstream user does desire an image with Chromium+WAM without applications, restoring it can be considered. - Remove unused agl-image-graphical-qt5-crosssdk. - Remove all packagegroup-agl-profile-* packagegroups, as they were either empty or not providing value at this point. Any future plans for defining profiles can start from a clean sheet. - Added new packagegroup-agl-ivi-multimedia-hardware to hold some rcar3 specific additions (via override) that were previously being appended onto packagegroup-agl-graphical-multimedia even though they are machine-specific and that packagegroup is not. This may be a stopgap solution if the agl-ivi-* packagegroups are reworked further. - Replace some :append usage with += to avoid creating problems for downstream users. Bug-AGL: SPEC-4714, SPEC-4813 Change-Id: I544b1495bed1e2e2412a8e46b7d20d7622ec28c9 Signed-off-by: Scott Murray --- .../agl-container-guest/agl-session@.service | 24 ----------- .../agl-session_agl-container-guest-demo.inc | 15 ------- .../agl-users_%.bbappend} | 2 +- .../agl-users_agl-container-guest-demo.inc | 10 +++++ .../nss-agl-driver-db/nss-agl-driver-db.service | 2 +- recipes-core/nss/nss-agl-driver-db_git.bb | 2 +- .../cluster-dashboard/cluster-dashboard.service | 6 ++- .../cluster-dashboard/cluster-dashboard_git.bb | 10 ++--- .../cluster-gauges-qtcompositor.service | 3 +- .../cluster-gauges-qtcompositor_git.bb | 2 - .../cluster-receiver/cluster-receiver.service | 6 ++- .../cluster-receiver/cluster-receiver_git.bb | 10 ++--- .../qt-cluster-receiver.service | 6 ++- .../cluster-receiver/qt-cluster-receiver_git.bb | 9 ++-- .../files/flutter-cluster-dashboard.service | 4 +- .../flutter-cluster-dashboard_git.bb | 13 +++--- .../flutter-gallery/flutter-gallery_agldemo.inc | 5 --- .../flutter-gallery/flutter-gallery_git.bbappend | 1 - .../files/flutter-homescreen.service | 4 +- .../flutter-homescreen/flutter-homescreen_git.bb | 10 ++--- recipes-demo/homescreen/files/homescreen.service | 5 ++- recipes-demo/homescreen/homescreen_git.bb | 10 ++--- .../html5-homescreen/files/homescreen.service | 4 +- .../html5-homescreen/html5-homescreen_git.bb | 38 ++++++++--------- recipes-demo/html5-launcher/html5-launcher_git.bb | 2 +- recipes-demo/launcher/files/launcher.service | 4 +- recipes-demo/launcher/launcher_git.bb | 8 ++-- recipes-demo/navigation/tbtnavi/tbtnavi.service | 4 +- recipes-demo/navigation/tbtnavi_git.bb | 8 ++-- .../agl-qemu-runner/files/agl-qemu-runner@.service | 3 +- recipes-graphics/wayland/weston-terminal-conf.bb | 2 +- ...org.freedesktop.weston.wayland-terminal.desktop | 11 ----- .../weston-terminal-conf/weston-terminal.desktop | 12 ------ .../images/agl-cluster-demo-platform-flutter.bb | 9 ++-- .../images/agl-cluster-demo-platform.bb | 4 +- .../images/agl-cluster-demo-qtcompositor.bb | 20 ++------- .../images/agl-image-graphical-html5.bb | 19 --------- .../images/agl-image-graphical-qt5-crosssdk.bb | 32 --------------- recipes-platform/images/agl-image-ivi-crosssdk.bb | 23 ++++------- recipes-platform/images/agl-image-ivi.bb | 10 +---- recipes-platform/images/agl-ivi-crosssdk.inc | 21 ++++++++++ .../images/agl-ivi-demo-platform-crosssdk.bb | 48 ++++------------------ .../images/agl-ivi-demo-platform-flutter.bb | 2 +- .../images/agl-ivi-demo-platform-html5.bb | 2 +- recipes-platform/images/agl-ivi-demo-platform.bb | 5 +-- recipes-platform/images/agl-kvm-demo-platform.bb | 5 +-- .../images/agl-telematics-demo-platform.bb | 4 +- .../packagegroup-agl-cluster-demo-platform.bb | 1 - .../packagegroup-agl-demo-platform-flutter.bb | 1 - .../packagegroup-agl-demo-platform-html5.bb | 2 +- .../packagegroup-agl-demo-platform.bb | 3 +- .../packagegroups/packagegroup-agl-demo.bb | 1 - .../packagegroup-agl-graphical-weston.bbappend | 1 - .../packagegroup-agl-graphical-weston_agldemo.inc | 5 --- .../packagegroups/packagegroup-agl-image-ivi.bb | 3 ++ .../packagegroup-agl-image-ivi.bbappend | 4 -- .../packagegroups/packagegroup-agl-ivi-identity.bb | 8 +++- .../packagegroup-agl-ivi-multimedia-hardware.bb | 21 ++++++++++ .../packagegroup-agl-ivi-multimedia.bb | 18 ++++---- .../packagegroup-agl-profile-cluster-qt5.bb | 22 ---------- ...ackagegroup-agl-profile-cluster-qtcompositor.bb | 34 --------------- .../packagegroup-agl-profile-cluster.bb | 20 --------- .../packagegroup-agl-profile-graphical-html5.bb | 22 ---------- .../packagegroup-agl-profile-graphical-qt5.bb | 21 ---------- .../packagegroup-agl-profile-telematics.bb | 22 ---------- .../packagegroup-agl-telematics-demo-platform.bb | 14 ------- .../packagegroups/packagegroup-hmi-framework.bb | 20 --------- recipes-wam/wam/files/WebAppMgr.service | 5 ++- recipes-wam/wam/wam_git.bb | 48 +++++++++++----------- 69 files changed, 224 insertions(+), 531 deletions(-) delete mode 100644 recipes-config/agl-session/agl-container-guest/agl-session@.service delete mode 100644 recipes-config/agl-session/agl-session_agl-container-guest-demo.inc rename recipes-config/{agl-session/agl-session_%.bbappend => agl-users/agl-users_%.bbappend} (51%) create mode 100644 recipes-config/agl-users/agl-users_agl-container-guest-demo.inc delete mode 100644 recipes-demo/flutter-gallery/flutter-gallery_agldemo.inc delete mode 100644 recipes-demo/flutter-gallery/flutter-gallery_git.bbappend delete mode 100644 recipes-graphics/wayland/weston-terminal-conf/org.freedesktop.weston.wayland-terminal.desktop delete mode 100644 recipes-graphics/wayland/weston-terminal-conf/weston-terminal.desktop delete mode 100644 recipes-platform/images/agl-image-graphical-html5.bb delete mode 100755 recipes-platform/images/agl-image-graphical-qt5-crosssdk.bb create mode 100644 recipes-platform/images/agl-ivi-crosssdk.inc delete mode 100644 recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend delete mode 100644 recipes-platform/packagegroups/packagegroup-agl-graphical-weston_agldemo.inc delete mode 100644 recipes-platform/packagegroups/packagegroup-agl-image-ivi.bbappend create mode 100644 recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia-hardware.bb delete mode 100644 recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb delete mode 100644 recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb delete mode 100644 recipes-platform/packagegroups/packagegroup-agl-profile-cluster.bb delete mode 100644 recipes-platform/packagegroups/packagegroup-agl-profile-graphical-html5.bb delete mode 100644 recipes-platform/packagegroups/packagegroup-agl-profile-graphical-qt5.bb delete mode 100644 recipes-platform/packagegroups/packagegroup-agl-profile-telematics.bb delete mode 100644 recipes-platform/packagegroups/packagegroup-hmi-framework.bb diff --git a/recipes-config/agl-session/agl-container-guest/agl-session@.service b/recipes-config/agl-session/agl-container-guest/agl-session@.service deleted file mode 100644 index 213d88c63..000000000 --- a/recipes-config/agl-session/agl-container-guest/agl-session@.service +++ /dev/null @@ -1,24 +0,0 @@ -[Unit] -Description=AGL user session -After=systemd-user-sessions.service -Wants=dbus.socket -After=dbus.socket -After=session-c1.scope -Before=multi-user.target - -[Service] -Environment=XDG_SESSION_TYPE=wayland -ExecStart=/bin/systemctl --wait --user start agl-session.target -TimeoutStartSec=30 -# This is a template service, instantiate for desired user's name or uid -User=%i -PAMName=login -WorkingDirectory=~ -StandardInput=null -StandardOutput=journal -StandardError=journal -Restart=always -RestartSec=3s - -[Install] -WantedBy=multi-user.target diff --git a/recipes-config/agl-session/agl-session_agl-container-guest-demo.inc b/recipes-config/agl-session/agl-session_agl-container-guest-demo.inc deleted file mode 100644 index 94a0b9003..000000000 --- a/recipes-config/agl-session/agl-session_agl-container-guest-demo.inc +++ /dev/null @@ -1,15 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/agl-container-guest:" - -# Allow input device for agl-driver -GROUPADD_PARAM:${PN} = "\ - --system display ; \ - --system video ; \ - --system input ; \ - --system pipewire ; \ - -g 1001 agl-driver ; \ - -g 1003 applaunchd ; \ -" -USERADD_PARAM:${PN} = "\ - -g 1001 -u 1001 -G video,input,display,pipewire,applaunchd -o -d /home/agl-driver -m -K PASS_MAX_DAYS=-1 agl-driver ; \ - -g 1003 -u 1003 -o -d / -K PASS_MAX_DAYS=-1 applaunchd ; \ -" diff --git a/recipes-config/agl-session/agl-session_%.bbappend b/recipes-config/agl-users/agl-users_%.bbappend similarity index 51% rename from recipes-config/agl-session/agl-session_%.bbappend rename to recipes-config/agl-users/agl-users_%.bbappend index 118b81761..7ed894f04 100644 --- a/recipes-config/agl-session/agl-session_%.bbappend +++ b/recipes-config/agl-users/agl-users_%.bbappend @@ -1 +1 @@ -require ${@bb.utils.contains('AGL_FEATURES', 'agl-container-guest-demo', 'agl-session_agl-container-guest-demo.inc', '', d)} +require ${@bb.utils.contains('AGL_FEATURES', 'agl-container-guest-demo', 'agl-users_agl-container-guest-demo.inc', '', d)} diff --git a/recipes-config/agl-users/agl-users_agl-container-guest-demo.inc b/recipes-config/agl-users/agl-users_agl-container-guest-demo.inc new file mode 100644 index 000000000..cb21d079b --- /dev/null +++ b/recipes-config/agl-users/agl-users_agl-container-guest-demo.inc @@ -0,0 +1,10 @@ +# Allow input device for agl-driver +GROUPADD_PARAM:${PN} = "\ + --system video ; \ + --system input ; \ + --system pipewire ; \ + -g 1001 agl-driver ; \ +" +USERADD_PARAM:${PN} = "\ + -g 1001 -u 1001 -G video,input,pipewire -o -d /home/agl-driver -m -K PASS_MAX_DAYS=-1 agl-driver ; \ +" diff --git a/recipes-core/nss/nss-agl-driver-db/nss-agl-driver-db.service b/recipes-core/nss/nss-agl-driver-db/nss-agl-driver-db.service index 48eca3921..40818cf2b 100644 --- a/recipes-core/nss/nss-agl-driver-db/nss-agl-driver-db.service +++ b/recipes-core/nss/nss-agl-driver-db/nss-agl-driver-db.service @@ -1,7 +1,7 @@ [Unit] Description=Deploy Kuksa certificates to /home/agl-driver/.pki/ After=local-fs.target -Before=agl-session@agl-driver.service +Before=multi-user.target ConditionPathExists=!/home/agl-driver/.pki [Service] diff --git a/recipes-core/nss/nss-agl-driver-db_git.bb b/recipes-core/nss/nss-agl-driver-db_git.bb index 2426c4090..b2fb40340 100644 --- a/recipes-core/nss/nss-agl-driver-db_git.bb +++ b/recipes-core/nss/nss-agl-driver-db_git.bb @@ -29,4 +29,4 @@ do_install() { FILES:${PN} += "${systemd_system_unitdir} ${sbindir}" -RDEPENDS:${PN} += "nss agl-session kuksa-val-certificates-client bash" +RDEPENDS:${PN} += "nss agl-users kuksa-val-certificates-client bash" diff --git a/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.service b/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.service index d96c738bb..de34e0a58 100644 --- a/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.service +++ b/recipes-demo/cluster-dashboard/cluster-dashboard/cluster-dashboard.service @@ -6,9 +6,11 @@ After=agl-compositor.service # Since we are part of the agl session, make sure we are started before # it is complete. -Before=agl-session.target +Before=graphical.target [Service] +User=agl-driver +Environment=XDG_RUNTIME_DIR=/run/user/1001/ ExecStart=/usr/bin/cluster-dashboard Restart=always @@ -17,4 +19,4 @@ StandardOutput=journal StandardError=journal [Install] -WantedBy=agl-session.target +WantedBy=graphical.target diff --git a/recipes-demo/cluster-dashboard/cluster-dashboard_git.bb b/recipes-demo/cluster-dashboard/cluster-dashboard_git.bb index dd4633822..1404f6715 100644 --- a/recipes-demo/cluster-dashboard/cluster-dashboard_git.bb +++ b/recipes-demo/cluster-dashboard/cluster-dashboard_git.bb @@ -26,14 +26,14 @@ SRCREV = "137144c447d8adb618f5acbcbafd65f50264d6eb" S = "${WORKDIR}/git" -inherit pkgconfig cmake_qt5 +inherit pkgconfig cmake_qt5 systemd CLUSTER_DEMO_VISS_HOSTNAME ??= "192.168.10.2" +SYSTEMD_SERVICE:${PN} = "${BPN}.service" + do_install:append() { - install -d ${D}${systemd_user_unitdir}/agl-session.target.wants - install -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_user_unitdir}/${BPN}.service - ln -s ../${BPN}.service ${D}${systemd_user_unitdir}/agl-session.target.wants/${BPN}.service + install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service # VIS authorization token file for KUKSA.val should ideally not # be readable by other users, but currently that's not doable @@ -45,8 +45,6 @@ do_install:append() { install -m 0644 ${WORKDIR}/cluster-dashboard.token ${D}${sysconfdir}/xdg/AGL/cluster-dashboard/ } -FILES:${PN} += " ${systemd_user_unitdir}" - RDEPENDS:${PN} += " \ qtwayland \ qtbase-qmlplugins \ diff --git a/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor.service b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor.service index cedad0e8a..083a1e1f1 100644 --- a/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor.service +++ b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor.service @@ -2,7 +2,8 @@ Description=cluster-gauges-qtcompositor [Service] -Environment=XDG_RUNTIME_DIR=/run/user/0 +User=agl-driver +Environment=XDG_RUNTIME_DIR=/run/user/1001 ExecStart=/usr/bin/cluster-gauges Restart=always diff --git a/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb index 166a504f3..161e66528 100644 --- a/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb +++ b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb @@ -27,8 +27,6 @@ do_install:append() { install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service } -FILES:${PN} += " ${systemd_user_unitdir}" - RDEPENDS:${PN} += " \ qtquickcontrols \ qtquickcontrols-qmlplugins \ diff --git a/recipes-demo/cluster-receiver/cluster-receiver/cluster-receiver.service b/recipes-demo/cluster-receiver/cluster-receiver/cluster-receiver.service index e544e25fc..bf48afb28 100644 --- a/recipes-demo/cluster-receiver/cluster-receiver/cluster-receiver.service +++ b/recipes-demo/cluster-receiver/cluster-receiver/cluster-receiver.service @@ -6,9 +6,11 @@ After=agl-compositor.service # Since we are part of the agl session, make sure we are started before # it is complete. -Before=agl-session.target +Before=graphical.target [Service] +User=agl-driver +Environment=XDG_RUNTIME_DIR=/run/user/1001/ ExecStart=/usr/bin/xdg-cluster-receiver Restart=always @@ -17,4 +19,4 @@ StandardOutput=journal StandardError=journal [Install] -WantedBy=agl-session.target +WantedBy=graphical.target diff --git a/recipes-demo/cluster-receiver/cluster-receiver_git.bb b/recipes-demo/cluster-receiver/cluster-receiver_git.bb index 59d19da1e..c9842ff35 100644 --- a/recipes-demo/cluster-receiver/cluster-receiver_git.bb +++ b/recipes-demo/cluster-receiver/cluster-receiver_git.bb @@ -21,16 +21,14 @@ SRCREV = "ce90cf8dd26d596d65e222a94e64aa51e1c33298" S = "${WORKDIR}/git" -inherit cmake pkgconfig +inherit cmake pkgconfig systemd + +SYSTEMD_SERVICE:${PN} = "${BPN}.service" do_install:append() { - install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_user_unitdir}/${BPN}.service - install -d ${D}${systemd_user_unitdir}/agl-session.target.wants - ln -s ../${BPN}.service ${D}${systemd_user_unitdir}/agl-session.target.wants/${BPN}.service + install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service } -FILES:${PN} += " ${systemd_user_unitdir}" - RDEPENDS:${PN} += " \ gstreamer1.0-plugins-base \ gstreamer1.0-plugins-good \ diff --git a/recipes-demo/cluster-receiver/qt-cluster-receiver/qt-cluster-receiver.service b/recipes-demo/cluster-receiver/qt-cluster-receiver/qt-cluster-receiver.service index bc328f9e5..e3e1b9520 100644 --- a/recipes-demo/cluster-receiver/qt-cluster-receiver/qt-cluster-receiver.service +++ b/recipes-demo/cluster-receiver/qt-cluster-receiver/qt-cluster-receiver.service @@ -6,9 +6,11 @@ After=agl-compositor.service # Since we are part of the agl session, make sure we are started before # it is complete. -Before=agl-session.target +Before=graphical.target [Service] +User=agl-driver +Environment=XDG_RUNTIME_DIR=/run/user/1001/ ExecStart=/usr/bin/qt-cluster-receiver Restart=always @@ -17,4 +19,4 @@ StandardOutput=journal StandardError=journal [Install] -WantedBy=agl-session.target +WantedBy=graphical.target diff --git a/recipes-demo/cluster-receiver/qt-cluster-receiver_git.bb b/recipes-demo/cluster-receiver/qt-cluster-receiver_git.bb index 8d8908c24..d50e9dd12 100644 --- a/recipes-demo/cluster-receiver/qt-cluster-receiver_git.bb +++ b/recipes-demo/cluster-receiver/qt-cluster-receiver_git.bb @@ -23,18 +23,19 @@ SRCREV = "b5622ce91307589b03ad5d903214b47ff2277e48" S = "${WORKDIR}/git" -inherit cmake_qt5 pkgconfig +inherit cmake_qt5 pkgconfig systemd do_install:append() { # Only install unit, do not enable it by default - install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_user_unitdir}/${BPN}.service + install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service } -FILES:${PN} += " ${systemd_user_unitdir}" - RDEPENDS:${PN} += " \ qtwayland \ gstreamer1.0-plugins-base \ gstreamer1.0-plugins-good \ gstreamer1.0-plugins-bad \ " + +SYSTEMD_SERVICE:${PN} = "${BPN}.service" +SYSTEMD_AUTO_ENABLE:${PN} = "disable" diff --git a/recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service b/recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service index b79092e28..21082e7eb 100644 --- a/recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service +++ b/recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service @@ -3,10 +3,12 @@ Requires=agl-compositor.service After=agl-compositor.service [Service] +User=agl-driver EnvironmentFile=/etc/default/flutter EnvironmentFile=-/etc/default/flutter-cluster-dashboard +Environment=XDG_RUNTIME_DIR=/run/user/1001/ ExecStart=/usr/bin/flutter-auto --b=/usr/share/flutter/flutter_cluster_dashboard/${FLUTTER_VERSION}/${FLUTTER_RUNTIME} --j=/usr/share/flutter/flutter-cluster-dashboard.json Restart=on-failure [Install] -WantedBy=agl-session.target +WantedBy=graphical.target diff --git a/recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb b/recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb index b3076494d..b7d9c4b61 100644 --- a/recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb +++ b/recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb @@ -26,16 +26,16 @@ FLUTTER_APPLICATION_INSTALL_PREFIX = "/flutter" OPENROUTE_API_KEY ??= "YOU_NEED_TO_SET_IT_IN_LOCAL_CONF" -inherit flutter-app update-alternatives +inherit flutter-app update-alternatives systemd CLUSTER_DEMO_VISS_HOSTNAME ??= "192.168.10.2" APP_CONFIG = "flutter_cluster_dashboard_on_bg.json" +SYSTEMD_SERVICE:${PN} = "flutter-cluster-dashboard.service" + do_install:append() { - install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_user_unitdir}/${BPN}.service - install -d ${D}${systemd_user_unitdir}/agl-session.target.wants - ln -s ../${BPN}.service ${D}${systemd_user_unitdir}/agl-session.target.wants/${BPN}.service + install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service install -D -m 0644 ${WORKDIR}/${APP_CONFIG} ${D}${datadir}/flutter/${BPN}.json @@ -50,8 +50,9 @@ do_install:append() { ALTERNATIVE_LINK_NAME[flutter-cluster-dashboard.yaml] = "${sysconfdir}/xdg/AGL/${BPN}.yaml" -FILES:${PN} += "${datadir} ${systemd_user_unitdir} ${sysconfdir}/default/" -RDEPENDS:${PN} += "flutter-auto agl-flutter-env" +FILES:${PN} += "${datadir} ${sysconfdir}/default/" + +RDEPENDS:${PN} += "flutter-auto agl-flutter-env liberation-fonts" PACKAGE_BEFORE_PN += "${PN}-conf ${PN}-conf-demo" diff --git a/recipes-demo/flutter-gallery/flutter-gallery_agldemo.inc b/recipes-demo/flutter-gallery/flutter-gallery_agldemo.inc deleted file mode 100644 index 4a7d3652a..000000000 --- a/recipes-demo/flutter-gallery/flutter-gallery_agldemo.inc +++ /dev/null @@ -1,5 +0,0 @@ -inherit agl-app - -AGL_APP_TEMPLATE = "agl-app-flutter" -AGL_APP_ID = "gallery" -AGL_APP_NAME = "Gallery" diff --git a/recipes-demo/flutter-gallery/flutter-gallery_git.bbappend b/recipes-demo/flutter-gallery/flutter-gallery_git.bbappend deleted file mode 100644 index 5e55224e2..000000000 --- a/recipes-demo/flutter-gallery/flutter-gallery_git.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'flutter-gallery_agldemo.inc', '', d)} diff --git a/recipes-demo/flutter-homescreen/files/flutter-homescreen.service b/recipes-demo/flutter-homescreen/files/flutter-homescreen.service index a57fc5cc5..6a1eabeab 100644 --- a/recipes-demo/flutter-homescreen/files/flutter-homescreen.service +++ b/recipes-demo/flutter-homescreen/files/flutter-homescreen.service @@ -3,10 +3,12 @@ Requires=agl-compositor.service After=agl-compositor.service [Service] +User=agl-driver EnvironmentFile=/etc/default/flutter EnvironmentFile=-/etc/default/flutter-homescreen +Environment=XDG_RUNTIME_DIR=/run/user/1001/ ExecStart=/usr/bin/flutter-auto --b=/usr/share/flutter/flutter_homescreen/${FLUTTER_VERSION}/${FLUTTER_RUNTIME} --j=/usr/share/flutter/flutter-homescreen.json --xdg-shell-app-id=homescreen Restart=on-failure [Install] -WantedBy=agl-session.target +WantedBy=graphical.target diff --git a/recipes-demo/flutter-homescreen/flutter-homescreen_git.bb b/recipes-demo/flutter-homescreen/flutter-homescreen_git.bb index 0bd1ae19b..62ea1e176 100644 --- a/recipes-demo/flutter-homescreen/flutter-homescreen_git.bb +++ b/recipes-demo/flutter-homescreen/flutter-homescreen_git.bb @@ -20,14 +20,14 @@ FLUTTER_APPLICATION_INSTALL_PREFIX = "/flutter" FLUTTER_BUILD_ARGS = "bundle -v" -inherit flutter-app +inherit flutter-app systemd APP_CONFIG = "${BPN}.json" +SYSTEMD_SERVICE:${PN} = "flutter-homescreen.service" + do_install:append() { - install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_user_unitdir}/${BPN}.service - install -d ${D}${systemd_user_unitdir}/agl-session.target.wants - ln -s ../${BPN}.service ${D}${systemd_user_unitdir}/agl-session.target.wants/${BPN}.service + install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service install -D -m 0644 ${WORKDIR}/${APP_CONFIG} ${D}${datadir}/flutter/${BPN}.json @@ -35,5 +35,5 @@ do_install:append() { install -m 0644 ${WORKDIR}/homescreen_config.yaml ${D}${sysconfdir}/xdg/AGL/ } -FILES:${PN} += "${datadir} ${systemd_user_unitdir} ${sysconfdir}/xdg/AGL" +FILES:${PN} += "${datadir} ${sysconfdir}/xdg/AGL" RDEPENDS:${PN} += "flutter-auto agl-flutter-env" diff --git a/recipes-demo/homescreen/files/homescreen.service b/recipes-demo/homescreen/files/homescreen.service index 7b765c7b8..d35f52ad6 100644 --- a/recipes-demo/homescreen/files/homescreen.service +++ b/recipes-demo/homescreen/files/homescreen.service @@ -1,12 +1,15 @@ [Unit] Requires=agl-compositor.service After=agl-compositor.service +Before=graphical.target [Service] Type=simple +User=agl-driver +Environment=XDG_RUNTIME_DIR=/run/user/1001/ EnvironmentFile=-/etc/default/homescreen ExecStart=/usr/bin/homescreen Restart=on-failure [Install] -WantedBy=agl-session.target +WantedBy=graphical.target diff --git a/recipes-demo/homescreen/homescreen_git.bb b/recipes-demo/homescreen/homescreen_git.bb index 7fbd55e02..e888dfca8 100644 --- a/recipes-demo/homescreen/homescreen_git.bb +++ b/recipes-demo/homescreen/homescreen_git.bb @@ -29,16 +29,16 @@ SRCREV = "c9ae3bc5a102caad6d8040cd268a64295654e162" S = "${WORKDIR}/git" -inherit meson systemd pkgconfig +inherit meson pkgconfig systemd PATH:prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:" OE_QMAKE_CXXFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', '' , '-DQT_NO_DEBUG_OUTPUT', d)}" +SYSTEMD_SERVICE:${PN} = "${BPN}.service" + do_install:append() { - install -d ${D}${systemd_user_unitdir}/agl-session.target.wants - install -m0644 ${WORKDIR}/homescreen.service ${D}${systemd_user_unitdir}/homescreen.service - ln -s ../homescreen.service ${D}${systemd_user_unitdir}/agl-session.target.wants/homescreen.service + install -D -m0644 ${WORKDIR}/homescreen.service ${D}${systemd_system_unitdir}/homescreen.service # Currently using default global client and CA certificates # for KUKSA.val SSL, installing app specific ones would go here. @@ -52,8 +52,6 @@ do_install:append() { install -m 0644 ${WORKDIR}/homescreen.token ${D}${sysconfdir}/xdg/AGL/homescreen/ } -FILES:${PN} += " ${systemd_user_unitdir}" - RDEPENDS:${PN} += " \ libqtappfw \ applaunchd \ diff --git a/recipes-demo/html5-homescreen/files/homescreen.service b/recipes-demo/html5-homescreen/files/homescreen.service index b142c4efe..4cc44242e 100644 --- a/recipes-demo/html5-homescreen/files/homescreen.service +++ b/recipes-demo/html5-homescreen/files/homescreen.service @@ -5,9 +5,11 @@ After=WebAppMgr.service dbus.service [Service] Type=simple +User=agl-driver +Environment=XDG_RUNTIME_DIR=/run/user/1001/ ExecStartPre=sleep 5 ExecStart=/usr/bin/WebAppMgr --appid=homescreen --app-install-dir=/usr/lib/wam_apps/html5-homescreen/ Restart=on-failure [Install] -WantedBy=agl-session.target +WantedBy=graphical.target diff --git a/recipes-demo/html5-homescreen/html5-homescreen_git.bb b/recipes-demo/html5-homescreen/html5-homescreen_git.bb index 463aa56d0..c03aee496 100644 --- a/recipes-demo/html5-homescreen/html5-homescreen_git.bb +++ b/recipes-demo/html5-homescreen/html5-homescreen_git.bb @@ -4,42 +4,42 @@ SECTION = "apps" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -PV = "1.0+git${SRCPV}" -S = "${WORKDIR}/git" -B = "${WORKDIR}/build" - SRC_URI = " \ - git://gerrit.automotivelinux.org/gerrit/apps/html5-homescreen;protocol=https;branch=master \ - file://homescreen.service \ + git://gerrit.automotivelinux.org/gerrit/apps/html5-homescreen;protocol=https;branch=master \ + file://homescreen.service \ " SRCREV = "e85c42ae77592afdb72df8e8d4f27e0e7ad17bb9" -inherit pythonnative +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" +B = "${WORKDIR}/build" + +inherit pythonnative systemd DEPENDS = "nodejs-native" do_compile[network] = "1" do_compile() { - cd ${S} - rm -rf package node_modules package-lock.json - npm install - npm run build + cd ${S} + rm -rf package node_modules package-lock.json + npm install + npm run build } WAM_APPLICATIONS_DIR = "${libdir}/wam_apps" +SYSTEMD_SERVICE:${PN} = "homescreen.service" + do_install() { - install -d ${D}${WAM_APPLICATIONS_DIR}/${PN} - cp -R --no-dereference --preserve=mode,links ${S}/dist/* ${D}${WAM_APPLICATIONS_DIR}/${PN} - install -d ${D}${systemd_user_unitdir}/agl-session.target.wants - install -m 0644 ${WORKDIR}/homescreen.service ${D}${systemd_user_unitdir}/homescreen.service - ln -s ../homescreen.service ${D}${systemd_user_unitdir}/agl-session.target.wants/homescreen.service + install -d ${D}${WAM_APPLICATIONS_DIR}/${PN} + cp -R --no-dereference --preserve=mode,links ${S}/dist/* ${D}${WAM_APPLICATIONS_DIR}/${PN} + install -D -m 0644 ${WORKDIR}/homescreen.service ${D}${systemd_system_unitdir}/homescreen.service } FILES:${PN} = " \ - ${WAM_APPLICATIONS_DIR}/${PN} \ - ${systemd_user_unitdir} \ + ${WAM_APPLICATIONS_DIR}/${PN} \ + ${systemd_system_unitdir} \ " -RCONFLICTS:${PN} = "homescreen" +RCONFLICTS:${PN} = "homescreen flutter-homescreen" RDEPENDS:${PN} = "applaunchd html5-background" diff --git a/recipes-demo/html5-launcher/html5-launcher_git.bb b/recipes-demo/html5-launcher/html5-launcher_git.bb index 71319fb6c..f4f722fb7 100644 --- a/recipes-demo/html5-launcher/html5-launcher_git.bb +++ b/recipes-demo/html5-launcher/html5-launcher_git.bb @@ -38,5 +38,5 @@ do_install() { FILES:${PN} = "${WAM_APPLICATIONS_DIR}/${PN}" -RCONFLICTS:${PN} = "launcher" +RCONFLICTS:${PN} = "launcher flutter-homescreen" RDEPENDS:${PN} = "applaunchd" diff --git a/recipes-demo/launcher/files/launcher.service b/recipes-demo/launcher/files/launcher.service index 7b3b172dd..882d13a1f 100644 --- a/recipes-demo/launcher/files/launcher.service +++ b/recipes-demo/launcher/files/launcher.service @@ -4,8 +4,10 @@ After=homescreen.service [Service] Type=simple +User=agl-driver +Environment=XDG_RUNTIME_DIR=/run/user/1001/ ExecStart=/usr/bin/launcher Restart=on-failure [Install] -WantedBy=agl-session.target +WantedBy=graphical.target diff --git a/recipes-demo/launcher/launcher_git.bb b/recipes-demo/launcher/launcher_git.bb index d9e959b54..c46a4a182 100644 --- a/recipes-demo/launcher/launcher_git.bb +++ b/recipes-demo/launcher/launcher_git.bb @@ -32,14 +32,12 @@ inherit qmake5 systemd pkgconfig PATH:prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:" +SYSTEMD_SERVICE:${PN} = "${BPN}.service" + do_install:append() { - install -d ${D}${systemd_user_unitdir}/agl-session.target.wants - install -m0644 ${WORKDIR}/launcher.service ${D}${systemd_user_unitdir}/launcher.service - ln -s ../launcher.service ${D}${systemd_user_unitdir}/agl-session.target.wants/launcher.service + install -D -m0644 ${WORKDIR}/launcher.service ${D}${systemd_system_unitdir}/launcher.service } -FILES:${PN} += " ${systemd_user_unitdir}" - RDEPENDS:${PN} += " \ libqtappfw \ applaunchd \ diff --git a/recipes-demo/navigation/tbtnavi/tbtnavi.service b/recipes-demo/navigation/tbtnavi/tbtnavi.service index cc040009c..fb77843c0 100644 --- a/recipes-demo/navigation/tbtnavi/tbtnavi.service +++ b/recipes-demo/navigation/tbtnavi/tbtnavi.service @@ -4,8 +4,10 @@ After=agl-compositor.service [Service] Type=simple +User=agl-driver +Environment=XDG_RUNTIME_DIR=/run/user/1001/ ExecStart=/usr/bin/tbtnavi Restart=on-failure [Install] -WantedBy=agl-session.target +WantedBy=graphical.target diff --git a/recipes-demo/navigation/tbtnavi_git.bb b/recipes-demo/navigation/tbtnavi_git.bb index 9da368270..22a87734c 100644 --- a/recipes-demo/navigation/tbtnavi_git.bb +++ b/recipes-demo/navigation/tbtnavi_git.bb @@ -33,10 +33,10 @@ S = "${WORKDIR}/git" inherit qmake5 systemd pkgconfig +SYSTEMD_SERVICE:${PN} = "${BPN}.service" + do_install:append() { - install -d ${D}${systemd_user_unitdir}/agl-session.target.wants - install -m0644 ${WORKDIR}/tbtnavi.service ${D}${systemd_user_unitdir}/tbtnavi.service - ln -s ../tbtnavi.service ${D}${systemd_user_unitdir}/agl-session.target.wants/tbtnavi.service + install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service # Currently using default global client and CA certificates # for KUKSA.val SSL, installing app specific ones would go here. @@ -50,8 +50,6 @@ do_install:append() { install -m 0644 ${WORKDIR}/tbtnavi.token ${D}${sysconfdir}/xdg/AGL/tbtnavi/ } -FILES:${PN} += " ${systemd_user_unitdir}" - RDEPENDS:${PN} += " \ qtlocation \ ondemandnavi-config \ diff --git a/recipes-extended/agl-qemu-runner/files/agl-qemu-runner@.service b/recipes-extended/agl-qemu-runner/files/agl-qemu-runner@.service index 95b1fe086..d19c529f0 100644 --- a/recipes-extended/agl-qemu-runner/files/agl-qemu-runner@.service +++ b/recipes-extended/agl-qemu-runner/files/agl-qemu-runner@.service @@ -5,7 +5,8 @@ After=native-shell-client.service [Service] Type=simple ExecStart=/usr/sbin/agl-qemu-runner.sh %i -Restart=on-failure +#Restart=on-failure +Restart=no [Install] WantedBy=multi-user.target diff --git a/recipes-graphics/wayland/weston-terminal-conf.bb b/recipes-graphics/wayland/weston-terminal-conf.bb index a34c41485..390edc8a8 100644 --- a/recipes-graphics/wayland/weston-terminal-conf.bb +++ b/recipes-graphics/wayland/weston-terminal-conf.bb @@ -18,4 +18,4 @@ FILES:${PN} = " \ ${sysconfdir}/systemd/system/agl-app@${AGL_APP_ID}.service.d \ " -RDEPENDS:${PN} = "weston" +RDEPENDS:${PN} = "weston-terminal" diff --git a/recipes-graphics/wayland/weston-terminal-conf/org.freedesktop.weston.wayland-terminal.desktop b/recipes-graphics/wayland/weston-terminal-conf/org.freedesktop.weston.wayland-terminal.desktop deleted file mode 100644 index 6c4628700..000000000 --- a/recipes-graphics/wayland/weston-terminal-conf/org.freedesktop.weston.wayland-terminal.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Weston Terminal -Comment=Terminal Emulator -GenericName=Terminal Emulator -Exec=weston-terminal -Icon=utilities-terminal -Terminal=false -Type=Application -Categories=System;TerminalEmulator; -StartupNotify=true diff --git a/recipes-graphics/wayland/weston-terminal-conf/weston-terminal.desktop b/recipes-graphics/wayland/weston-terminal-conf/weston-terminal.desktop deleted file mode 100644 index d1cb2c889..000000000 --- a/recipes-graphics/wayland/weston-terminal-conf/weston-terminal.desktop +++ /dev/null @@ -1,12 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Weston Terminal (systemd) -Comment=Terminal Emulator -GenericName=Terminal Emulator -Exec=weston-terminal -Icon=utilities-terminal -Terminal=false -Type=Application -Categories=System;TerminalEmulator; -DBusActivatable=true -StartupNotify=true diff --git a/recipes-platform/images/agl-cluster-demo-platform-flutter.bb b/recipes-platform/images/agl-cluster-demo-platform-flutter.bb index bf3820aa9..fc3cc51fc 100644 --- a/recipes-platform/images/agl-cluster-demo-platform-flutter.bb +++ b/recipes-platform/images/agl-cluster-demo-platform-flutter.bb @@ -2,7 +2,7 @@ SUMMARY = "Baseline Flutter Image for Release" LICENSE = "MIT" -require recipes-platform/images/agl-image-weston.inc +require recipes-platform/images/agl-image-compositor.bb IMAGE_FEATURES += "splash package-management ssh-server-openssh" @@ -21,12 +21,9 @@ IMAGE_KUKSA_PACKAGES = " \ " # generic -IMAGE_INSTALL:append = "\ - agl-compositor \ - agl-compositor-init \ +IMAGE_INSTALL += "\ ${@bb.utils.contains("AGL_FEATURES", "agl-demo-preload", "weston-ini-conf-landscape-inverted", "weston-ini-conf-landscape", d)} \ \ - packagegroup-agl-profile-graphical \ packagegroup-agl-networking \ cluster-receiver \ \ @@ -35,7 +32,7 @@ IMAGE_INSTALL:append = "\ " # Flutter -IMAGE_INSTALL:append = "\ +IMAGE_INSTALL += "\ flutter-cluster-dashboard \ ${@bb.utils.contains("AGL_FEATURES", "agl-demo-preload", "flutter-cluster-dashboard-conf-demo", "flutter-cluster-dashboard-conf", d)} \ cluster-demo-config-flutter \ diff --git a/recipes-platform/images/agl-cluster-demo-platform.bb b/recipes-platform/images/agl-cluster-demo-platform.bb index 8a3b9a793..f0b04a6b5 100644 --- a/recipes-platform/images/agl-cluster-demo-platform.bb +++ b/recipes-platform/images/agl-cluster-demo-platform.bb @@ -2,7 +2,7 @@ DESCRIPTION = "AGL Cluster Demo Platform image currently contains a simple clust LICENSE = "MIT" -require recipes-platform/images/agl-image-boot.inc +require recipes-platform/images/agl-image-compositor.bb IMAGE_FEATURES += "splash package-management ssh-server-openssh" @@ -11,7 +11,7 @@ inherit features_check REQUIRED_DISTRO_FEATURES = "wayland" # add packages for cluster demo platform (include demo apps) here -IMAGE_INSTALL:append = " \ +IMAGE_INSTALL += " \ packagegroup-agl-cluster-demo-platform \ ${@bb.utils.contains("AGL_FEATURES", "agl-demo-preload", "cluster-demo-config", "", d)} \ ${@bb.utils.contains("AGL_FEATURES", "agl-demo-preload", "weston-ini-conf-landscape-inverted", "weston-ini-conf-landscape", d)} \ diff --git a/recipes-platform/images/agl-cluster-demo-qtcompositor.bb b/recipes-platform/images/agl-cluster-demo-qtcompositor.bb index a9da97639..69dee2dfc 100644 --- a/recipes-platform/images/agl-cluster-demo-qtcompositor.bb +++ b/recipes-platform/images/agl-cluster-demo-qtcompositor.bb @@ -1,23 +1,11 @@ DESCRIPTION = "AGL Cluster Demo Qtwayland Compositor image currently contains a \ -simple cluster interface and some AGL service." +simple cluster interface." LICENSE = "MIT" -require recipes-platform/images/agl-image-boot.inc +require recipes-platform/images/agl-image-weston.bb IMAGE_FEATURES += "splash package-management ssh-server-dropbear" -inherit features_check - -REQUIRED_DISTRO_FEATURES = "wayland" - -# add packages for cluster demo qtcompositor -IMAGE_INSTALL:append = " \ - packagegroup-agl-cluster-demo-qtcompositor \ -" - -# NOTE: This should be revisited after upgrading to hardknott or later, -# as it may no longer be required. However, since Wayland is not -# being used, the new "weston" image feature may not be a viable -# option. -SYSTEMD_DEFAULT_TARGET = "graphical.target" +# Add packages for qtcompositor demo +IMAGE_INSTALL += "cluster-gauges-qtcompositor" diff --git a/recipes-platform/images/agl-image-graphical-html5.bb b/recipes-platform/images/agl-image-graphical-html5.bb deleted file mode 100644 index c25a92750..000000000 --- a/recipes-platform/images/agl-image-graphical-html5.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "An image containing all packages required to run web applications" - -require recipes-platform/images/agl-image-minimal.inc - -IMAGE_FEATURES += "splash" - -IMAGE_FEATURES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'ssh-server-dropbear' , '', d)}" - -inherit features_check - -REQUIRED_DISTRO_FEATURES = "wayland" - - -LICENSE = "MIT" - -IMAGE_INSTALL:append = "\ - packagegroup-agl-profile-graphical-html5 \ - " - diff --git a/recipes-platform/images/agl-image-graphical-qt5-crosssdk.bb b/recipes-platform/images/agl-image-graphical-qt5-crosssdk.bb deleted file mode 100755 index 596ac80eb..000000000 --- a/recipes-platform/images/agl-image-graphical-qt5-crosssdk.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Cross SDK of Full AGL Distribution for IVI profile" - -DESCRIPTION = "SDK image for full AGL Distribution for IVI profile. \ -It includes the full meta-toolchain, plus developement headers and libraries \ -to form a standalone cross SDK." - -#require agl-image-graphical-qt5.bb -require recipes-platform/images/agl-image-weston.inc - - -LICENSE = "MIT" - -require recipes-platform/images/agl-image-minimal-crosssdk.inc - -# Add wayland-scanner to SDK (SPEC-945) -# Use TOOLCHAIN_HOST_TASK instead of adding to the packagegroup -# wayland-scanner is in nativesdk-wayland-dev ! -# option: add also nativesdk-qtwayland-tools -TOOLCHAIN_HOST_TASK:append = " nativesdk-wayland nativesdk-wayland-dev" - -TOOLCHAIN_HOST_TASK:append = " nativesdk-perl-modules " - -# Add qtwaylandscanner to the SDK -TOOLCHAIN_HOST_TASK:append = " nativesdk-qtwayland-tools " - - -inherit populate_sdk populate_sdk_qt5 - -# Task do_populate_sdk and do_rootfs can't be exec simultaneously. -# Both exec "createrepo" on the same directory, and so one of them -# can failed (randomly). -addtask do_populate_sdk after do_rootfs diff --git a/recipes-platform/images/agl-image-ivi-crosssdk.bb b/recipes-platform/images/agl-image-ivi-crosssdk.bb index 2f722b21c..be008832b 100644 --- a/recipes-platform/images/agl-image-ivi-crosssdk.bb +++ b/recipes-platform/images/agl-image-ivi-crosssdk.bb @@ -1,20 +1,11 @@ -require recipes-platform/images/agl-image-minimal-crosssdk.inc +require agl-image-ivi.bb -require recipes-platform/images/agl-image-minimal.inc +SUMMARY = "Cross SDK of minimal AGL Distribution for IVI profile" -IMAGE_INSTALL:append = "\ - packagegroup-agl-image-ivi \ - packagegroup-agl-ivi-services \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pipewire', 'packagegroup-pipewire', '', d)} \ - can-utils \ - iproute2 \ - " +DESCRIPTION = "SDK image for minimal AGL Distribution for IVI profile. \ +It includes the full toolchain, plus development headers and libraries \ +to form a standalone cross SDK." -IMAGE_FEATURES += "splash package-management ssh-server-openssh" +inherit agl-crosssdk -inherit populate_sdk - -# Task do_populate_sdk and do_rootfs can't be exec simultaneously. -# Both exec "createrepo" on the same directory, and so one of them -# can failed (randomly). -addtask do_populate_sdk after do_rootfs +require agl-ivi-crosssdk.inc diff --git a/recipes-platform/images/agl-image-ivi.bb b/recipes-platform/images/agl-image-ivi.bb index b5cf0a545..417665144 100644 --- a/recipes-platform/images/agl-image-ivi.bb +++ b/recipes-platform/images/agl-image-ivi.bb @@ -4,22 +4,16 @@ DESCRIPTION = "Basic image for baseline of AGL Distribution for IVI profile." LICENSE = "MIT" -require recipes-platform/images/agl-image-weston.inc +require recipes-platform/images/agl-image-compositor.bb -IMAGE_INSTALL:append = "\ +IMAGE_INSTALL += " \ packagegroup-agl-image-ivi \ packagegroup-agl-ivi-services \ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'packagegroup-agl-ivi-services-devel' , '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pipewire', 'packagegroup-pipewire', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pipewire', 'wireplumber-config-agl wireplumber-policy-config-agl', '', d)} \ can-utils \ iproute2 \ " IMAGE_FEATURES += "splash package-management ssh-server-openssh" -# NOTE: In hardknott or later this can be replaced by adding "weston" -# to IMAGE_FEATURES. -SYSTEMD_DEFAULT_TARGET = "graphical.target" - diff --git a/recipes-platform/images/agl-ivi-crosssdk.inc b/recipes-platform/images/agl-ivi-crosssdk.inc new file mode 100644 index 000000000..551c03437 --- /dev/null +++ b/recipes-platform/images/agl-ivi-crosssdk.inc @@ -0,0 +1,21 @@ +# +# Common IVI SDK configuration +# +# Only host tool additions should done here +# + +# Add wayland-scanner to SDK (SPEC-945) +# Use TOOLCHAIN_HOST_TASK instead of adding to the packagegroup +# wayland-scanner is in nativesdk-wayland-dev ! +# option: add also nativesdk-qtwayland-tools +TOOLCHAIN_HOST_TASK += "nativesdk-wayland nativesdk-wayland-dev" + +TOOLCHAIN_HOST_TASK += "nativesdk-perl-modules" + +# add grpc for building natively for grpc_cpp_plugin +TOOLCHAIN_HOST_TASK += "nativesdk-grpc nativesdk-grpc-dev" + +# Add gcc-sanitizers to support building applications using the SDK with +# AddressSanitizer support to detect use-after-frees along with other +# memory issue. +TOOLCHAIN_TARGET_TASK += "gcc-sanitizers" diff --git a/recipes-platform/images/agl-ivi-demo-platform-crosssdk.bb b/recipes-platform/images/agl-ivi-demo-platform-crosssdk.bb index 3e3d478d3..c9ed07a0a 100644 --- a/recipes-platform/images/agl-ivi-demo-platform-crosssdk.bb +++ b/recipes-platform/images/agl-ivi-demo-platform-crosssdk.bb @@ -1,50 +1,16 @@ require agl-ivi-demo-platform.bb -SUMMARY = "Cross SDK of Full AGL Distribution for IVI profile" +SUMMARY = "Cross SDK of demo AGL Distribution for IVI profile" DESCRIPTION = "SDK image for full AGL Distribution for IVI profile. \ -It includes the full meta-toolchain, plus developement headers and libraries \ -to form a standalone cross SDK." +It includes the full toolchain, plus development headers and libraries \ +for everything in the demo platform to form a standalone cross SDK." -require recipes-platform/images/agl-image-minimal-crosssdk.inc +inherit agl-crosssdk -# Add wayland-scanner to SDK (SPEC-945) -# Use TOOLCHAIN_HOST_TASK instead of adding to the packagegroup -# wayland-scanner is in nativesdk-wayland-dev ! -# option: add also nativesdk-qtwayland-tools -TOOLCHAIN_HOST_TASK:append = " nativesdk-wayland nativesdk-wayland-dev" +require agl-ivi-crosssdk.inc -TOOLCHAIN_HOST_TASK:append = " nativesdk-perl-modules " +inherit populate_sdk_qt5 # Add qtwaylandscanner to the SDK -TOOLCHAIN_HOST_TASK:append = " nativesdk-qtwayland-tools " - -# add grpc for building natively for grpc_cpp_plugin -TOOLCHAIN_HOST_TASK:append = " nativesdk-grpc nativesdk-grpc-dev " -# Task do_populate_sdk and do_rootfs can't be exec simultaneously. -# Both exec "createrepo" on the same directory, and so one of them -# can failed (randomly). -addtask do_populate_sdk after do_rootfs - -inherit populate_sdk populate_sdk_qt5 - -# Task do_populate_sdk and do_rootfs can't be exec simultaneously. -# Both exec "createrepo" on the same directory, and so one of them -# can failed (randomly). -addtask do_populate_sdk after do_rootfs - -# Add gcc-sanitizers to support building applications using the SDK with -# AddressSanitizer support to detect use-after-frees along with other -# memory issue. -TOOLCHAIN_TARGET_TASK += "gcc-sanitizers" - - -TOOLCHAIN_HOST_TASK += " \ - nativesdk-lua \ -" - -# Required dependencies for app and test builds -TOOLCHAIN_TARGET_TASK += " \ - lua-dev \ - lua-staticdev \ -" +TOOLCHAIN_HOST_TASK += "nativesdk-qtwayland-tools" diff --git a/recipes-platform/images/agl-ivi-demo-platform-flutter.bb b/recipes-platform/images/agl-ivi-demo-platform-flutter.bb index f385c1e08..85f892fc0 100644 --- a/recipes-platform/images/agl-ivi-demo-platform-flutter.bb +++ b/recipes-platform/images/agl-ivi-demo-platform-flutter.bb @@ -6,7 +6,7 @@ require agl-demo-features.inc require agl-demo-container-guest-integration.inc # add packages for demo platform (include demo apps) here -IMAGE_INSTALL:append = " \ +IMAGE_INSTALL += " \ packagegroup-agl-demo-platform-flutter \ weston-ini-conf-flutter \ ${@bb.utils.contains("AGL_FEATURES", "agl-demo-preload", "", "weston-terminal-conf", d)} \ diff --git a/recipes-platform/images/agl-ivi-demo-platform-html5.bb b/recipes-platform/images/agl-ivi-demo-platform-html5.bb index dc82ce4e5..85d2ca059 100644 --- a/recipes-platform/images/agl-ivi-demo-platform-html5.bb +++ b/recipes-platform/images/agl-ivi-demo-platform-html5.bb @@ -6,6 +6,6 @@ DESCRIPTION = "Contains the web runtime and sample web apps" require agl-demo-container-guest-integration.inc # add packages for demo platform (include demo apps) here -IMAGE_INSTALL:append = " \ +IMAGE_INSTALL += " \ packagegroup-agl-demo-platform-html5 \ " diff --git a/recipes-platform/images/agl-ivi-demo-platform.bb b/recipes-platform/images/agl-ivi-demo-platform.bb index f5fcad912..a07fa2faa 100644 --- a/recipes-platform/images/agl-ivi-demo-platform.bb +++ b/recipes-platform/images/agl-ivi-demo-platform.bb @@ -1,13 +1,12 @@ require agl-image-ivi.bb -DESCRIPTION = "AGL Demo Platform image currently contains a simple HMI and \ -demos." +DESCRIPTION = "AGL Demo Platform image currently contains a simple HMI and demos." require agl-demo-features.inc require agl-demo-container-guest-integration.inc # add packages for demo platform (include demo apps) here -IMAGE_INSTALL:append = " \ +IMAGE_INSTALL += " \ packagegroup-agl-demo-platform \ ${@bb.utils.contains("AGL_FEATURES", "agl-demo-preload", "", "weston-terminal-conf", d)} \ " diff --git a/recipes-platform/images/agl-kvm-demo-platform.bb b/recipes-platform/images/agl-kvm-demo-platform.bb index 378ea8322..4337ec025 100644 --- a/recipes-platform/images/agl-kvm-demo-platform.bb +++ b/recipes-platform/images/agl-kvm-demo-platform.bb @@ -2,13 +2,12 @@ DESCRIPTION = "AGL KVM+QEMU Demo Platform image." LICENSE = "MIT" -require recipes-platform/images/agl-image-weston.inc +require recipes-platform/images/agl-image-compositor.bb IMAGE_FEATURES += "splash package-management ssh-server-openssh" # Add packages for KVM+QEMU demo platform here -IMAGE_INSTALL:append = " \ - packagegroup-agl-image-minimal \ +IMAGE_INSTALL += " \ packagegroup-agl-core-connectivity \ kernel-image \ agl-compositor \ diff --git a/recipes-platform/images/agl-telematics-demo-platform.bb b/recipes-platform/images/agl-telematics-demo-platform.bb index b8a99617c..7a113b65b 100644 --- a/recipes-platform/images/agl-telematics-demo-platform.bb +++ b/recipes-platform/images/agl-telematics-demo-platform.bb @@ -2,12 +2,12 @@ DESCRIPTION = "AGL Telematics Demo Platform image." LICENSE = "MIT" -require recipes-platform/images/agl-image-boot.inc +require recipes-platform/images/agl-image-minimal.bb inherit features_check REQUIRED_DISTRO_FEATURES = "3g" -IMAGE_INSTALL:append = " \ +IMAGE_INSTALL += " \ packagegroup-agl-telematics-demo-platform \ " diff --git a/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-platform.bb b/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-platform.bb index c414adf47..4cd03b66d 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-platform.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-platform.bb @@ -12,7 +12,6 @@ PACKAGES = "\ ALLOW_EMPTY:${PN} = "1" RDEPENDS:${PN} += "\ - packagegroup-agl-profile-cluster-qt5 \ packagegroup-agl-ttf-fonts \ packagegroup-agl-source-han-sans-ttf-fonts \ packagegroup-agl-networking \ diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-platform-flutter.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-platform-flutter.bb index 71c2d17cf..6ae16d423 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-demo-platform-flutter.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-demo-platform-flutter.bb @@ -12,7 +12,6 @@ PACKAGES = "\ RDEPENDS:${PN} += "\ packagegroup-agl-image-ivi \ - packagegroup-agl-profile-graphical-qt5 \ packagegroup-agl-demo \ " diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-platform-html5.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-platform-html5.bb index 1f1984d84..7ea23e795 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-demo-platform-html5.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-demo-platform-html5.bb @@ -12,7 +12,6 @@ PACKAGES = "\ RDEPENDS:${PN} += "\ packagegroup-agl-image-ivi \ - packagegroup-agl-profile-graphical-html5 \ packagegroup-agl-demo \ " @@ -32,6 +31,7 @@ AGL_APPS = " \ " RDEPENDS:${PN}:append = " \ + virtual/webruntime \ weston-ini-conf-landscape-no-activate \ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'unzip' , '', d)} \ qtquickcontrols2-agl \ diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb index c49004251..f0e3a22e7 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb @@ -12,8 +12,6 @@ PACKAGES = "\ RDEPENDS:${PN} += "\ packagegroup-agl-image-ivi \ - packagegroup-agl-profile-graphical-qt5 \ - packagegroup-hmi-framework \ packagegroup-agl-demo \ " @@ -31,6 +29,7 @@ AGL_APPS = " \ RDEPENDS:${PN}:append = " \ weston-ini-conf-no-activate \ + homescreen \ launcher \ qtquickcontrols2-agl \ qtquickcontrols2-agl-style \ diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo.bb b/recipes-platform/packagegroups/packagegroup-agl-demo.bb index 6b7e52394..02926d34e 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-demo.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-demo.bb @@ -38,5 +38,4 @@ RDEPENDS:${PN} += " \ iproute2 \ ${DEMO_PLATFORM_CONF} \ ${TTF_FONTS} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'webruntime', 'virtual/webruntime', '', d)} \ " diff --git a/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend b/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend deleted file mode 100644 index aa401a71e..000000000 --- a/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'packagegroup-agl-graphical-weston_agldemo.inc', '', d)} diff --git a/recipes-platform/packagegroups/packagegroup-agl-graphical-weston_agldemo.inc b/recipes-platform/packagegroups/packagegroup-agl-graphical-weston_agldemo.inc deleted file mode 100644 index 2b91c177d..000000000 --- a/recipes-platform/packagegroups/packagegroup-agl-graphical-weston_agldemo.inc +++ /dev/null @@ -1,5 +0,0 @@ -RDEPENDS:${PN}:remove = "weston-init" - -RDEPENDS:${PN} += " \ - agl-compositor-init \ - " diff --git a/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bb b/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bb index ea165effb..c3d6f57c6 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bb @@ -18,6 +18,9 @@ RDEPENDS:${PN} += "\ packagegroup-agl-ivi-connectivity \ packagegroup-agl-ivi-graphics \ packagegroup-agl-ivi-multimedia \ + packagegroup-agl-ivi-multimedia-hardware \ packagegroup-agl-ivi-navigation \ + packagegroup-agl-ivi-identity \ + packagegroup-agl-ivi-services \ " diff --git a/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bbappend b/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bbappend deleted file mode 100644 index a80d9de78..000000000 --- a/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bbappend +++ /dev/null @@ -1,4 +0,0 @@ -RDEPENDS:${PN} += " \ - packagegroup-agl-ivi-identity \ - packagegroup-agl-ivi-services \ -" diff --git a/recipes-platform/packagegroups/packagegroup-agl-ivi-identity.bb b/recipes-platform/packagegroups/packagegroup-agl-ivi-identity.bb index c81aa8072..3cd163786 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-ivi-identity.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-ivi-identity.bb @@ -1,7 +1,11 @@ +SUMMARY = "The middlewares for AGL IVI profile" +DESCRIPTION = "The set of packages required for identity services" +LICENSE = "MIT" + inherit packagegroup +ALLOW_EMPTY:${PN} = "1" + RDEPENDS:${PN} += "\ " -LICENSE = "MIT" - diff --git a/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia-hardware.bb b/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia-hardware.bb new file mode 100644 index 000000000..e52e8ef5e --- /dev/null +++ b/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia-hardware.bb @@ -0,0 +1,21 @@ +SUMMARY = "The middlewares for AGL IVI profile" +DESCRIPTION = "Hardware-specific packages required by Multimedia Subsystem" +LICENSE = "MIT" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit packagegroup + +PACKAGES = "\ + packagegroup-agl-ivi-multimedia-hardware \ + " + +ALLOW_EMPTY:${PN} = "1" + +RDEPENDS:${PN} = "" + +RDEPENDS:${PN}:append:rcar-gen3 = "\ + ${@bb.utils.contains('MACHINE_FEATURES', 'multimedia', 'packagegroup-multimedia-kernel-modules', '', d)} \ + ${@bb.utils.contains('MACHINE_FEATURES', 'multimedia', 'packagegroup-multimedia-libs', '', d)} \ + ${@bb.utils.contains('MACHINE_FEATURES', 'multimedia', 'packagegroup-gstreamer1.0-plugins', '', d)} \ + " diff --git a/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia.bb b/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia.bb index dc60e9e18..8865a9f06 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia.bb @@ -10,18 +10,16 @@ PACKAGES = "\ ALLOW_EMPTY:${PN} = "1" +PIPEWIRE_PACKAGES = " \ + packagegroup-pipewire \ + ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'packagegroup-pipewire-tools alsa-utils', '', d)} \ + wireplumber-config-agl \ + wireplumber-policy-config-agl \ + " + RDEPENDS:${PN} += "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'pipewire', '${PIPEWIRE_PACKAGES}', '', d)} \ gstreamer1.0-plugins-base-meta \ gstreamer1.0-plugins-good-meta \ mpd \ " - -# for now: enable here for the AGL IVI demo (image-ivi and demo-platform) -# tbd: change based on usage in profiles -PIPEWIRE = "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'pipewire', 'packagegroup-pipewire', '', d)}\ - " - -RDEPENDS:${PN} += "\ - ${PIPEWIRE} \ - " diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb deleted file mode 100644 index 1cf20937c..000000000 --- a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "The middleware for AGL Qt5 based cluster profile" -DESCRIPTION = "The set of packages required for AGL Qt5 based Cluster Distribution" -LICENSE = "MIT" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-profile-cluster-qt5 \ - profile-cluster-qt5-wayland \ - profile-cluster-qt5 \ - " - -ALLOW_EMPTY:${PN} = "1" - -RDEPENDS:${PN} += "\ - packagegroup-agl-image-boot \ - packagegroup-agl-core-security \ - packagegroup-agl-graphical-weston \ -" - -RDEPENDS:profile-cluster-qt5-wayland = "${PN}" -RDEPENDS:profile-cluster-qt5 = "profile-cluster-qt5-wayland" diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb deleted file mode 100644 index 0539ae126..000000000 --- a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "The middleware for AGL Qt5 based cluster qtcompositor" -DESCRIPTION = "The set of packages required for AGL Qt5 based Cluster Demo Qtcompositor Distribution" -LICENSE = "MIT" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-profile-cluster-qtcompositor \ - profile-cluster-qt5-egl \ - " - -ALLOW_EMPTY:${PN} = "1" - -RDEPENDS:${PN} += "\ - packagegroup-agl-image-boot \ - packagegroup-agl-core-security \ - packagegroup-agl-core-connectivity \ -" - -QT_LITE = " \ - qtbase \ - qtdeclarative \ - qtwayland \ - qtgraphicaleffects-qmlplugins \ - qtsvg-plugins \ -" - -RDEPENDS:${PN}:append = " \ - ${QT_LITE} \ -" - -RDEPENDS:profile-cluster-qt5-egl = "${PN}" diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster.bb deleted file mode 100644 index 8b1099f38..000000000 --- a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "The middleware for AGL cluster profile" -DESCRIPTION = "The set of packages required for AGL Cluster Distribution" -LICENSE = "MIT" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-profile-cluster \ - profile-cluster \ - " - -ALLOW_EMPTY:${PN} = "1" - -RDEPENDS:${PN} += "\ - packagegroup-agl-image-boot \ - packagegroup-agl-core-security \ - packagegroup-agl-graphical-weston \ -" - -RDEPENDS:profile-cluster = "${PN}" diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-graphical-html5.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-graphical-html5.bb deleted file mode 100644 index 62c30ea9c..000000000 --- a/recipes-platform/packagegroups/packagegroup-agl-profile-graphical-html5.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "AGL web runtime profile" -DESCRIPTION = "The full set of packages required for AGL web runtime" -LICENSE = "MIT" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-profile-graphical-html5 \ - profile-graphical-html5 \ - " - -ALLOW_EMPTY:${PN} = "1" - -RDEPENDS:${PN} += "\ - packagegroup-agl-profile-graphical \ -" - -RDEPENDS:${PN} += "\ - wam \ - " - -RDEPENDS:profile-graphical-html5 = "${PN}" diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-graphical-qt5.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-graphical-qt5.bb deleted file mode 100644 index 9f4e7f4f5..000000000 --- a/recipes-platform/packagegroups/packagegroup-agl-profile-graphical-qt5.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "The middlewares for AGL IVI profile" -DESCRIPTION = "The set of packages required for AGL Distribution" -LICENSE = "MIT" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-profile-graphical-qt5 \ - profile-graphical-qt5 \ - " - -ALLOW_EMPTY:${PN} = "1" - -RDEPENDS:${PN} += "\ - packagegroup-agl-profile-graphical \ -" - -RDEPENDS:${PN} += "\ - " - -RDEPENDS:profile-graphical-qt5 = "${PN}" diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-telematics.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-telematics.bb deleted file mode 100644 index 4377dbbc8..000000000 --- a/recipes-platform/packagegroups/packagegroup-agl-profile-telematics.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "The middleware for AGL telematics profile" -DESCRIPTION = "The set of packages required for AGL Telematics Distribution" -LICENSE = "MIT" - -inherit packagegroup - -PACKAGES = "\ - packagegroup-agl-profile-telematics \ - profile-telematics \ - " - -ALLOW_EMPTY:${PN} = "1" - -RDEPENDS:${PN} += "\ - packagegroup-agl-image-boot \ - packagegroup-agl-core-security \ - ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','connman','connman connman-client','',d)} \ - ${@bb.utils.contains("DISTRO_FEATURES", "3g", "libqmi", "", d)} \ - can-utils \ -" - -RDEPENDS:profile-telematics = "${PN}" diff --git a/recipes-platform/packagegroups/packagegroup-agl-telematics-demo-platform.bb b/recipes-platform/packagegroups/packagegroup-agl-telematics-demo-platform.bb index d598de4ec..96ad7138e 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-telematics-demo-platform.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-telematics-demo-platform.bb @@ -9,24 +9,10 @@ PACKAGES = "\ packagegroup-agl-telematics-demo-platform \ " -ALLOW_EMPTY:${PN} = "1" - -RDEPENDS:${PN} += "\ - packagegroup-agl-profile-telematics \ - " - -AGL_APPS = " \ - " - -AGL_APIS = " \ - " - RDEPENDS:${PN}:append = " \ gpsd \ sw-gpsd-udev-conf \ usb-can-udev-conf \ simple-can-simulator \ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'ofono-tests gps-utils' , '', d)} \ - ${AGL_APPS} \ - ${AGL_APIS} \ " diff --git a/recipes-platform/packagegroups/packagegroup-hmi-framework.bb b/recipes-platform/packagegroups/packagegroup-hmi-framework.bb deleted file mode 100644 index facd1827d..000000000 --- a/recipes-platform/packagegroups/packagegroup-hmi-framework.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "The software for the AGL hmi framework 2017" -DESCRIPTION = "A set of packages belong to the hmi framework 2017" - -LICENSE = "MIT" - -# need to bump manually due to: -# - nothing provides libqthomescreenwrapper0 needed by packagegroup-hmi-framework-1.0-r0.noarch -PR = "2" - -inherit packagegroup - -PROVIDES = "${PACKAGES}" -PACKAGES = "\ - packagegroup-hmi-framework \ - packagegroup-hmi-framework-devel \ - " - -RDEPENDS:${PN} = " \ - homescreen \ - " diff --git a/recipes-wam/wam/files/WebAppMgr.service b/recipes-wam/wam/files/WebAppMgr.service index 0dfe971df..ca9a47811 100644 --- a/recipes-wam/wam/files/WebAppMgr.service +++ b/recipes-wam/wam/files/WebAppMgr.service @@ -14,7 +14,7 @@ Description="WebAppMgr is responsible for running web apps and manage their lifecycle" After=agl-compositor.service Requires=agl-compositor.service -Before=agl-session.target +Before=graphical.target BindTo=agl-compositor.service [Service] @@ -22,10 +22,11 @@ Type=simple UMask=0077 OOMScoreAdjust=-1000 EnvironmentFile=-/etc/default/WebAppMgr.env +Environment=XDG_RUNTIME_DIR=/run/user/1001/ ExecStart=/usr/bin/WebAppMgr --use-gl=egl --enable-features=UseOzonePlatform --ozone-platform=wayland --no-sandbox --use-viz-fmp-with-timeout=0 --in-process-gpu --remote-debugging-port=9998 --user-data-dir="/home/%u/wamdata" --webos-wam --agl-shell-appid=homescreen --disable-gpu-vsync --ignore-gpu-blocklist ExecStop=pkill -U %U WebAppMgr Restart=on-failure RestartSec=50 [Install] -WantedBy=agl-session.target +WantedBy=graphical.target diff --git a/recipes-wam/wam/wam_git.bb b/recipes-wam/wam/wam_git.bb index 4b640d5d2..0f2087c65 100644 --- a/recipes-wam/wam/wam_git.bb +++ b/recipes-wam/wam/wam_git.bb @@ -3,51 +3,43 @@ AUTHOR = "Jani Hautakangas " LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" -inherit cmake pkgconfig - DEPENDS = "glib-2.0 jsoncpp boost chromium protobuf protobuf-native grpc grpc-native" +SRC_URI = "\ + git://github.com/igalia/${BPN}.git;branch=@58.agl;protocol=https \ + file://WebAppMgr.service \ + file://WebAppMgr.env \ +" +SRCREV = "4fbd6e648913bcf0fba63e4460eb44242c11f71b" + +PV = "ose58.agl" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig systemd + EXTRA_OECMAKE = "\ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=${prefix} \ -DPLATFORM_NAME=${@'${DISTRO}'.upper().replace('-', '_')} \ -DCHROMIUM_SRC_DIR=${STAGING_INCDIR}/chromium" -PR="r0" - -PROVIDES += "virtual/webruntime" -RPROVIDES:${PN} += "virtual/webruntime" - -# Disable some of securit_flags +# Disable some of security flags # Disable D_FORTIFY_SOURCE=2 and -fstack-protector-strong # Refer conf/distro/include/security_flags.inc in meta-webos/conf/distro/include/webos.inc lcl_maybe_fortify = "" SECURITY_STACK_PROTECTOR = "" -SRC_URI = "\ - git://github.com/igalia/${BPN}.git;branch=@58.agl;protocol=https \ - file://WebAppMgr.service \ - file://WebAppMgr.env \ -" -S = "${WORKDIR}/git" -SRCREV = "4fbd6e648913bcf0fba63e4460eb44242c11f71b" - -PV = "ose58.agl" +SYSTEMD_SERVICE:${PN} = "WebAppMgr.service" do_install:append() { install -v -d ${D}${sysconfdir}/wam install -v -m 644 ${S}/files/launch/security_policy.conf ${D}${sysconfdir}/wam/security_policy.conf - install -v -d ${D}${systemd_user_unitdir} - install -v -m 644 ${WORKDIR}/WebAppMgr.service ${D}${systemd_user_unitdir}/WebAppMgr.service - install -v -d ${D}${sysconfdir}/default/ - install -v -m 644 ${WORKDIR}/WebAppMgr.env ${D}${sysconfdir}/default/WebAppMgr.env + install -v -D -m 644 ${WORKDIR}/WebAppMgr.service ${D}${systemd_system_unitdir}/WebAppMgr.service + install -v -D -m 644 ${WORKDIR}/WebAppMgr.env ${D}${sysconfdir}/default/WebAppMgr.env ln -snf WebAppMgr ${D}${bindir}/web-runtime - install -v -d ${D}${systemd_user_unitdir}/agl-session.target.wants - ln -sf ../WebAppMgr.service ${D}${systemd_user_unitdir}/agl-session.target.wants/ } -FILES:${PN} += "${sysconfdir}/init ${sysconfdir}/wam ${libdir}/webappmanager/plugins/*.so ${systemd_user_unitdir}" - CXXFLAGS:append:agl-devel = " -DAGL_DEVEL" do_install:append:agl-devel() { @@ -56,3 +48,9 @@ do_install:append:agl-devel() { touch ${D}${localstatedir}/agl-devel/preferences/debug_system_apps touch ${D}${localstatedir}/agl-devel/preferences/devmode_enabled } + +FILES:${PN} += "${sysconfdir}/init ${sysconfdir}/wam ${libdir}/webappmanager/plugins/*.so" + +PROVIDES += "virtual/webruntime" +RPROVIDES:${PN} += "virtual/webruntime" + -- 2.16.6