aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLisandro Pérez Meyer <lpmeyer@ics.com>2023-11-14 17:53:42 -0300
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2023-11-14 21:11:23 +0000
commita45b13ab6ba8008a461c70078ef885f7c29452a8 (patch)
treeda461335d6c170704dbd795b658c8ea7fc452eac
parentc7e7f3bdd38fb8af2d95b498c7f5778a5ecaa25b (diff)
Add flutter-ics-homescreen recipe.
Bug-AGL: SPEC-4969 Change-Id: I5792df93372160e85d524dc81c3de8d2f523501e Signed-off-by: Lisandro Pérez Meyer <lpmeyer@ics.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29409 Reviewed-by: Scott Murray <scott.murray@konsulko.com> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
-rw-r--r--recipes-demo/flutter-ics-homescreen/files/change_grpc_port.patch21
-rw-r--r--recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.json9
-rw-r--r--recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.service14
-rw-r--r--recipes-demo/flutter-ics-homescreen/files/ics-homescreen.token1
-rw-r--r--recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml2
-rw-r--r--recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb46
6 files changed, 93 insertions, 0 deletions
diff --git a/recipes-demo/flutter-ics-homescreen/files/change_grpc_port.patch b/recipes-demo/flutter-ics-homescreen/files/change_grpc_port.patch
new file mode 100644
index 000000000..2c0488b96
--- /dev/null
+++ b/recipes-demo/flutter-ics-homescreen/files/change_grpc_port.patch
@@ -0,0 +1,21 @@
+From 7a7dfd8756c8c742aa3cd829a3644e6ec977aa8b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Lisandro=20P=C3=A9rez=20Meyer?= <lperezmeyer@ics.com>
+Date: Tue, 14 Nov 2023 14:59:45 +0000
+Subject: [PATCH] Set the default port to 55555.
+
+The Docker images seems to be using 55556.
+---
+ config/config.yaml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config/config.yaml b/config/config.yaml
+index 138fe4b..a552299 100644
+--- a/config/config.yaml
++++ b/config/config.yaml
+@@ -1,2 +1,2 @@
+ hostname: localhost
+-port: 55556
++port: 55555
+--
+2.25.1
+
diff --git a/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.json b/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.json
new file mode 100644
index 000000000..56ab1d35a
--- /dev/null
+++ b/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.json
@@ -0,0 +1,9 @@
+{
+ "view" : [ {
+ "window_type" : "BG",
+ "width" : 1080,
+ "height": 1920,
+ "fullscreen": true
+ }
+ ]
+}
diff --git a/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.service b/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.service
new file mode 100644
index 000000000..a61b4a1de
--- /dev/null
+++ b/recipes-demo/flutter-ics-homescreen/files/flutter-ics-homescreen.service
@@ -0,0 +1,14 @@
+[Unit]
+Requires=agl-compositor.service applaunchd.service
+After=agl-compositor.service applaunchd.service
+
+[Service]
+User=agl-driver
+EnvironmentFile=/etc/default/flutter
+EnvironmentFile=-/etc/default/flutter-ics-homescreen
+Environment=XDG_RUNTIME_DIR=/run/user/1001/
+ExecStart=/usr/bin/flutter-auto --b=/usr/share/flutter/flutter_ics_homescreen/${FLUTTER_VERSION}/${FLUTTER_RUNTIME} --j=/usr/share/flutter/flutter-ics-homescreen.json --xdg-shell-app-id=homescreen
+Restart=on-failure
+
+[Install]
+WantedBy=graphical.target
diff --git a/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.token b/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.token
new file mode 100644
index 000000000..110d3c413
--- /dev/null
+++ b/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.token
@@ -0,0 +1 @@
+eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJsb2NhbCBkZXYiLCJpc3MiOiJjcmVhdGVUb2tlbi5weSIsImF1ZCI6WyJrdWtzYS52YWwiXSwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjE3NjcyMjU1OTksInNjb3BlIjoiYWN0dWF0ZSBwcm92aWRlIn0.x-bUZwDCC663wGYrWCYjQZwQWhN1CMuKgxuIN5dUF_izwMutiqF6Xc-tnXgZa93BbT3I74WOMk4awKHBUSTWekGs3-qF6gajorbat6n5180TOqvNu4CXuIPZN5zpngf4id3smMkKOT699tPnSEbmlkj4vk-mIjeOAU-FcYA-VbkKBTsjvfFgKa2OdB5h9uZARBg5Rx7uBN3JsH1I6j9zoLid184Ewa6bhU2qniFt5iPsGJniNsKsRrrndN1KzthO13My44s56yvwSHIOrgDGbXdja_eLuOVOq9pHCjCtorPScgEuUUE4aldIuML-_j397taNP9Y3VZYVvofEK7AuiePTbzwxrZ1RAjK74h1-4ued3A2gUTjr5BsRlc9b7eLZzxLJkrqdfGAzBh_rtrB7p32TbvpjeFP30NW6bB9JS43XACUUm_S_RcyI7BLuUdnFyQDQr6l6sRz9XayYXceilHdCxbAVN0HVnBeui5Bb0mUZYIRZeY8k6zcssmokANTD8ZviDMpKlOU3t5AlXJ0nLkgyMhV9IUTwPUv6F8BTPc-CquJCUNbTyo4ywTSoODWbm3PmQ3Y46gWF06xqnB4wehLscBdVk3iAihQp3tckGhMnx5PI_Oy7utIncr4pRCMos63TnBkfrl7d43cHQTuK0kO76EWtv4ODEHgLvEAv4HA \ No newline at end of file
diff --git a/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml b/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml
new file mode 100644
index 000000000..f73418a81
--- /dev/null
+++ b/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml
@@ -0,0 +1,2 @@
+authorization : "/etc/xdg/AGL/homescreen/ics-homescreen.token"
+use-tls : true
diff --git a/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb b/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb
new file mode 100644
index 000000000..aa3e923ea
--- /dev/null
+++ b/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb
@@ -0,0 +1,46 @@
+SUMMARY = "AGL ICS Flutter Homescreen"
+DESCRIPTION = "Demo Flutter homescreen for Automotive Grade Linux by ICS."
+HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/apps/flutter-ics-homescreen"
+SECTION = "graphics"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/flutter-ics-homescreen;protocol=https;branch=${AGL_BRANCH} \
+ file://change_grpc_port.patch \
+ file://flutter-ics-homescreen.json \
+ file://flutter-ics-homescreen.service \
+ file://ics-homescreen.yaml \
+ file://ics-homescreen.token \
+"
+SRCREV = "70ec8a79a121471a004e7e4c23157d10157e136f"
+
+S = "${WORKDIR}/git"
+
+PUBSPEC_APPNAME = "flutter_ics_homescreen"
+FLUTTER_APPLICATION_INSTALL_PREFIX = "/flutter"
+
+FLUTTER_BUILD_ARGS = "bundle -v"
+
+inherit flutter-app systemd
+
+APP_CONFIG = "${BPN}.json"
+
+SYSTEMD_SERVICE:${PN} = "flutter-ics-homescreen.service"
+
+do_install:append() {
+ 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
+
+ # VIS authorization token file for KUKSA.val should ideally not
+ # be readable by other users, but currently that's not doable
+ # until a packaging/sandboxing/MAC scheme is (re)implemented or
+ # something like OAuth is plumbed in as an alternative.
+ install -d ${D}${sysconfdir}/xdg/AGL/homescreen
+ install -m 0644 ${WORKDIR}/ics-homescreen.yaml ${D}${sysconfdir}/xdg/AGL/
+ install -m 0644 ${WORKDIR}/ics-homescreen.token ${D}${sysconfdir}/xdg/AGL/homescreen/
+}
+
+FILES:${PN} += "${datadir} ${sysconfdir}/xdg/AGL"
+RDEPENDS:${PN} += "flutter-auto agl-flutter-env"