diff options
author | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2024-07-04 14:44:46 +0000 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2024-07-24 09:14:03 +0000 |
commit | 94a19893064724d89893252735883cdb0415835f (patch) | |
tree | 4bff24f56fd4b235870307e7834d67576038a9e5 /meta-agl-demo-control-panel/recipes-demo/agl-demo-control-panel | |
parent | ca836399d23e92f20d7ccc02122ab029e695cc6b (diff) |
Move agl-demo-control-panel into own layer and feature during qt6 migration
This creates a temporary sublayer for the demo control panel until
meta-agl-demo itself is migrated to qt6.
Bug-AGL: SPEC-5195
Change-Id: I07f97385600fb695e182b11c528225d5510185d9
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/30067
Diffstat (limited to 'meta-agl-demo-control-panel/recipes-demo/agl-demo-control-panel')
2 files changed, 101 insertions, 0 deletions
diff --git a/meta-agl-demo-control-panel/recipes-demo/agl-demo-control-panel/agl-demo-control-panel_git.bb b/meta-agl-demo-control-panel/recipes-demo/agl-demo-control-panel/agl-demo-control-panel_git.bb new file mode 100644 index 000000000..d28628264 --- /dev/null +++ b/meta-agl-demo-control-panel/recipes-demo/agl-demo-control-panel/agl-demo-control-panel_git.bb @@ -0,0 +1,85 @@ +SUMMARY = "AGL demo control panel" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=685e0faaaec2c2334cf8159ca6bd2975" + +PV = "1.0+git${SRCPV}" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/agl-demo-control-panel;protocol=https;branch=${AGL_BRANCH} \ + file://agl-demo-control-panel.service \ +" +SRCREV = "25d451d87046a1cfbf7ac3cd47c2303fd29a22c5" +S = "${WORKDIR}/git" + +inherit systemd allarch update-alternatives + +SYSTEMD_SERVICE:${PN} = "${BPN}.service" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + # There's no provision for a Pythonic install into /usr/lib, so dump + # into a directory /usr/libexec. + install -d ${D}${libexecdir}/${BPN} + cp -drv ${S}/* ${D}${libexecdir}/${BPN} + + # Remove stray shell script from Docker container build support to + # avoid QA complaints + rm -rf ${D}${libexecdir}/${BPN}/docker + + install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service + + # Install conf file + install -d ${D}${sysconfdir}/agl-demo-control-panel + install -m 0644 ${S}/extras/config.ini ${D}${sysconfdir}/agl-demo-control-panel/config.ini.default + sed 's/ip = localhost/ip = 192.168.10.2/' ${S}/extras/config.ini > \ + ${D}${sysconfdir}/agl-demo-control-panel/config.ini.demo + sed -e 's/hvac-enabled = true/hvac-enabled = false/' \ + -e 's/steering-wheel-enabled = true/steering-wheel-enabled = false/' \ + ${S}/extras/config.ini > \ + ${D}${sysconfdir}/agl-demo-control-panel/config.ini.gateway-demo +} + +# For now generate resource wrapper on first boot, as it looks non-trivial +# to get python3-pyqt5-native working to run pyrcc5 during build. +pkg_postinst_ontarget:${PN} () { + /usr/bin/pyrcc5 -o ${libexecdir}/${BPN}/res_rc.py ${libexecdir}/${BPN}/assets/res.qrc + true +} + +ALTERNATIVE_LINK_NAME[agl-demo-control-panel.ini] = "${sysconfdir}/agl-demo-control-panel/config.ini" + +RDEPENDS:${PN} += " \ + ${PN}-conf \ + python3 \ + python3-modules \ + python3-packaging \ + python3-can \ + python3-pyqt6 \ + python3-pyside6 \ + agl-users \ + weston \ +" + +PACKAGE_BEFORE_PN += "${PN}-conf" +FILES:${PN}-conf += "${sysconfdir}/agl-demo-control-panel/config.ini.default" +RDEPENDS:${PN}-conf = "${PN}" +RPROVIDES:${PN}-conf = "agl-demo-control-panel.ini" +ALTERNATIVE:${PN}-conf = "agl-demo-control-panel.ini" +ALTERNATIVE_TARGET_${PN}-conf = "${sysconfdir}/agl-demo-control-panel/config.ini.default" + +PACKAGE_BEFORE_PN += "${PN}-conf-demo" +FILES:${PN}-conf-demo += "${sysconfdir}/agl-demo-control-panel/config.ini.demo" +RDEPENDS:${PN}-conf-demo = "${PN}" +RPROVIDES:${PN}-conf-demo = "agl-demo-control-panel.ini" +ALTERNATIVE:${PN}-conf-demo = "agl-demo-control-panel.ini" +ALTERNATIVE_TARGET_${PN}-conf-demo = "${sysconfdir}/agl-demo-control-panel/config.ini.demo" +ALTERNATIVE_PRIORITY_${PN}-conf-demo = "20" + +PACKAGE_BEFORE_PN += "${PN}-conf-gateway-demo" +FILES:${PN}-conf-gateway-demo += "${sysconfdir}/agl-demo-control-panel/config.ini.gateway-demo" +RDEPENDS:${PN}-conf-gateway-demo = "${PN}" +RPROVIDES:${PN}-conf-gateway-demo = "agl-demo-control-panel.ini" +ALTERNATIVE:${PN}-conf-gateway-demo = "agl-demo-control-panel.ini" +ALTERNATIVE_TARGET_${PN}-conf-gateway-demo = "${sysconfdir}/agl-demo-control-panel/config.ini.gateway-demo" +ALTERNATIVE_PRIORITY_${PN}-conf-gateway-demo = "30" diff --git a/meta-agl-demo-control-panel/recipes-demo/agl-demo-control-panel/files/agl-demo-control-panel.service b/meta-agl-demo-control-panel/recipes-demo/agl-demo-control-panel/files/agl-demo-control-panel.service new file mode 100644 index 000000000..5780bdfa4 --- /dev/null +++ b/meta-agl-demo-control-panel/recipes-demo/agl-demo-control-panel/files/agl-demo-control-panel.service @@ -0,0 +1,16 @@ +[Unit] +Requires=weston.service +After=weston.service +Before=graphical.target + +[Service] +Type=simple +User=agl-driver +Group=agl-driver +Environment=XDG_RUNTIME_DIR=/run/user/1001/ +Environment=WAYLAND_DISPLAY=wayland-1 +ExecStart=/usr/bin/python3 /usr/libexec/agl-demo-control-panel/main.py +Restart=on-failure + +[Install] +WantedBy=graphical.target |