From adbb12626100901bc815deba27733fe1a3ebc3cc Mon Sep 17 00:00:00 2001 From: Joel Winarske Date: Wed, 3 Aug 2022 18:19:31 -0700 Subject: meta-agl-flutter refactor - application rename -> flutter-auto - adopts upstream (meta-flutter) bbclass for runtime selection runtimedebug -> runtime=debug runtimeprofile -> runtime=profile runtimerelease -> runtime=release *This also affects image names* - A discrete json files for each runtime configuration demuxing of runtime config happens in bbappend. - prevent dev host conflict with flutter-auto.service in case of debug and profile. The dev host machine controls homescreen in these scenarios. - simplifies inc and recipes Dependent on https://gerrit.automotivelinux.org/gerrit/c/AGL/AGL-repo/+/27850 Bug-AGL: SPEC-4326 Signed-off-by: Joel Winarske Change-Id: I877811417e3befab4d48a906058dcb52c81be4ce --- meta-agl-flutter/classes/flutterdebug.bbclass | 1 - meta-agl-flutter/classes/flutterprofile.bbclass | 1 - meta-agl-flutter/classes/flutterrelease.bbclass | 1 - ...mbedder-to-run-as-a-regular-normal-applic.patch | 181 --------------------- ...onfiguration-Obey-json-configuration-file.patch | 44 ----- ...ll-configuration-Fixes-to-general-options.patch | 52 ------ .../0004-Add-app-id-command-line-argument.patch | 38 ----- .../recipes-graphics/toyota/files/config.json | 9 - .../toyota/files/flutter-auto.service | 10 ++ .../toyota/files/gallery_on_bg-debug.json | 11 ++ .../toyota/files/gallery_on_bg-profile.json | 11 ++ .../toyota/files/gallery_on_bg-release.json | 10 ++ .../recipes-graphics/toyota/flutter-auto%.bbappend | 1 + .../toyota/flutter-auto_aglflutter.inc | 47 ++++++ .../toyota/ivi-homescreen-debug_%.bbappend | 2 - .../toyota/ivi-homescreen-debug_aglflutter.inc | 2 - .../toyota/ivi-homescreen-profile_%.bbappend | 3 - .../toyota/ivi-homescreen-profile_aglflutter.inc | 4 - .../toyota/ivi-homescreen-release_%.bbappend | 3 - .../toyota/ivi-homescreen_aglflutter.inc | 65 -------- .../images/agl-image-flutter-debug.bb | 20 --- .../images/agl-image-flutter-profile.bb | 20 --- .../images/agl-image-flutter-runtimedebug.bb | 21 +++ .../images/agl-image-flutter-runtimeprofile.bb | 19 +++ .../images/agl-image-flutter-runtimerelease.bb | 19 +++ .../recipes-platform/images/agl-image-flutter.bb | 20 --- 26 files changed, 149 insertions(+), 466 deletions(-) delete mode 100644 meta-agl-flutter/classes/flutterdebug.bbclass delete mode 100644 meta-agl-flutter/classes/flutterprofile.bbclass delete mode 100644 meta-agl-flutter/classes/flutterrelease.bbclass delete mode 100644 meta-agl-flutter/recipes-graphics/toyota/files/0001-Allow-the-embedder-to-run-as-a-regular-normal-applic.patch delete mode 100644 meta-agl-flutter/recipes-graphics/toyota/files/0002-shell-configuration-Obey-json-configuration-file.patch delete mode 100644 meta-agl-flutter/recipes-graphics/toyota/files/0003-shell-configuration-Fixes-to-general-options.patch delete mode 100644 meta-agl-flutter/recipes-graphics/toyota/files/0004-Add-app-id-command-line-argument.patch delete mode 100644 meta-agl-flutter/recipes-graphics/toyota/files/config.json create mode 100644 meta-agl-flutter/recipes-graphics/toyota/files/flutter-auto.service create mode 100644 meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-debug.json create mode 100644 meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-profile.json create mode 100644 meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-release.json create mode 100644 meta-agl-flutter/recipes-graphics/toyota/flutter-auto%.bbappend create mode 100644 meta-agl-flutter/recipes-graphics/toyota/flutter-auto_aglflutter.inc delete mode 100644 meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-debug_%.bbappend delete mode 100644 meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-debug_aglflutter.inc delete mode 100644 meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-profile_%.bbappend delete mode 100644 meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-profile_aglflutter.inc delete mode 100644 meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-release_%.bbappend delete mode 100644 meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen_aglflutter.inc delete mode 100644 meta-agl-flutter/recipes-platform/images/agl-image-flutter-debug.bb delete mode 100644 meta-agl-flutter/recipes-platform/images/agl-image-flutter-profile.bb create mode 100644 meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimedebug.bb create mode 100644 meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimeprofile.bb create mode 100644 meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimerelease.bb delete mode 100644 meta-agl-flutter/recipes-platform/images/agl-image-flutter.bb (limited to 'meta-agl-flutter') diff --git a/meta-agl-flutter/classes/flutterdebug.bbclass b/meta-agl-flutter/classes/flutterdebug.bbclass deleted file mode 100644 index 158ddb32..00000000 --- a/meta-agl-flutter/classes/flutterdebug.bbclass +++ /dev/null @@ -1 +0,0 @@ -FLUTTER_RUNTIME = "debug" diff --git a/meta-agl-flutter/classes/flutterprofile.bbclass b/meta-agl-flutter/classes/flutterprofile.bbclass deleted file mode 100644 index 38d114e6..00000000 --- a/meta-agl-flutter/classes/flutterprofile.bbclass +++ /dev/null @@ -1 +0,0 @@ -FLUTTER_RUNTIME = "profile" diff --git a/meta-agl-flutter/classes/flutterrelease.bbclass b/meta-agl-flutter/classes/flutterrelease.bbclass deleted file mode 100644 index cf75bc13..00000000 --- a/meta-agl-flutter/classes/flutterrelease.bbclass +++ /dev/null @@ -1 +0,0 @@ -FLUTTER_RUNTIME = "release" diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/0001-Allow-the-embedder-to-run-as-a-regular-normal-applic.patch b/meta-agl-flutter/recipes-graphics/toyota/files/0001-Allow-the-embedder-to-run-as-a-regular-normal-applic.patch deleted file mode 100644 index 5b63e20e..00000000 --- a/meta-agl-flutter/recipes-graphics/toyota/files/0001-Allow-the-embedder-to-run-as-a-regular-normal-applic.patch +++ /dev/null @@ -1,181 +0,0 @@ -From 7f3f913ec5bea1d94c04f8a029db659c33e56dbf Mon Sep 17 00:00:00 2001 -From: Marius Vlad -Date: Sun, 24 Jul 2022 21:15:54 +0300 -Subject: [PATCH 1/3] Allow the embedder to run as a regular/normal application - (#71) - -* shell: Do not issue always the ready request - -Rather than sending the ready request always, just do it when we've -found at least a background type of surface. - -This way we can have a flutter instance as a regular application but -also as a shell client. - -This is a work-around for the time being, a much more suitable approach -would be to have a mechanism that tells us when the client has finished -loading or has it's first frame swapped (or something similar to that). - -Note that we need at least a background surface so not finding one -assumes that we're a regular application (WINDOW_NORMAL). - -Signed-off-by: Marius Vlad - -* shell: Do not attempt always bind to agl-shell interface - -This helps up running as a regular application in -situations where we already have a client bound to the agl-shell -interface. - -We can't really accept more than one client to bind to the interface and -without a change in the protocol to avoid racy situations, it seems more -natural for the embedder to infer if it actually needs to do that. - -When the protocol has been updated to include additional events to let -clients that they've lost the race, we can remove this change. - -Signed-off-by: Marius Vlad - -Co-authored-by: Marius Vlad ---- - shell/app.cc | 13 +++++++++++-- - shell/wayland/display.cc | 18 +++++++++++++++--- - shell/wayland/display.h | 8 +++++++- - shell/wayland/window.h | 2 +- - 4 files changed, 34 insertions(+), 7 deletions(-) - -diff --git a/shell/app.cc b/shell/app.cc -index 03c33ff..3ca183b 100644 ---- a/shell/app.cc -+++ b/shell/app.cc -@@ -25,8 +25,10 @@ - - App::App(const std::vector& configs) - : m_wayland_display(std::make_shared(!configs[0].disable_cursor, -- configs[0].cursor_theme)) { -+ configs[0].cursor_theme, -+ configs)) { - FML_DLOG(INFO) << "+App::App"; -+ bool found_view_with_bg = false; - - size_t index = 0; - m_views.reserve(configs.size()); -@@ -35,9 +37,16 @@ App::App(const std::vector& configs) - view->Initialize(); - m_views.emplace_back(std::move(view)); - index++; -+ -+ if (WaylandWindow::get_window_type(cfg.view.window_type) == -+ WaylandWindow::WINDOW_BG) -+ found_view_with_bg = true; - } - -- m_wayland_display->AglShellDoReady(); -+ // check that if we had a BG type and issue a ready() request for it, -+ // otherwise we're going to assume that this is a NORMAL/REGULAR application. -+ if (found_view_with_bg) -+ m_wayland_display->AglShellDoReady(); - - FML_DLOG(INFO) << "-App::App"; - } -diff --git a/shell/wayland/display.cc b/shell/wayland/display.cc -index 06eba8c..5d78471 100644 ---- a/shell/wayland/display.cc -+++ b/shell/wayland/display.cc -@@ -27,7 +27,9 @@ - #include "constants.h" - #include "engine.h" - --Display::Display(bool enable_cursor, std::string cursor_theme_name) -+Display::Display(bool enable_cursor, -+ std::string cursor_theme_name, -+ const std::vector& configs) - : m_xkb_context(xkb_context_new(XKB_CONTEXT_NO_FLAGS)), - m_buffer_scale(1), - m_last_buffer_scale(m_buffer_scale), -@@ -35,6 +37,15 @@ Display::Display(bool enable_cursor, std::string cursor_theme_name) - m_cursor_theme_name(std::move(cursor_theme_name)) { - FML_DLOG(INFO) << "+ Display()"; - -+ for (auto const& cfg : configs) { -+ // check if we actually need to bind to agl-shell -+ auto window_type = WaylandWindow::get_window_type(cfg.view.window_type); -+ if (window_type != WaylandWindow::WINDOW_NORMAL) { -+ m_bind_to_agl_shell = true; -+ break; -+ } -+ } -+ - m_display = wl_display_connect(nullptr); - if (m_display == nullptr) { - FML_LOG(ERROR) << "Failed to connect to Wayland display. " -@@ -46,7 +57,7 @@ Display::Display(bool enable_cursor, std::string cursor_theme_name) - wl_registry_add_listener(m_registry, ®istry_listener, this); - wl_display_dispatch(m_display); - -- if (!m_agl_shell) { -+ if (!m_agl_shell && m_bind_to_agl_shell) { - FML_LOG(INFO) << "agl_shell extension not present"; - } - -@@ -152,7 +163,8 @@ void Display::registry_handle_global(void* data, - wl_registry_bind(registry, name, &wl_seat_interface, - std::min(static_cast(5), version))); - wl_seat_add_listener(d->m_seat, &seat_listener, d); -- } else if (strcmp(interface, agl_shell_interface.name) == 0) { -+ } else if (strcmp(interface, agl_shell_interface.name) == 0 && -+ d->m_bind_to_agl_shell) { - d->m_agl_shell = static_cast( - wl_registry_bind(registry, name, &agl_shell_interface, - std::min(static_cast(1), version))); -diff --git a/shell/wayland/display.h b/shell/wayland/display.h -index af3d460..bf05b27 100644 ---- a/shell/wayland/display.h -+++ b/shell/wayland/display.h -@@ -32,11 +32,15 @@ - #include "static_plugins/text_input/text_input.h" - #include "xdg-shell-client-protocol.h" - -+#include "configuration/configuration.h" -+ - class Engine; - - class Display { - public: -- explicit Display(bool enable_cursor, std::string cursor_theme_name); -+ explicit Display(bool enable_cursor, -+ std::string cursor_theme_name, -+ const std::vector& configs); - - ~Display(); - -@@ -96,6 +100,8 @@ class Display { - struct wl_shm* m_shm{}; - struct wl_surface* m_base_surface{}; - -+ bool m_bind_to_agl_shell = false; -+ - std::map m_surface_engine_map; - wl_surface* m_active_surface{}; - Engine* m_active_engine{}; -diff --git a/shell/wayland/window.h b/shell/wayland/window.h -index c4fe5e6..4b5c726 100644 ---- a/shell/wayland/window.h -+++ b/shell/wayland/window.h -@@ -79,6 +79,7 @@ class WaylandWindow { - wl_surface* GetBaseSurface() { return m_base_surface; } - - uint32_t m_fps_counter; -+ static window_type get_window_type(const std::string& type); - - private: - struct shm_buffer { -@@ -157,5 +158,4 @@ class WaylandWindow { - - static const struct wl_callback_listener frame_listener; - -- static window_type get_window_type(const std::string& type); - }; --- -2.35.3 - diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/0002-shell-configuration-Obey-json-configuration-file.patch b/meta-agl-flutter/recipes-graphics/toyota/files/0002-shell-configuration-Obey-json-configuration-file.patch deleted file mode 100644 index b9a864c5..00000000 --- a/meta-agl-flutter/recipes-graphics/toyota/files/0002-shell-configuration-Obey-json-configuration-file.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 36c7deb35719d2219dc6e868ab14d9a4ce984d1f Mon Sep 17 00:00:00 2001 -From: Marius Vlad -Date: Mon, 25 Jul 2022 15:51:06 +0300 -Subject: [PATCH 2/3] shell/configuration: Obey json configuration file - -Setting the name of the application to kApplicationName, by default, -would cause the check in getCliOverrides to always be true, which in -turn will ignore whatever the user specified in the configuration file. - -Signed-off-by: Marius Vlad ---- - shell/configuration/configuration.cc | 2 ++ - shell/main.cc | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/shell/configuration/configuration.cc b/shell/configuration/configuration.cc -index f8b1e13..616de48 100644 ---- a/shell/configuration/configuration.cc -+++ b/shell/configuration/configuration.cc -@@ -220,6 +220,8 @@ std::vector Configuration::ParseConfig( - if (cfg.view.height == 0) { - cfg.view.height = kDefaultViewHeight; - } -+ if (cfg.app_id.empty()) -+ cfg.app_id = kApplicationName; - - res.emplace_back(cfg); - } -diff --git a/shell/main.cc b/shell/main.cc -index 65c3f37..6fdd907 100644 ---- a/shell/main.cc -+++ b/shell/main.cc -@@ -44,7 +44,7 @@ void RemoveArgument(std::vector& args, const std::string& arg) { - - int main(int argc, char** argv) { - struct Configuration::Config config { -- .app_id = kApplicationName, .json_configuration_path{}, .cursor_theme{}, -+ .app_id = {}, .json_configuration_path{}, .cursor_theme{}, - .disable_cursor{}, .debug_backend{}, .view {} - }; - --- -2.35.3 - diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/0003-shell-configuration-Fixes-to-general-options.patch b/meta-agl-flutter/recipes-graphics/toyota/files/0003-shell-configuration-Fixes-to-general-options.patch deleted file mode 100644 index f06d4548..00000000 --- a/meta-agl-flutter/recipes-graphics/toyota/files/0003-shell-configuration-Fixes-to-general-options.patch +++ /dev/null @@ -1,52 +0,0 @@ -From a3a1421c3986bbafd9f91997eec7f2606ef67fc3 Mon Sep 17 00:00:00 2001 -From: Marius Vlad -Date: Mon, 25 Jul 2022 15:53:17 +0300 -Subject: [PATCH 3/3] shell/configuration: Fixes to general options - -This patch avoids an automatic overwrite of the debug_backend and -disable_cursor entries. If enabled in the configuration file, the test -will always return true, basically overwriting to false. - -Also, use the correct entry in the README file for debug_backend. - -Signed-off-by: Marius Vlad ---- - README.md | 2 +- - shell/configuration/configuration.cc | 6 ++++-- - 2 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/README.md b/README.md -index 7c162eb..d459f4c 100644 ---- a/README.md -+++ b/README.md -@@ -175,7 +175,7 @@ Loads Single View - - { - "disable_cursor":true, -- "backend_debug":true, -+ "debug_backend":true, - "accessibility_features":31, - "view":{ - "bundle_path":"/home/joel/development/gallery/.homescreen/x86/release", -diff --git a/shell/configuration/configuration.cc b/shell/configuration/configuration.cc -index 616de48..773724c 100644 ---- a/shell/configuration/configuration.cc -+++ b/shell/configuration/configuration.cc -@@ -152,10 +152,12 @@ void Configuration::getCliOverrides(Config& instance, Config& cli) { - if (!cli.cursor_theme.empty()) { - instance.cursor_theme = cli.cursor_theme; - } -- if (cli.disable_cursor != instance.disable_cursor) { -+ if (cli.disable_cursor == true && -+ cli.disable_cursor != instance.disable_cursor) { - instance.disable_cursor = cli.disable_cursor; - } -- if (cli.debug_backend != instance.debug_backend) { -+ if (cli.debug_backend == true && -+ cli.debug_backend != instance.debug_backend) { - instance.debug_backend = cli.debug_backend; - } - if (!cli.view.vm_args.empty()) { --- -2.35.3 - diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/0004-Add-app-id-command-line-argument.patch b/meta-agl-flutter/recipes-graphics/toyota/files/0004-Add-app-id-command-line-argument.patch deleted file mode 100644 index 6b9d4c3a..00000000 --- a/meta-agl-flutter/recipes-graphics/toyota/files/0004-Add-app-id-command-line-argument.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 6a62efbebcdf17e3af57f04603aa5f0d61b0c1e2 Mon Sep 17 00:00:00 2001 -From: Scott Murray -Date: Wed, 27 Jul 2022 18:23:32 -0400 -Subject: [PATCH] Add app-id command-line argument - -Add a command-line argument for specifying the app id, so that basic -applications do not need to supply a full JSON configuration just to -do so. - -Signed-off-by: Scott Murray ---- - shell/main.cc | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/shell/main.cc b/shell/main.cc -index 6fdd907..662b7d1 100644 ---- a/shell/main.cc -+++ b/shell/main.cc -@@ -151,6 +151,16 @@ int main(int argc, char** argv) { - FML_DLOG(INFO) << "Cursor Theme: " << config.cursor_theme; - RemoveArgument(config.view.vm_args, "--t=" + config.cursor_theme); - } -+ if (cl.HasOption("app-id")) { -+ cl.GetOptionValue("app-id", &config.app_id); -+ if (config.app_id.empty()) { -+ FML_LOG(ERROR) -+ << "--app-id option requires an argument (e.g. --app-id=gallery)"; -+ return EXIT_FAILURE; -+ } -+ FML_DLOG(INFO) << "Application ID: " << config.app_id; -+ RemoveArgument(config.view.vm_args, "--app-id=" + config.app_id); -+ } - } - - auto vm_arg_count = config.view.vm_args.size(); --- -2.35.3 - diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/config.json b/meta-agl-flutter/recipes-graphics/toyota/files/config.json deleted file mode 100644 index 90dec21b..00000000 --- a/meta-agl-flutter/recipes-graphics/toyota/files/config.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "view" : [ { - "window_type" : "BG", - "bundle_path" : "/usr/share/flutter/gallery", - "width" : 1920, - "height": 1080 - } - ] -} diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/flutter-auto.service b/meta-agl-flutter/recipes-graphics/toyota/files/flutter-auto.service new file mode 100644 index 00000000..71ab791d --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/toyota/files/flutter-auto.service @@ -0,0 +1,10 @@ +[Unit] +Requires=agl-compositor.service +After=agl-compositor.service + +[Service] +ExecStart=/usr/bin/flutter-auto --j=/usr/share/flutter/default.json +Restart=on-failure + +[Install] +WantedBy=agl-session.target diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-debug.json b/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-debug.json new file mode 100644 index 00000000..5a84a0bd --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-debug.json @@ -0,0 +1,11 @@ +{ + "view" : [ { + "window_type" : "BG", + "bundle_path" : "/usr/share/flutter/gallery", + "vm_args":["--observatory-host", "0.0.0.0", "--observatory-port", "1234"], + "width" : 1920, + "height": 1080, + "fullscreen": true + } + ] +} diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-profile.json b/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-profile.json new file mode 100644 index 00000000..3309fde4 --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-profile.json @@ -0,0 +1,11 @@ +{ + "view" : [ { + "window_type" : "BG", + "bundle_path" : "/usr/share/flutter/gallery", + "vm_args":["--observatory-host", "0.0.0.0", "--observatory-port", "1234", "--start-paused"], + "width" : 1920, + "height": 1080, + "fullscreen": true + } + ] +} diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-release.json b/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-release.json new file mode 100644 index 00000000..6a2a8448 --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-release.json @@ -0,0 +1,10 @@ +{ + "view" : [ { + "window_type" : "BG", + "bundle_path" : "/usr/share/flutter/gallery", + "width" : 1920, + "height": 1080, + "fullscreen": true + } + ] +} diff --git a/meta-agl-flutter/recipes-graphics/toyota/flutter-auto%.bbappend b/meta-agl-flutter/recipes-graphics/toyota/flutter-auto%.bbappend new file mode 100644 index 00000000..dbc82bc3 --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/toyota/flutter-auto%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'agl-flutter', 'flutter-auto_aglflutter.inc', '', d)} diff --git a/meta-agl-flutter/recipes-graphics/toyota/flutter-auto_aglflutter.inc b/meta-agl-flutter/recipes-graphics/toyota/flutter-auto_aglflutter.inc new file mode 100644 index 00000000..4baaa517 --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/toyota/flutter-auto_aglflutter.inc @@ -0,0 +1,47 @@ +# For now disable gstreamer to avoid needing to enable "commercial" +# licenses for the stated ffmpeg dependency. +PACKAGECONFIG:remove = "gstreamer" + +# Enable verbose logging on runtimedebug image +PACKAGECONFIG:append:runtimedebug = "verbose" + + +USER_SERVICE = "flutter-auto.service" + +FILESEXTRAPATHS:append := "${THISDIR}/files:" +SRC_URI += "\ + file://${USER_SERVICE} \ + file://gallery_on_bg-debug.json \ + file://gallery_on_bg-profile.json \ + file://gallery_on_bg-release.json \ + file://0002-shell-configuration-Obey-json-configuration-file.patch \ + file://0003-shell-configuration-Fixes-to-general-options.patch \ + file://0004-Add-app-id-command-line-argument.patch \ + " + + +cmake_do_install:append() { + + install -d ${D}${systemd_user_unitdir}/agl-session.target.wants + install -D -m0644 ${WORKDIR}/${USER_SERVICE} ${D}${systemd_user_unitdir}/${USER_SERVICE} + + install -D -m0644 ${WORKDIR}/gallery_on_bg-release.json ${D}${datadir}/flutter/default.json +} + +cmake_do_install:append:runtimedebug() { + + # the dev host controls starting/stopping the flutter-auto process when runtime=debug + install -D -m0644 ${WORKDIR}/gallery_on_bg-debug.json ${D}${datadir}/flutter/default.json +} + +cmake_do_install:append:runtimeprofile() { + + # the dev host controls starting/stopping the flutter-auto process when runtime=profile + install -D -m0644 ${WORKDIR}/gallery_on_bg-profile.json ${D}${datadir}/flutter/default.json +} + + +FILES:${PN} += "\ + ${systemd_user_unitdir} \ + ${datadir} \ + " diff --git a/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-debug_%.bbappend b/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-debug_%.bbappend deleted file mode 100644 index ea695b94..00000000 --- a/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-debug_%.bbappend +++ /dev/null @@ -1,2 +0,0 @@ -require ${@bb.utils.contains('AGL_FEATURES', 'agl-flutter', 'ivi-homescreen_aglflutter.inc', '', d)} -require ${@bb.utils.contains('AGL_FEATURES', 'agl-flutter', '${BPN}_aglflutter.inc', '', d)} diff --git a/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-debug_aglflutter.inc b/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-debug_aglflutter.inc deleted file mode 100644 index ebc18064..00000000 --- a/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-debug_aglflutter.inc +++ /dev/null @@ -1,2 +0,0 @@ -# debug package specifics -SERVICE_EXEC_START_PARAMS = "--observatory-host 0.0.0.0 --observatory-port 1234" diff --git a/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-profile_%.bbappend b/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-profile_%.bbappend deleted file mode 100644 index ed5c8805..00000000 --- a/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-profile_%.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -require ${@bb.utils.contains('AGL_FEATURES', 'agl-flutter', 'ivi-homescreen_aglflutter.inc', '', d)} -require ${@bb.utils.contains('AGL_FEATURES', 'agl-flutter', '${BPN}_aglflutter.inc', '', d)} - diff --git a/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-profile_aglflutter.inc b/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-profile_aglflutter.inc deleted file mode 100644 index 0d3176a9..00000000 --- a/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-profile_aglflutter.inc +++ /dev/null @@ -1,4 +0,0 @@ -# profile specific commands -SERVICE_EXEC_START_PARAMS = "--observatory-host 0.0.0.0 --observatory-port 1234 --start-paused" - - diff --git a/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-release_%.bbappend b/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-release_%.bbappend deleted file mode 100644 index 05cac727..00000000 --- a/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen-release_%.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -require ${@bb.utils.contains('AGL_FEATURES', 'agl-flutter', 'ivi-homescreen_aglflutter.inc', '', d)} -# not used atm -#require ${@bb.utils.contains('AGL_FEATURES', 'agl-flutter', '${BPN}_aglflutter.inc', '', d)} diff --git a/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen_aglflutter.inc b/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen_aglflutter.inc deleted file mode 100644 index 3fea926e..00000000 --- a/meta-agl-flutter/recipes-graphics/toyota/ivi-homescreen_aglflutter.inc +++ /dev/null @@ -1,65 +0,0 @@ -FILESEXTRAPATHS:append := "${THISDIR}/files:" - -SRC_URI += " \ - file://0001-Allow-the-embedder-to-run-as-a-regular-normal-applic.patch \ - file://0002-shell-configuration-Obey-json-configuration-file.patch \ - file://0003-shell-configuration-Fixes-to-general-options.patch \ - file://0004-Add-app-id-command-line-argument.patch \ - file://config.json \ -" - -# Upstream is now pinning ivi-homescreen, but if it did need to be pinned -# it can be done here. -#SRCREV = "" - -# For now disable gstreamer to avoid needing to enable "commercial" -# licenses for the stated ffmpeg dependency. -PACKAGECONFIG:remove = "gstreamer" - -# -# AGL specifics -# - -IVI_HOMESCREEN_APP_OVERRIDE = "--b=/usr/share/flutter/gallery --j=/usr/share/flutter/config.json" - -SERVICE_UNIT = "Requires=agl-compositor.service\nAfter=agl-compositor.service" -SERVICE_INSTALL = "WantedBy=agl-session.target" - -# The "homescreen" naming of the embedder binary conflicts with the -# Qt homescreen in meta-agl-demo. At least for now, rename it to -# allow running Flutter apps in an image that uses the Qt homescreen -# and launcher for testing. -SERVICE_EXEC_START = "ExecStart=/usr/bin/flutter --f ${IVI_HOMESCREEN_APP_OVERRIDE} ${SERVICE_EXEC_START_PARAMS}" - -# we have a regular/agl-driver user, so avoid setting one -SERVICE_ENVIRONMENT = "" -SERVICE_USER_GROUP = "" -SERVICE_RESTART = "Restart=on-failure" - -# we need to install as user session, not root. -do_install:append() { - # The system level systemd unit is not required in AGL - rm -f ${D}{systemd_system_unitdir}/homescreen.service - - install -d ${D}${systemd_user_unitdir}/agl-session.target.wants - install -D -m 0644 ${WORKDIR}/config.json ${D}${datadir}/flutter/config.json - 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 - - # Rename embedder binary, see explanation above - mv ${D}${bindir}/homescreen ${D}${bindir}/flutter -} - -# Split the embedder binary into a separate package to allow reusing it -# without the generated upstream systemd unit that ATM is still useful -# for testing with the agl-image-flutter image. AGL will use either -# the applaunchd systemd template or custom units in meta-agl-demo. -PACKAGE_BEFORE_PN = "flutter-embedder-${FLUTTER_RUNTIME}" - -FILES:flutter-embedder-${FLUTTER_RUNTIME} = "${bindir}" - -FILES:${PN} += "${systemd_user_unitdir} ${datadir}/flutter/config.json" - -RDEPENDS:${PN} += "flutter-embedder-${FLUTTER_RUNTIME}" - -RDEPENDS:flutter-embedder-${FLUTTER_RUNTIME} += "flutter-engine-${FLUTTER_RUNTIME}" diff --git a/meta-agl-flutter/recipes-platform/images/agl-image-flutter-debug.bb b/meta-agl-flutter/recipes-platform/images/agl-image-flutter-debug.bb deleted file mode 100644 index 2c24699b..00000000 --- a/meta-agl-flutter/recipes-platform/images/agl-image-flutter-debug.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Baseline Flutter Image for Development" - -LICENSE = "MIT" - -require agl-image-flutter.inc - -IMAGE_INSTALL:append = "\ - weston-ini-conf-landscape \ - \ - ivi-homescreen-debug \ - flutter-engine-debug \ - \ - flutter-gallery-debug \ - flutter-test-secure-storage-debug \ - flutter-test-texture-egl-debug \ - flutter-test-video-player-debug \ - \ - flutter-app-igalia-homescreen-debug \ - flutter-app-pumped-fuel-ped-debug \ - " diff --git a/meta-agl-flutter/recipes-platform/images/agl-image-flutter-profile.bb b/meta-agl-flutter/recipes-platform/images/agl-image-flutter-profile.bb deleted file mode 100644 index 33ae39c9..00000000 --- a/meta-agl-flutter/recipes-platform/images/agl-image-flutter-profile.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Baseline Flutter Image for Profiling" - -LICENSE = "MIT" - -require agl-image-flutter.inc - -IMAGE_INSTALL:append = "\ - weston-ini-conf-landscape \ - \ - ivi-homescreen-profile \ - flutter-engine-profile \ - \ - flutter-gallery-profile \ - flutter-test-secure-storage-profile \ - flutter-test-texture-egl-profile \ - flutter-test-video-player-profile \ - \ - flutter-app-igalia-homescreen-profile \ - flutter-app-pumped-fuel-ped-profile \ - " diff --git a/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimedebug.bb b/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimedebug.bb new file mode 100644 index 00000000..6c412597 --- /dev/null +++ b/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimedebug.bb @@ -0,0 +1,21 @@ +SUMMARY = "Baseline Flutter Image for Development" + +LICENSE = "MIT" + +require agl-image-flutter.inc + +IMAGE_INSTALL:append = "\ + weston-ini-conf-landscape \ + \ + flutter-auto-runtimedebug \ + \ + flutter-engine-runtimedebug-sdk-dev \ + \ + flutter-gallery-runtimedebug \ + flutter-test-texture-egl-runtimedebug \ + flutter-test-secure-storage-runtimedebug \ + flutter-test-localization-runtimedebug \ + \ + flutter-app-igalia-homescreen-runtimedebug \ + flutter-app-pumped-fuel-ped-runtimedebug \ + " diff --git a/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimeprofile.bb b/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimeprofile.bb new file mode 100644 index 00000000..a69302b3 --- /dev/null +++ b/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimeprofile.bb @@ -0,0 +1,19 @@ +SUMMARY = "Baseline Flutter Image for Profiling" + +LICENSE = "MIT" + +require agl-image-flutter.inc + +IMAGE_INSTALL:append = "\ + weston-ini-conf-landscape \ + \ + flutter-auto-runtimeprofile \ + \ + flutter-gallery-runtimeprofile \ + flutter-test-texture-egl-runtimeprofile \ + flutter-test-secure-storage-runtimeprofile \ + flutter-test-localization-runtimeprofile \ + \ + flutter-app-igalia-homescreen-runtimeprofile \ + flutter-app-pumped-fuel-ped-runtimeprofile \ + " diff --git a/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimerelease.bb b/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimerelease.bb new file mode 100644 index 00000000..cf60e8be --- /dev/null +++ b/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimerelease.bb @@ -0,0 +1,19 @@ +SUMMARY = "Baseline Flutter Image for Release" + +LICENSE = "MIT" + +require agl-image-flutter.inc + +IMAGE_INSTALL:append = "\ + weston-ini-conf-landscape \ + \ + flutter-auto-runtimerelease \ + \ + flutter-gallery-runtimerelease \ + flutter-test-texture-egl-runtimerelease \ + flutter-test-secure-storage-runtimerelease \ + flutter-test-localization-runtimerelease \ + \ + flutter-app-igalia-homescreen-runtimerelease \ + flutter-app-pumped-fuel-ped-runtimerelease \ + " diff --git a/meta-agl-flutter/recipes-platform/images/agl-image-flutter.bb b/meta-agl-flutter/recipes-platform/images/agl-image-flutter.bb deleted file mode 100644 index 83809426..00000000 --- a/meta-agl-flutter/recipes-platform/images/agl-image-flutter.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Baseline Flutter Image for Release" - -LICENSE = "MIT" - -require agl-image-flutter.inc - -IMAGE_INSTALL:append = "\ - weston-ini-conf-landscape \ - \ - ivi-homescreen-release \ - flutter-engine-release \ - \ - flutter-gallery-release \ - flutter-test-secure-storage-release \ - flutter-test-texture-egl-release \ - flutter-test-video-player-release \ - \ - flutter-app-igalia-homescreen-flutterrelease \ - flutter-app-pumped-fuel-ped-flutterrelease \ - " -- cgit 1.2.3-korg