summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-08-04 16:53:39 -0400
committerScott Murray <scott.murray@konsulko.com>2022-08-04 17:22:30 -0400
commit33cdbee53ea3ec3d2f88e05744ea9e6611c40772 (patch)
tree62000e5a204ec9fdd6442cdb31b8199e46b9535a
parentadbb12626100901bc815deba27733fe1a3ebc3cc (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
-rw-r--r--meta-agl-flutter/recipes-graphics/flutter-apps/flutter-app-igalia-homescreen_git.bb24
-rw-r--r--meta-agl-flutter/recipes-graphics/flutter-apps/flutter-app-pumped-fuel-ped_git.bb34
-rw-r--r--meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery/flutter-gallery.service (renamed from meta-agl-flutter/recipes-graphics/toyota/files/flutter-auto.service)0
-rw-r--r--meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery/gallery_on_bg-debug.json (renamed from meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-debug.json)0
-rw-r--r--meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery/gallery_on_bg-profile.json (renamed from meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-profile.json)0
-rw-r--r--meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery/gallery_on_bg-release.json (renamed from meta-agl-flutter/recipes-graphics/toyota/files/gallery_on_bg-release.json)0
-rw-r--r--meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery_%.bbappend1
-rw-r--r--meta-agl-flutter/recipes-graphics/flutter-apps/flutter-gallery_aglflutter.inc39
-rw-r--r--meta-agl-flutter/recipes-graphics/toyota/files/0001-Add-xdg-shell-app-id-command-line-argument.patch38
-rw-r--r--meta-agl-flutter/recipes-graphics/toyota/flutter-auto_%.bbappend (renamed from meta-agl-flutter/recipes-graphics/toyota/flutter-auto%.bbappend)0
-rw-r--r--meta-agl-flutter/recipes-graphics/toyota/flutter-auto_aglflutter.inc47
-rw-r--r--meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimedebug.bb1
-rw-r--r--meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimeprofile.bb4
-rw-r--r--meta-agl-flutter/recipes-platform/images/agl-image-flutter-runtimerelease.bb4
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 \
"