summaryrefslogtreecommitdiffstats
path: root/recipes-demo/flutter-ics-homescreen
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2024-02-20 15:17:17 -0500
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2024-03-08 18:27:03 +0000
commit49a85681e52d1f568a5bb6086d7e14af701ac6dc (patch)
tree70bfa3c2bc1b77ded7d48d84dde1c3b64024696a /recipes-demo/flutter-ics-homescreen
parent3a72cfd21cdd03401ea3208afd721d83c220d3e8 (diff)
Enable running audio services on host for KVM demo
Changes: - Add agl-kvm-host-audio feature for configuring other changes. - Make installation of packagegroup-agl-ivi-service-platform in the KVM host versus IVI images dependent on the agl-kvm-host-audio feature. Some recipe dependencies are tweaked by the feature being specified to avoid accidentally pulling things into the IVI guest images. - Add KVM demo specific configuration for applications affected by running the databroker on the host versus in the IVI guest, and use it if the agl-kvm-host-kuksa feature is enabled. Bug-AGL: SPEC-5082 Change-Id: I3a6e6216a90e4d260c20f0b048e6332466aef4ff Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29702 ci-image-boot-test: Jenkins Job builder account ci-image-build: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jenkins Job builder account
Diffstat (limited to 'recipes-demo/flutter-ics-homescreen')
-rw-r--r--recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml.kvm-demo10
-rw-r--r--recipes-demo/flutter-ics-homescreen/files/kvm.conf3
-rw-r--r--recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb33
3 files changed, 42 insertions, 4 deletions
diff --git a/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml.kvm-demo b/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml.kvm-demo
new file mode 100644
index 000000000..22e7e3908
--- /dev/null
+++ b/recipes-demo/flutter-ics-homescreen/files/ics-homescreen.yaml.kvm-demo
@@ -0,0 +1,10 @@
+kuksa:
+ hostname : 172.16.10.1
+ port : 55555
+ authorization : "/etc/xdg/AGL/ics-homescreen/ics-homescreen.token"
+ use-tls : true
+ tls-server-name : localhost
+radio:
+ hostname : 172.16.10.1
+mpd:
+ hostname : 172.16.10.1
diff --git a/recipes-demo/flutter-ics-homescreen/files/kvm.conf b/recipes-demo/flutter-ics-homescreen/files/kvm.conf
new file mode 100644
index 000000000..0a38143e9
--- /dev/null
+++ b/recipes-demo/flutter-ics-homescreen/files/kvm.conf
@@ -0,0 +1,3 @@
+[Unit]
+Wants=network-online.target
+After=network-online.target
diff --git a/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb b/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb
index dd50df72f..6dacebb57 100644
--- a/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb
+++ b/recipes-demo/flutter-ics-homescreen/flutter-ics-homescreen_git.bb
@@ -10,8 +10,10 @@ SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/flutter-ics-homescreen;p
file://flutter-ics-homescreen.json \
file://flutter-ics-homescreen.service \
file://ics-homescreen.yaml \
+ file://ics-homescreen.yaml.kvm-demo \
file://ics-homescreen.token \
file://radio-presets.yaml \
+ file://kvm.conf \
"
SRCREV = "5587c6ae79b482fbff26442bb239d7d7eb55a337"
@@ -22,7 +24,7 @@ FLUTTER_APPLICATION_INSTALL_PREFIX = "/flutter"
FLUTTER_BUILD_ARGS = "bundle -v"
-inherit flutter-app systemd
+inherit flutter-app systemd update-alternatives
APP_CONFIG = "${BPN}.json"
@@ -36,6 +38,8 @@ APP_AOT_EXTRA:append = " ${DISABLE_BG_ANIMATION}"
do_install:append() {
install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service
+ install -D -m 0644 ${WORKDIR}/kvm.conf ${D}${systemd_system_unitdir}/${BPN}.service.d/kvm.conf
+
install -D -m 0644 ${WORKDIR}/${APP_CONFIG} ${D}${datadir}/flutter/${BPN}.json
# VIS authorization token file for KUKSA.val should ideally not
@@ -43,17 +47,38 @@ do_install:append() {
# 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/ics-homescreen
- install -m 0644 ${WORKDIR}/ics-homescreen.yaml ${D}${sysconfdir}/xdg/AGL/
+ install -m 0644 ${WORKDIR}/ics-homescreen.yaml ${D}${sysconfdir}/xdg/AGL/ics-homescreen.yaml.default
+ install -m 0644 ${WORKDIR}/ics-homescreen.yaml.kvm-demo ${D}${sysconfdir}/xdg/AGL/
install -m 0644 ${WORKDIR}/ics-homescreen.token ${D}${sysconfdir}/xdg/AGL/ics-homescreen/
install -m 0644 ${WORKDIR}/radio-presets.yaml ${D}${sysconfdir}/xdg/AGL/ics-homescreen/
}
+ALTERNATIVE_LINK_NAME[ics-homescreen.yaml] = "${sysconfdir}/xdg/AGL/ics-homescreen.yaml"
+
FILES:${PN} += "${datadir} ${sysconfdir}/xdg/AGL"
RDEPENDS:${PN} += " \
flutter-auto \
agl-flutter-env \
applaunchd \
- agl-service-radio \
- mpd \
+ ${@bb.utils.contains('AGL_FEATURES', 'agl-kvm-host-audio', '', 'agl-service-radio mpd', d)} \
+"
+
+PACKAGE_BEFORE_PN += "${PN}-conf ${PN}-conf-kvm-demo"
+
+FILES:${PN}-conf += "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.default"
+RDEPENDS:${PN}-conf = "${PN}"
+RPROVIDES:${PN}-conf = "ics-homescreen.yaml"
+RCONFLICTS:${PN}-conf = "${PN}-conf-kvm-demo"
+ALTERNATIVE:${PN}-conf = "ics-homescreen.yaml"
+ALTERNATIVE_TARGET_${PN}-conf = "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.default"
+
+FILES:${PN}-conf-kvm-demo += " \
+ ${sysconfdir}/xdg/AGL/ics-homescreen.yaml.kvm-demo \
+ ${systemd_system_unitdir}/flutter-ics-homescreen.service.d/kvm.conf \
"
+RDEPENDS:${PN}-conf-kvm-demo = "${PN}"
+RPROVIDES:${PN}-conf-kvm-demo = "ics-homescreen.yaml"
+RCONFLICTS:${PN}-conf-kvm-demo = "${PN}-conf"
+ALTERNATIVE:${PN}-conf-kvm-demo = "ics-homescreen.yaml"
+ALTERNATIVE_TARGET_${PN}-conf-kvm-demo = "${sysconfdir}/xdg/AGL/ics-homescreen.yaml.kvm-demo"