summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2023-06-02 10:52:32 -0400
committerScott Murray <scott.murray@konsulko.com>2023-06-02 11:00:52 -0400
commitcce52591f8e00ae41ae380a597d620b0856d004d (patch)
tree5df72538fd9b18f550ef7cedf42cc9990cc3ac7a
parentde1dccae31b3c7c62f0e19102b7223d747f413ed (diff)
Do not hard-code Flutter version and runtime type
Rework the flutter-homescreen and flutter-cluster-dashboard systemd units to get the Flutter version and runtime type from the environment file installed by the new agl-flutter-env recipe, and update their JSON configuration files to remove the hardcoding of their bundle paths. Bug-AGL: SPEC-4819 Change-Id: I841db2cbb3acfe4aad173e9b8aa25ff2e201c2e2 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-rw-r--r--recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service4
-rw-r--r--recipes-demo/flutter-cluster-dashboard/files/flutter_cluster_dashboard_on_bg.json1
-rw-r--r--recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb32
-rw-r--r--recipes-demo/flutter-homescreen/files/flutter-homescreen.json1
-rw-r--r--recipes-demo/flutter-homescreen/files/flutter-homescreen.service4
-rw-r--r--recipes-demo/flutter-homescreen/flutter-homescreen_git.bb9
6 files changed, 27 insertions, 24 deletions
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 71ab791d..b79092e2 100644
--- a/recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service
+++ b/recipes-demo/flutter-cluster-dashboard/files/flutter-cluster-dashboard.service
@@ -3,7 +3,9 @@ Requires=agl-compositor.service
After=agl-compositor.service
[Service]
-ExecStart=/usr/bin/flutter-auto --j=/usr/share/flutter/default.json
+EnvironmentFile=/etc/default/flutter
+EnvironmentFile=-/etc/default/flutter-cluster-dashboard
+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]
diff --git a/recipes-demo/flutter-cluster-dashboard/files/flutter_cluster_dashboard_on_bg.json b/recipes-demo/flutter-cluster-dashboard/files/flutter_cluster_dashboard_on_bg.json
index 4bd7429a..c90e5e3a 100644
--- a/recipes-demo/flutter-cluster-dashboard/files/flutter_cluster_dashboard_on_bg.json
+++ b/recipes-demo/flutter-cluster-dashboard/files/flutter_cluster_dashboard_on_bg.json
@@ -2,7 +2,6 @@
"view": [
{
"window_type": "BG",
- "bundle_path": "/usr/share/flutter/flutter_cluster_dashboard/3.3.7/release",
"width": 1920,
"height": 1080,
"fullscreen": true
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 2effcfed..b3076494 100644
--- a/recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb
+++ b/recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb
@@ -33,38 +33,38 @@ CLUSTER_DEMO_VISS_HOSTNAME ??= "192.168.10.2"
APP_CONFIG = "flutter_cluster_dashboard_on_bg.json"
do_install:append() {
- install -D -m 0644 ${WORKDIR}/flutter-cluster-dashboard.service ${D}${systemd_user_unitdir}/flutter-cluster-dashboard.service
+ 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 ../flutter-cluster-dashboard.service ${D}${systemd_user_unitdir}/agl-session.target.wants/flutter-cluster-dashboard.service
+ ln -s ../${BPN}.service ${D}${systemd_user_unitdir}/agl-session.target.wants/${BPN}.service
- install -D -m 0644 ${WORKDIR}/${APP_CONFIG} ${D}${datadir}/flutter/default.json
+ install -D -m 0644 ${WORKDIR}/${APP_CONFIG} ${D}${datadir}/flutter/${BPN}.json
install -d ${D}${sysconfdir}/xdg/AGL
- install -m 0644 ${WORKDIR}/flutter-cluster-dashboard.yaml \
- ${D}${sysconfdir}/xdg/AGL/flutter-cluster-dashboard.yaml.default
- install -m 0644 ${WORKDIR}/flutter-cluster-dashboard.yaml.demo ${D}${sysconfdir}/xdg/AGL/
- sed -i "s/^hostname: .*/hostname: ${CLUSTER_DEMO_VISS_HOSTNAME}/" ${D}${sysconfdir}/xdg/AGL/flutter-cluster-dashboard.yaml.demo
+ install -m 0644 ${WORKDIR}/${BPN}.yaml ${D}${sysconfdir}/xdg/AGL/${BPN}.yaml.default
+ install -m 0644 ${WORKDIR}/${BPN}.yaml.demo ${D}${sysconfdir}/xdg/AGL/
+ sed -i "s/^hostname: .*/hostname: ${CLUSTER_DEMO_VISS_HOSTNAME}/" ${D}${sysconfdir}/xdg/AGL/${BPN}.yaml.demo
install -m 0755 -d ${D}${sysconfdir}/default/
echo 'OPENROUTE_API_KEY:${OPENROUTE_API_KEY}' >> ${D}${sysconfdir}/default/openroutekey
}
-ALTERNATIVE_LINK_NAME[flutter-cluster-dashboard.yaml] = "${sysconfdir}/xdg/AGL/flutter-cluster-dashboard.yaml"
+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"
PACKAGE_BEFORE_PN += "${PN}-conf ${PN}-conf-demo"
-FILES:${PN}-conf += "${sysconfdir}/xdg/AGL/flutter-cluster-dashboard.yaml.default"
+FILES:${PN}-conf += "${sysconfdir}/xdg/AGL/${BPN}.yaml.default"
RDEPENDS:${PN}-conf = "${PN}"
-RPROVIDES:${PN}-conf = "flutter-cluster-dashboard.yaml"
+RPROVIDES:${PN}-conf = "${BPN}.yaml"
RCONFLICTS:${PN}-conf = "${PN}-conf-demo"
-ALTERNATIVE:${PN}-conf = "flutter-cluster-dashboard.yaml"
-ALTERNATIVE_TARGET_${PN}-conf = "${sysconfdir}/xdg/AGL/flutter-cluster-dashboard.yaml.default"
+ALTERNATIVE:${PN}-conf = "${BPN}.yaml"
+ALTERNATIVE_TARGET_${PN}-conf = "${sysconfdir}/xdg/AGL/${BPN}.yaml.default"
-FILES:${PN}-conf-demo += "${sysconfdir}/xdg/AGL/flutter-cluster-dashboard.yaml.demo"
+FILES:${PN}-conf-demo += "${sysconfdir}/xdg/AGL/${BPN}.yaml.demo"
RDEPENDS:${PN}-conf-demo = "${PN}"
-RPROVIDES:${PN}-conf-demo = "flutter-cluster-dashboard.yaml"
+RPROVIDES:${PN}-conf-demo = "${BPN}.yaml"
RCONFLICTS:${PN}-conf-demo = "${PN}-conf"
-ALTERNATIVE:${PN}-conf-demo = "flutter-cluster-dashboard.yaml"
-ALTERNATIVE_TARGET_${PN}-conf-demo = "${sysconfdir}/xdg/AGL/flutter-cluster-dashboard.yaml.demo"
+ALTERNATIVE:${PN}-conf-demo = "${BPN}.yaml"
+ALTERNATIVE_TARGET_${PN}-conf-demo = "${sysconfdir}/xdg/AGL/${BPN}.yaml.demo"
diff --git a/recipes-demo/flutter-homescreen/files/flutter-homescreen.json b/recipes-demo/flutter-homescreen/files/flutter-homescreen.json
index 29308d3e..63babcfa 100644
--- a/recipes-demo/flutter-homescreen/files/flutter-homescreen.json
+++ b/recipes-demo/flutter-homescreen/files/flutter-homescreen.json
@@ -1,7 +1,6 @@
{
"view" : [ {
"window_type" : "BG",
- "bundle_path" : "/usr/share/flutter/flutter_homescreen/3.3.7/release",
"width" : 1920,
"height": 1080,
"fullscreen": true
diff --git a/recipes-demo/flutter-homescreen/files/flutter-homescreen.service b/recipes-demo/flutter-homescreen/files/flutter-homescreen.service
index 300fb22d..a57fc5cc 100644
--- a/recipes-demo/flutter-homescreen/files/flutter-homescreen.service
+++ b/recipes-demo/flutter-homescreen/files/flutter-homescreen.service
@@ -3,7 +3,9 @@ Requires=agl-compositor.service
After=agl-compositor.service
[Service]
-ExecStart=/usr/bin/flutter-auto --j=/usr/share/flutter/flutter-homescreen.json --xdg-shell-app-id=homescreen
+EnvironmentFile=/etc/default/flutter
+EnvironmentFile=-/etc/default/flutter-homescreen
+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]
diff --git a/recipes-demo/flutter-homescreen/flutter-homescreen_git.bb b/recipes-demo/flutter-homescreen/flutter-homescreen_git.bb
index c4142774..0bd1ae19 100644
--- a/recipes-demo/flutter-homescreen/flutter-homescreen_git.bb
+++ b/recipes-demo/flutter-homescreen/flutter-homescreen_git.bb
@@ -22,17 +22,18 @@ FLUTTER_BUILD_ARGS = "bundle -v"
inherit flutter-app
-APP_CONFIG = "flutter-homescreen.json"
+APP_CONFIG = "${BPN}.json"
do_install:append() {
- install -D -m 0644 ${WORKDIR}/flutter-homescreen.service ${D}${systemd_user_unitdir}/flutter-homescreen.service
+ 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 ../flutter-homescreen.service ${D}${systemd_user_unitdir}/agl-session.target.wants/flutter-homescreen.service
+ ln -s ../${BPN}.service ${D}${systemd_user_unitdir}/agl-session.target.wants/${BPN}.service
- install -D -m 0644 ${WORKDIR}/${APP_CONFIG} ${D}${datadir}/flutter/flutter-homescreen.json
+ install -D -m 0644 ${WORKDIR}/${APP_CONFIG} ${D}${datadir}/flutter/${BPN}.json
install -d ${D}${sysconfdir}/xdg/AGL
install -m 0644 ${WORKDIR}/homescreen_config.yaml ${D}${sysconfdir}/xdg/AGL/
}
FILES:${PN} += "${datadir} ${systemd_user_unitdir} ${sysconfdir}/xdg/AGL"
+RDEPENDS:${PN} += "flutter-auto agl-flutter-env"