From 378948421307181e8c844bbb0f2cf08556abe474 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Thu, 4 Feb 2021 10:22:10 -0500 Subject: meta-agl-bsp: Add reference hardware GPS support Add recipe for gpsd configuration for the reference hardware, which also installs a script plus systemd unit drop-in to handle enabling and disabling it. The latter is required due to the reference hardware's reuse of the h3ulcb image, which means the existing PREFERRED_PROVIDER_virtual/gpsd-conf scheme is not sufficient in this case. Bug-AGL: SPEC-3792 Signed-off-by: Scott Murray Change-Id: Ifaf3b93d06825f7c5c6a8ce2773d93931e47178c Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25994 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller (cherry picked from commit da9aad9b0bda135578d017fa68c0db751e82b2e4) Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26064 --- .../recipes-navigation/gpsd/gpsd-conf-refhw_1.0.bb | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-conf-refhw_1.0.bb (limited to 'meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-conf-refhw_1.0.bb') diff --git a/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-conf-refhw_1.0.bb b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-conf-refhw_1.0.bb new file mode 100644 index 000000000..c87308eb7 --- /dev/null +++ b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-conf-refhw_1.0.bb @@ -0,0 +1,39 @@ +SUMMARY = "AGL Reference Hardware specific gpsd configuration" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +COMPATIBLE_MACHINE = "agl-refhw-h3" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +SRC_URI = "file://gpsd.refhw \ + file://refhw-gpsd-helper.sh \ + file://refhw.conf \ +" + +inherit update-alternatives + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + install -D -m 0644 ${WORKDIR}/gpsd.refhw ${D}/${sysconfdir}/default/gpsd.refhw + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -D -m 0755 ${WORKDIR}/refhw-gpsd-helper.sh ${D}/${sbindir}/refhw-gpsd-helper.sh + install -d ${D}${sysconfdir}/systemd/system/gpsd.service.d + install -D -m 0644 ${WORKDIR}/refhw.conf ${D}${sysconfdir}/systemd/system/gpsd.service.d/refhw.conf + fi +} + +ALTERNATIVE_${PN} = "gpsd-defaults" +ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd" +ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.refhw" +# NOTE: Priority needs to be below default of 10 to avoid overriding the +# default configuration. The script run by the systemd drop-in +# will tweak things on boot to handle h3ulcb vs refhw. +ALTERNATIVE_PRIORITY[gpsd-defaults] = "5" + +CONFFILES_${PN} = "${sysconfdir}/default/gpsd.refhw" + +# NOTE: Explicitly not defining RPROVIDES of "virtual/gpsd-conf" to +# avoid conflicting with the default configuration and potentially +# changing behavior on m3ulcb/h3ulcb. -- cgit 1.2.3-korg