Enable running audio services on host for KVM demo
[AGL/meta-agl-demo.git] / recipes-demo / flutter-ics-homescreen / flutter-ics-homescreen_git.bb
index dd50df7..6dacebb 100644 (file)
@@ -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"