summaryrefslogtreecommitdiffstats
path: root/meta-agl-kuksa-val/recipes-connectivity/kuksa-val/kuksa-can-provider_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-kuksa-val/recipes-connectivity/kuksa-val/kuksa-can-provider_git.bb')
-rw-r--r--meta-agl-kuksa-val/recipes-connectivity/kuksa-val/kuksa-can-provider_git.bb84
1 files changed, 84 insertions, 0 deletions
diff --git a/meta-agl-kuksa-val/recipes-connectivity/kuksa-val/kuksa-can-provider_git.bb b/meta-agl-kuksa-val/recipes-connectivity/kuksa-val/kuksa-can-provider_git.bb
new file mode 100644
index 000000000..53b976f61
--- /dev/null
+++ b/meta-agl-kuksa-val/recipes-connectivity/kuksa-val/kuksa-can-provider_git.bb
@@ -0,0 +1,84 @@
+SUMMARY = "CAN provider for KUKSA.val, the KUKSA Vehicle Abstraction Layer"
+HOMEPAGE = "https://github.com/eclipse-kuksa"
+BUGTRACKER = "https://github.com/eclips-kuksa/kuksa-can-provider/issues"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e"
+
+DEPENDS = "python3-setuptools-git-versioning-native"
+
+PV = "0.4.3+git${SRCPV}"
+
+SRC_URI = "git://github.com/eclipse-kuksa/kuksa-can-provider.git;protocol=https;branch=main \
+ file://0001-dbc2val-add-installation-mechanism.patch \
+ file://0002-dbc2val-usability-improvements.patch \
+ file://0003-dbc2val-fix-token-file-configuration-option.patch \
+ file://0004-Enable-val2dbc-for-sensor-values.patch \
+ file://kuksa-can-provider.service \
+ file://kuksa-can-provider.default \
+ "
+SRCREV = "d5fdcfa7574ce69059b6f449629571db0982c1cf"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3 systemd update-alternatives
+
+SYSTEMD_SERVICE:${PN} = "${BPN}.service"
+
+do_install:append() {
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/kuksa-can-provider.default ${D}${sysconfdir}/default/
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/kuksa-can-provider.service ${D}${systemd_system_unitdir}
+ fi
+
+ # Install tweaked copy of the example configuration, the .ini file
+ # and the upstream demo/test files it references are packaged
+ # separately from the library and daemon to make it easy to replace
+ # them.
+ install -d ${D}${sysconfdir}/kuksa-can-provider
+ sed -e 's|^mapping =.*|mapping = /usr/share/vss/vss.json|' \
+ -e 's|^dbcfile =.*|dbcfile = /usr/share/dbc/Model3CAN.dbc|' \
+ -e 's|^candumpfile =.*|dbcfile = /usr/share/can/candump.log|' \
+ -e 's|^dbc_default_file =.*|dbc_default_file = /etc/kuksa-can-provider/dbc_default_values.json|' \
+ ${S}/config/dbc_feeder.ini > ${D}${sysconfdir}/kuksa-can-provider/config.ini
+ install -m 0644 ${S}/dbc_default_values.json ${D}${sysconfdir}/kuksa-can-provider/
+ install -d ${D}${datadir}/dbc
+ install -m 0644 ${S}/Model3CAN.dbc ${D}${datadir}/dbc/
+ install -d ${D}${datadir}/can
+ install -m 0644 ${S}/candump.log ${D}${datadir}/can/
+}
+
+ALTERNATIVE_LINK_NAME[kuksa-can-provider.env] = "${sysconfdir}/default/kuksa-can-provider"
+
+FILES:${PN} += "${systemd_system_unitdir}"
+
+# NOTE:
+# Since the environment file is used by the systemd unit, it is packaged
+# with the it in the main package, and the alternative scheme is set up
+# against that. Replacement configuration packages can still configure
+# the alternative as required.
+ALTERNATIVE_TARGET_${PN} = "${sysconfdir}/default/kuksa-can-provider.default"
+
+PACKAGE_BEFORE_PN += "${PN}-conf-example"
+
+FILES:${PN}-conf-example += " \
+ ${sysconfdir}/kuksa-can-provider/config.ini \
+ ${sysconfdir}/kuksa-can-provider/dbc_default_values.json \
+ ${datadir}/dbc/Model3CAN.dbc \
+ ${datadir}/can/candump.log \
+"
+RPROVIDES:${PN}-conf-example = "kuksa-can-provider-conf"
+
+RDEPENDS:${PN} += " \
+ bash \
+ python3-pyserial \
+ python3-cantools \
+ python3-can \
+ python3-can-j1939 \
+ python3-pyyaml \
+ python3-py-expression-eval \
+ kuksa-client \
+ kuksa-can-provider-conf \
+"