diff options
author | Scott Murray <scott.murray@konsulko.com> | 2022-08-04 16:53:39 -0400 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2022-08-04 17:22:30 -0400 |
commit | 33cdbee53ea3ec3d2f88e05744ea9e6611c40772 (patch) | |
tree | 62000e5a204ec9fdd6442cdb31b8199e46b9535a | |
parent | adbb12626100901bc815deba27733fe1a3ebc3cc (diff) |
meta-agl-flutter: Simplify AGL integration
Changes:
- Remove Igalia homescreen and Pumped Fuel app recipes since they
duplicate what is in meta-flutter. Now that there is a AGL
Flutter demo image in meta-agl, any recipes or bbappends for
apps should go there except for the flutter-gallery integration
for agl-image-flutter (see below).
- Move flutter-gallery systemd unit changes out of flutter-auto
bbappend to a new flutter-gallery bbappend to simplify using
flutter-auto on its own. To facilitate interoperation with the
use of flutter-gallery in the agl-ivi-demo-platform-flutter image,
the systemd files are split out into a -init package that has been
added to agl-image-flutter.
- Added back a reworked version of the app-id command-line option
patch in the flutter-auto bbappend with the option changed to
--xdg-shell-app-id per upstream request. This wil be submitted
upstream as time permits. The merged patches that were deleted have
been removed from SRC_URI.
The intent of the above is to move to meta-agl-flutter just having the
minimal set of changes to integrate flutter-auto with AGL use, with
the agl-image-flutter image kept as a simple smoketest / example.
Bug-AGL: SPEC-4485
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I171852820be404774d7580778643c801e8fad34f
14 files changed, 87 insertions, 105 deletions
diff --git a/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-app-igalia-homescreen_git.bb b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-app-igalia-homescreen_git.bb deleted file mode 100644 index 9047d603..00000000 --- a/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-app-igalia-homescreen_git.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Igalia Flutter Homescreen" -DESCRIPTION = "A prototype home screen for automotive grade Linux." -AUTHOR = "Igalia" -HOMEPAGE = "https://github.com/felipeerias/flutter_homescreen" -BUGTRACKER = "https://github.com/felipeerias/flutter_homescreen/issues" -SECTION = "graphics" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" - -SRC_URI = "git://github.com/felipeerias/flutter_homescreen.git;protocol=https;branch=main" - -SRCREV = "08bf271f7f1f14153a41005718a2090fa8e783f0" - -S = "${WORKDIR}/git" - -PUBSPEC_APPNAME = "flutter_homescreen" -FLUTTER_APPLICATION_INSTALL_PREFIX = "/flutter" - -FLUTTER_BUILD_ARGS = "bundle -v" - -inherit flutter-app - -BBCLASSEXTEND = "flutterrelease flutterprofile flutterdebug"
\ No newline at end of file diff --git a/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-app-pumped-fuel-ped_git.bb b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-app-pumped-fuel-ped_git.bb deleted file mode 100644 index 541bc8ec..00000000 --- a/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-app-pumped-fuel-ped_git.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Pumped End Device" -DESCRIPTION = "Pumped is a combination of 3 core projects to connect \ - vehicle drivers with retail merchants, initially starting \ - with fuel stations. Our objective is to offer the best fuel \ - prices, closest stations, friendliest service, cleanest restrooms, \ - tastiest coffee and so much more, direct to vehicle drivers." -AUTHOR = "Pumped Fuel" -HOMEPAGE = "https://github.com/bernardpumped/ped" -BUGTRACKER = "https://github.com/bernardpumped/ped/issues" -SECTION = "graphics" - -RDEPENDS:${PN} += "\ - geoclue \ - libsecret \ - xdg-user-dirs \ - " - -LICENSE = "GPL-3.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=e49f4652534af377a713df3d9dec60cb" - -SRC_URI = "git://github.com/bernardpumped/ped.git;protocol=https;branch=main" - -SRCREV = "7a670295d5a94508862316e045e789e0dfd01b20" - -S = "${WORKDIR}/git" - -PUBSPEC_APPNAME = "pumped_end_device" -FLUTTER_APPLICATION_INSTALL_PREFIX = "/flutter" - -FLUTTER_BUILD_ARGS = "bundle -v" - -inherit flutter-app - -BBCLASSEXTEND += "flutterrelease flutterdebug flutterprofile" diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/flutter-auto.service b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery/flutter-gallery.service index 71ab791d..71ab791d 100644 --- a/meta-agl-flutter/recipes-graphics/toyota/files/flutter-auto.service +++ b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery/flutter-gallery.service diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-debug.json b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery/gallery_on_bg-debug.json index 5a84a0bd..5a84a0bd 100644 --- a/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-debug.json +++ b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery/gallery_on_bg-debug.json diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-profile.json b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery/gallery_on_bg-profile.json index 3309fde4..3309fde4 100644 --- a/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-profile.json +++ b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery/gallery_on_bg-profile.json diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-release.json b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery/gallery_on_bg-release.json index 6a2a8448..6a2a8448 100644 --- a/meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-release.json +++ b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery/gallery_on_bg-release.json diff --git a/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery_%.bbappend b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery_%.bbappend new file mode 100644 index 00000000..835e86e6 --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery_%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'agl-flutter', 'flutter-gallery_aglflutter.inc', '', d)} diff --git a/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery_aglflutter.inc b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery_aglflutter.inc new file mode 100644 index 00000000..533bdd71 --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery_aglflutter.inc @@ -0,0 +1,39 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/flutter-gallery:" + +SRC_URI += " \ + file://flutter-gallery.service \ + file://gallery_on_bg-debug.json \ + file://gallery_on_bg-profile.json \ + file://gallery_on_bg-release.json \ +" + +APP_CONFIG = "gallery_on_bg-release.json" +APP_CONFIG:class-runtimedebug = "gallery_on_bg-debug.json" +APP_CONFIG:class-runtimeprofile = "gallery_on_bg-profile.json" + +# To avoid conflicts with the systemd template scheme added via bbappend in +# meta-agl-demo, package the standalone systemd unit separately. This is not +# needed when meta-agl-flutter is used without meta-agl-demo, but that is not +# going to be the default usecase for most users, so this still allows them to +# build working agl-image-flutter images in the same build tree. +# +# This can be dropped if/when flutter-gallery is no longer packaged as a demo +# in meta-agl-demo. + +#SYSTEMD_SERVICE:${PN}-init = "flutter-gallery.service" + +do_install:append() { + install -D -m 0644 ${WORKDIR}/flutter-gallery.service ${D}${systemd_user_unitdir}/flutter-gallery.service + install -d ${D}${systemd_user_unitdir}/agl-session.target.wants + ln -s ../flutter-gallery.service ${D}${systemd_user_unitdir}/agl-session.target.wants/flutter-gallery.service + + install -D -m 0644 ${WORKDIR}/${APP_CONFIG} ${D}${datadir}/flutter/default.json +} + +PACKAGE_BEFORE_PN += "${PN}-init" + +FILES:${PN} += "${datadir}" + +FILES:${PN}-init = "${systemd_user_unitdir}" + +RDEPENDS:${PN}-init = "${PN}"
\ No newline at end of file diff --git a/meta-agl-flutter/recipes-graphics/toyota/files/0001-Add-xdg-shell-app-id-command-line-argument.patch b/meta-agl-flutter/recipes-graphics/toyota/files/0001-Add-xdg-shell-app-id-command-line-argument.patch new file mode 100644 index 00000000..854c8dc8 --- /dev/null +++ b/meta-agl-flutter/recipes-graphics/toyota/files/0001-Add-xdg-shell-app-id-command-line-argument.patch @@ -0,0 +1,38 @@ +From 394f48a1e535f464879fa94196ee6d73b86894f5 Mon Sep 17 00:00:00 2001 +From: Scott Murray <scott.murray@konsulko.com> +Date: Thu, 4 Aug 2022 14:36:08 -0400 +Subject: [PATCH] Add xdg-shell-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 <scott.murray@konsulko.com> +--- + shell/main.cc | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/shell/main.cc b/shell/main.cc +index deb4876..ba35acc 100644 +--- a/shell/main.cc ++++ b/shell/main.cc +@@ -161,6 +161,16 @@ int main(int argc, char** argv) { + FML_DLOG(INFO) << "Window Type: " << config.view.window_type; + RemoveArgument(config.view.vm_args, "--window-type=" + config.view.window_type); + } ++ if (cl.HasOption("xdg-shell-app-id")) { ++ cl.GetOptionValue("xdg-shell-app-id", &config.app_id); ++ if (config.app_id.empty()) { ++ FML_LOG(ERROR) ++ << "--xdg-shell-app-id option requires an argument (e.g. --xdg-shell-app-id=gallery)"; ++ return EXIT_FAILURE; ++ } ++ FML_DLOG(INFO) << "Application ID: " << config.app_id; ++ RemoveArgument(config.view.vm_args, "--xdg-shell-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/flutter-auto%.bbappend b/meta-agl-flutter/recipes-graphics/toyota/flutter-auto_%.bbappend index dbc82bc3..dbc82bc3 100644 --- a/meta-agl-flutter/recipes-graphics/toyota/flutter-auto%.bbappend +++ b/meta-agl-flutter/recipes-graphics/toyota/flutter-auto_%.bbappend diff --git a/meta-agl-flutter/recipes-graphics/toyota/flutter-auto_aglflutter.inc b/meta-agl-flutter/recipes-graphics/toyota/flutter-auto_aglflutter.inc index 4baaa517..0b580c2a 100644 --- a/meta-agl-flutter/recipes-graphics/toyota/flutter-auto_aglflutter.inc +++ b/meta-agl-flutter/recipes-graphics/toyota/flutter-auto_aglflutter.inc @@ -1,47 +1,12 @@ +FILESEXTRAPATHS:append := "${THISDIR}/files:" + +SRC_URI += " \ + file://0001-Add-xdg-shell-app-id-command-line-argument.patch \ +" + # 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-platform/images/agl-image-flutter-runtimedebug.bb b/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimedebug.bb index 6c412597..7432f1de 100644 --- a/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimedebug.bb +++ b/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimedebug.bb @@ -12,6 +12,7 @@ IMAGE_INSTALL:append = "\ flutter-engine-runtimedebug-sdk-dev \ \ flutter-gallery-runtimedebug \ + flutter-gallery-runtimedebug-init \ flutter-test-texture-egl-runtimedebug \ flutter-test-secure-storage-runtimedebug \ flutter-test-localization-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 index a69302b3..031000a9 100644 --- a/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimeprofile.bb +++ b/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimeprofile.bb @@ -10,10 +10,8 @@ IMAGE_INSTALL:append = "\ flutter-auto-runtimeprofile \ \ flutter-gallery-runtimeprofile \ + flutter-gallery-runtimeprofile-init \ 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 index cf60e8be..8220e313 100644 --- a/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimerelease.bb +++ b/meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimerelease.bb @@ -10,10 +10,8 @@ IMAGE_INSTALL:append = "\ flutter-auto-runtimerelease \ \ flutter-gallery-runtimerelease \ + flutter-gallery-runtimerelease-init \ 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 \ " |