From 0536b1b7eaadc6a20540757c9b19350f83820279 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Tue, 7 Jun 2022 16:12:25 -0400 Subject: Update vehicle signal using app recipes Update the recipes for the Qt demo applications that were previously using signal-composer either directly or indirectly to work with the new VehicleSignals API in libqtappfw. For most of them this means installing the new configuration file and associated JSON web token file for KUKSA.val authorization. At present all the apps are using one of the default read-write tokens from the KUKSA.val install, but ideally this will end up migrated to app specific tokens with appropriate permissions JSON down the road, potentially obtained via OAuth or similar mechanism. Additionally, the tbtnavi recipe has been updated to install a systemd unit to start it at boot. Bug-AGL: SPEC-4409, SPEC-4426 Signed-off-by: Scott Murray Change-Id: Ia87b9f16b8db0eb43863da3e9656d9d1f094fe20 --- .../navigation/ondemandnavi/navigation.conf | 2 ++ .../navigation/ondemandnavi/navigation.token | 1 + recipes-demo/navigation/ondemandnavi_git.bb | 18 ++++++++++++++- recipes-demo/navigation/tbtnavi/tbtnavi.conf | 2 ++ recipes-demo/navigation/tbtnavi/tbtnavi.service | 11 +++++++++ recipes-demo/navigation/tbtnavi/tbtnavi.token | 1 + recipes-demo/navigation/tbtnavi_git.bb | 27 ++++++++++++++++++++-- 7 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 recipes-demo/navigation/ondemandnavi/navigation.conf create mode 100644 recipes-demo/navigation/ondemandnavi/navigation.token create mode 100644 recipes-demo/navigation/tbtnavi/tbtnavi.conf create mode 100644 recipes-demo/navigation/tbtnavi/tbtnavi.service create mode 100644 recipes-demo/navigation/tbtnavi/tbtnavi.token (limited to 'recipes-demo/navigation') diff --git a/recipes-demo/navigation/ondemandnavi/navigation.conf b/recipes-demo/navigation/ondemandnavi/navigation.conf new file mode 100644 index 00000000..fca29cdf --- /dev/null +++ b/recipes-demo/navigation/ondemandnavi/navigation.conf @@ -0,0 +1,2 @@ +[vis-client] +authorization = "/etc/xdg/AGL/navigation/navigation.token" diff --git a/recipes-demo/navigation/ondemandnavi/navigation.token b/recipes-demo/navigation/ondemandnavi/navigation.token new file mode 100644 index 00000000..770aadcf --- /dev/null +++ b/recipes-demo/navigation/ondemandnavi/navigation.token @@ -0,0 +1 @@ +eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJrdWtzYS52YWwiLCJpc3MiOiJFY2xpcHNlIEtVS1NBIERldiIsImFkbWluIjp0cnVlLCJpYXQiOjE1MTYyMzkwMjIsImV4cCI6MTc2NzIyNTU5OSwia3Vrc2EtdnNzIjp7IioiOiJydyJ9fQ.QQcVR0RuRJIoasPXYsMGZhdvhLjUalk4GcRaxhh3-0_j3CtVSZ0lTbv_Z3As5BfIYzaMlwUzFGvCVOq2MXVjRK81XOAZ6wIsyKOxva16zjbZryr2V_m3yZ4twI3CPEzJch11_qnhInirHltej-tGg6ySfLaTYeAkw4xYGwENMBBhN5t9odANpScZP_xx5bNfwdW1so6FkV1WhpKlCywoxk_vYZxo187d89bbiu-xOZUa5D-ycFkd1-1rjPXLGE_g5bc4jcQBvNBc-5FDbvt4aJlTQqjpdeppxhxn_gjkPGIAacYDI7szOLC-WYajTStbksUju1iQCyli11kPx0E66me_ZVwOX07f1lRF6D2brWm1LcMAHM3bQUK0LuyVwWPxld64uSAEsvSKsRyJERc7nZUgLf7COnUrrkxgIUNjukbdT2JVN_I-3l3b4YXg6JVD7Y5g0QYBKgXEFpZrDbBVhzo7PXPAhJD6-c3DcUQyRZExbrnFV56RwWuExphw8lYnbMvxPWImiVmB9nRVgFKD0TYaw1sidPSSlZt8Uw34VZzHWIZQAQY0BMjR33fefg42XQ1YzIwPmDx4GYXLl7HNIIVbsRsibKaJnf49mz2qnLC1K272zXSPljO11Ke1MNnsnKyUH7mcwEs9nhTsnMgEOx_TyMLRYo-VEHBDLuEOiBo \ No newline at end of file diff --git a/recipes-demo/navigation/ondemandnavi_git.bb b/recipes-demo/navigation/ondemandnavi_git.bb index 3b9fce4d..2cc972a3 100644 --- a/recipes-demo/navigation/ondemandnavi_git.bb +++ b/recipes-demo/navigation/ondemandnavi_git.bb @@ -10,13 +10,29 @@ DEPENDS = "qtquickcontrols2 qtlocation libqtappfw" PV = "2.0+git${SRCPV}" -SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/ondemandnavi;protocol=https;branch=${AGL_BRANCH}" +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/ondemandnavi;protocol=https;branch=${AGL_BRANCH} \ + file://navigation.conf \ + file://navigation.token \ +" SRCREV = "${AGL_APP_REVISION}" S = "${WORKDIR}/git" inherit qmake5 pkgconfig +do_install:append() { + # Currently using default global client and CA certificates + # for KUKSA.val SSL, installing app specific ones would go here. + + # 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/navigation + install -m 0644 ${WORKDIR}/navigation.conf ${D}${sysconfdir}/xdg/AGL/ + install -m 0644 ${WORKDIR}/navigation.token ${D}${sysconfdir}/xdg/AGL/navigation/ +} + FILES:${PN} += "${datadir}/icons/" RDEPENDS:${PN} += " \ diff --git a/recipes-demo/navigation/tbtnavi/tbtnavi.conf b/recipes-demo/navigation/tbtnavi/tbtnavi.conf new file mode 100644 index 00000000..c962f305 --- /dev/null +++ b/recipes-demo/navigation/tbtnavi/tbtnavi.conf @@ -0,0 +1,2 @@ +[vis-client] +authorization = "/etc/xdg/AGL/tbtnavi/tbtnavi.token" diff --git a/recipes-demo/navigation/tbtnavi/tbtnavi.service b/recipes-demo/navigation/tbtnavi/tbtnavi.service new file mode 100644 index 00000000..cc040009 --- /dev/null +++ b/recipes-demo/navigation/tbtnavi/tbtnavi.service @@ -0,0 +1,11 @@ +[Unit] +Requires=agl-compositor.service +After=agl-compositor.service + +[Service] +Type=simple +ExecStart=/usr/bin/tbtnavi +Restart=on-failure + +[Install] +WantedBy=agl-session.target diff --git a/recipes-demo/navigation/tbtnavi/tbtnavi.token b/recipes-demo/navigation/tbtnavi/tbtnavi.token new file mode 100644 index 00000000..770aadcf --- /dev/null +++ b/recipes-demo/navigation/tbtnavi/tbtnavi.token @@ -0,0 +1 @@ +eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJrdWtzYS52YWwiLCJpc3MiOiJFY2xpcHNlIEtVS1NBIERldiIsImFkbWluIjp0cnVlLCJpYXQiOjE1MTYyMzkwMjIsImV4cCI6MTc2NzIyNTU5OSwia3Vrc2EtdnNzIjp7IioiOiJydyJ9fQ.QQcVR0RuRJIoasPXYsMGZhdvhLjUalk4GcRaxhh3-0_j3CtVSZ0lTbv_Z3As5BfIYzaMlwUzFGvCVOq2MXVjRK81XOAZ6wIsyKOxva16zjbZryr2V_m3yZ4twI3CPEzJch11_qnhInirHltej-tGg6ySfLaTYeAkw4xYGwENMBBhN5t9odANpScZP_xx5bNfwdW1so6FkV1WhpKlCywoxk_vYZxo187d89bbiu-xOZUa5D-ycFkd1-1rjPXLGE_g5bc4jcQBvNBc-5FDbvt4aJlTQqjpdeppxhxn_gjkPGIAacYDI7szOLC-WYajTStbksUju1iQCyli11kPx0E66me_ZVwOX07f1lRF6D2brWm1LcMAHM3bQUK0LuyVwWPxld64uSAEsvSKsRyJERc7nZUgLf7COnUrrkxgIUNjukbdT2JVN_I-3l3b4YXg6JVD7Y5g0QYBKgXEFpZrDbBVhzo7PXPAhJD6-c3DcUQyRZExbrnFV56RwWuExphw8lYnbMvxPWImiVmB9nRVgFKD0TYaw1sidPSSlZt8Uw34VZzHWIZQAQY0BMjR33fefg42XQ1YzIwPmDx4GYXLl7HNIIVbsRsibKaJnf49mz2qnLC1K272zXSPljO11Ke1MNnsnKyUH7mcwEs9nhTsnMgEOx_TyMLRYo-VEHBDLuEOiBo \ No newline at end of file diff --git a/recipes-demo/navigation/tbtnavi_git.bb b/recipes-demo/navigation/tbtnavi_git.bb index 5981cc58..66cafe6a 100644 --- a/recipes-demo/navigation/tbtnavi_git.bb +++ b/recipes-demo/navigation/tbtnavi_git.bb @@ -22,12 +22,35 @@ DEPENDS = " \ PV = "2.0+git${SRCPV}" -SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/tbtnavi;protocol=https;branch=${AGL_BRANCH}" +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/tbtnavi;protocol=https;branch=${AGL_BRANCH} \ + file://tbtnavi.service \ + file://tbtnavi.conf \ + file://tbtnavi.token \ +" SRCREV = "${AGL_APP_REVISION}" S = "${WORKDIR}/git" -inherit qmake5 pkgconfig +inherit qmake5 systemd pkgconfig + +do_install:append() { + install -d ${D}${systemd_user_unitdir}/agl-session.target.wants + install -m0644 ${WORKDIR}/tbtnavi.service ${D}${systemd_user_unitdir}/tbtnavi.service + ln -s ../tbtnavi.service ${D}${systemd_user_unitdir}/agl-session.target.wants/tbtnavi.service + + # Currently using default global client and CA certificates + # for KUKSA.val SSL, installing app specific ones would go here. + + # 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/tbtnavi + install -m 0644 ${WORKDIR}/tbtnavi.conf ${D}${sysconfdir}/xdg/AGL/ + install -m 0644 ${WORKDIR}/tbtnavi.token ${D}${sysconfdir}/xdg/AGL/tbtnavi/ +} + +FILES:${PN} += " ${systemd_user_unitdir}" RDEPENDS:${PN} += " \ qtlocation \ -- cgit 1.2.3-korg