diff options
author | Scott Murray <scott.murray@konsulko.com> | 2022-05-25 18:44:05 -0400 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2022-07-04 16:40:29 -0400 |
commit | 785dae680241b989b92725a57255b1df77486d4a (patch) | |
tree | 27e8c39de5da54572d02e1b5335c387f4486075a /recipes-connectivity/kuksa-val/kuksa-val_git.bb | |
parent | e8f2aecd6e6f9ee388d7c601896ad7b3d1ca87ce (diff) |
kuksa-val: add recipe
Add a kuksa-val recipe to build the current post-0.2.1 release HEAD
of the Eclipse KUKSA.val Vehicle Information Service (VIS) server,
and add it to the agl-demo-platform image by adding it to
packagegroup-agl-ivi-services. Several local patches are applied to
enable building with OpenEmbedded and make installation into standard
Linux FHS locations feasible. These will be discussed with upstream
to hopefully get them integrated.
Additionally, meta-networking has been added as a layer dependency
in the agl-demo feature template. This is required due to kuksa-val
currently having mosquitto as a non-optional dependency.
Bug-AGL: SPEC-4405
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I1a2d9e9b49d5c8ad11821b89288d2dc9895d15ae
Diffstat (limited to 'recipes-connectivity/kuksa-val/kuksa-val_git.bb')
-rw-r--r-- | recipes-connectivity/kuksa-val/kuksa-val_git.bb | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/recipes-connectivity/kuksa-val/kuksa-val_git.bb b/recipes-connectivity/kuksa-val/kuksa-val_git.bb new file mode 100644 index 000000000..033e81e09 --- /dev/null +++ b/recipes-connectivity/kuksa-val/kuksa-val_git.bb @@ -0,0 +1,62 @@ +SUMMARY = "KUKSA.val, the KUKSA Vehicle Abstraction Layer" +DESCRIPTION = "KUKSA.val provides a COVESA VSS data model describing data in a vehicle." +HOMEPAGE = "https://github.com/eclipse/kuksa.val" +BUGTRACKER = "https://github.com/eclipse/kuksa.val/issues" + +LICENSE = "EPL-2.0 & BSL-1.0 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d9fc0efef5228704e7f5b37f27192723 \ + file://3rd-party-libs/jsoncons/LICENSE;md5=6ee7f7ed2001e4cde4679fdb8926f820 \ + file://3rd-party-libs/turtle/LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c \ + file://3rd-party-libs/jwt-cpp/LICENSE;md5=8325a5ce4414c65ffdda392e0d96a9ff" + +DEPENDS = "boost openssl mosquitto protobuf-native grpc-native grpc" + +require kuksa-val.inc + +SRC_URI += "file://kuksa-val.service \ + file://0001-Make-Boost-requirements-more-liberal.patch \ + file://0002-Fix-gRPC-configuration-for-OE-cross-compiling.patch \ + file://0003-Make-install-locations-configurable.patch \ + file://0004-Disable-default-fetch-and-build-of-googletest.patch \ +" + +inherit cmake pkgconfig systemd useradd + +SYSTEMD_SERVICE:${PN} = "kuksa-val.service" + +USERADD_PACKAGES = "${PN}" +USERADDEXTENSION = "useradd-staticids" +GROUPADD_PARAM:${PN} = "-g 900 kuksa ;" +USERADD_PARAM:${PN} = "--system -g 900 -u 900 -o -d / --shell /bin/nologin kuksa ;" + +# Configure file locations more along the lines of FHS instead of kuksa.val's +# default locations. +EXTRA_OECMAKE = " \ + -DKUKSA_INSTALL_BINDIR=${bindir} \ + -DKUKSA_INSTALL_CERTDIR=${sysconfdir}/kuksa-val \ + -DKUKSA_INSTALL_DATADIR=${datadir}/kuksa-val \ + -DKUKSA_INSTALL_CONFIGDIR=${sysconfdir}/kuksa-val \ +" + +do_install:append() { + # Lower the logging level used in the installed config.ini from the upstream + # default of "ALL", which seems to cause performance issues at the moment. + sed -i 's/^log-level = .*/log-level = WARNING/' ${D}/${sysconfdir}/kuksa-val/config.ini + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/kuksa-val.service ${D}${systemd_system_unitdir} + fi + + # Restrict server certificate access + # NOTE: The client certificates are left alone here for client + # development convenience for now, but this will need to + # be revisited. + chmod 640 ${D}${sysconfdir}/kuksa-val/Server.key + chgrp 900 ${D}${sysconfdir}/kuksa-val/Server.key + chmod 640 ${D}${sysconfdir}/kuksa-val/Server.pem + chgrp 900 ${D}${sysconfdir}/kuksa-val/Server.pem +} + +FILES:${PN} += "${systemd_system_unitdir} ${datadir}" + |