From 537de14d5018f9525964e7d4c64d736e9186c696 Mon Sep 17 00:00:00 2001 From: Anton Gerasimov Date: Fri, 22 Dec 2017 19:14:16 +0100 Subject: Add support of ISO/TP legacy secondaries and serial CAN --- recipes-sota/aktualizr/aktualizr-auto-prov.bb | 10 +--------- recipes-sota/aktualizr/aktualizr-hsm-test-prov.bb | 9 +-------- recipes-sota/aktualizr/aktualizr-implicit-prov.bb | 9 +-------- recipes-sota/aktualizr/aktualizr_git.bb | 20 ++++++++++++++++++-- .../aktualizr/files/aktualizr-serialcan.service | 15 +++++++++++++++ 5 files changed, 36 insertions(+), 27 deletions(-) create mode 100644 recipes-sota/aktualizr/files/aktualizr-serialcan.service (limited to 'recipes-sota') diff --git a/recipes-sota/aktualizr/aktualizr-auto-prov.bb b/recipes-sota/aktualizr/aktualizr-auto-prov.bb index c97cbb8..2190512 100644 --- a/recipes-sota/aktualizr/aktualizr-auto-prov.bb +++ b/recipes-sota/aktualizr/aktualizr-auto-prov.bb @@ -1,4 +1,4 @@ -SUMMARY = "Aktualizr systemd service and configurations" +SUMMARY = "Aktualizr configuration for autoprovisioning" DESCRIPTION = "Systemd service and configurations for autoprovisioning Aktualizr, the SOTA Client application written in C++" HOMEPAGE = "https://github.com/advancedtelematic/aktualizr" SECTION = "base" @@ -11,13 +11,8 @@ PR = "6" SRC_URI = " \ file://LICENSE \ - file://aktualizr.service \ " -SYSTEMD_SERVICE_${PN} = "aktualizr.service" - -inherit systemd - require environment.inc require credentials.inc @@ -49,12 +44,9 @@ do_install() { zip -d ${D}${localstatedir}/sota/sota_provisioning_credentials.zip treehub.json fi fi - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/aktualizr.service ${D}${systemd_unitdir}/system/aktualizr.service } FILES_${PN} = " \ - ${systemd_unitdir}/system/aktualizr.service \ ${libdir}/sota/sota.toml \ ${localstatedir}/sota \ ${localstatedir}/sota/sota_provisioning_credentials.zip \ diff --git a/recipes-sota/aktualizr/aktualizr-hsm-test-prov.bb b/recipes-sota/aktualizr/aktualizr-hsm-test-prov.bb index 8779c67..1e893fa 100644 --- a/recipes-sota/aktualizr/aktualizr-hsm-test-prov.bb +++ b/recipes-sota/aktualizr/aktualizr-hsm-test-prov.bb @@ -1,4 +1,4 @@ -SUMMARY = "Aktualizr systemd service and configuration with HSM support" +SUMMARY = "Aktualizr configuration with HSM support" DESCRIPTION = "Systemd service and configurations for Aktualizr, the SOTA Client application written in C++" HOMEPAGE = "https://github.com/advancedtelematic/aktualizr" SECTION = "base" @@ -10,28 +10,21 @@ RDEPENDS_${PN} = "aktualizr softhsm softhsm-testtoken" SRC_URI = " \ file://LICENSE \ - file://aktualizr.service \ " PV = "1.0" PR = "6" -SYSTEMD_SERVICE_${PN} = "aktualizr.service" - -inherit systemd require environment.inc require credentials.inc do_install() { - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/aktualizr.service ${D}${systemd_unitdir}/system/aktualizr.service install -d ${D}${libdir}/sota aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} --no-root-ca \ -i ${STAGING_DIR_NATIVE}${libdir}/sota/sota_hsm_test.toml -o ${D}${libdir}/sota/sota.toml -p ${D} } FILES_${PN} = " \ - ${systemd_unitdir}/system/aktualizr.service \ ${libdir}/sota/sota.toml \ " diff --git a/recipes-sota/aktualizr/aktualizr-implicit-prov.bb b/recipes-sota/aktualizr/aktualizr-implicit-prov.bb index 67bd2c2..b5bf420 100644 --- a/recipes-sota/aktualizr/aktualizr-implicit-prov.bb +++ b/recipes-sota/aktualizr/aktualizr-implicit-prov.bb @@ -1,4 +1,4 @@ -SUMMARY = "Aktualizr systemd service and configurations" +SUMMARY = "Aktualizr configuration for implicit provisioning" DESCRIPTION = "Systemd service and configurations for implicitly provisioning Aktualizr, the SOTA Client application written in C++" HOMEPAGE = "https://github.com/advancedtelematic/aktualizr" SECTION = "base" @@ -11,19 +11,13 @@ PR = "1" SRC_URI = " \ file://LICENSE \ - file://aktualizr.service \ " -SYSTEMD_SERVICE_${PN} = "aktualizr.service" - -inherit systemd require environment.inc require credentials.inc do_install() { - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/aktualizr.service ${D}${systemd_unitdir}/system/aktualizr.service install -d ${D}${libdir}/sota if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then aktualizr_implicit_writer -c ${SOTA_PACKED_CREDENTIALS} \ @@ -32,7 +26,6 @@ do_install() { } FILES_${PN} = " \ - ${systemd_unitdir}/system/aktualizr.service \ ${libdir}/sota/sota.toml \ ${libdir}/sota/root.crt \ " diff --git a/recipes-sota/aktualizr/aktualizr_git.bb b/recipes-sota/aktualizr/aktualizr_git.bb index 3aed745..d2e5477 100644 --- a/recipes-sota/aktualizr/aktualizr_git.bb +++ b/recipes-sota/aktualizr/aktualizr_git.bb @@ -11,12 +11,15 @@ DEPENDS_append_class-native = "glib-2.0-native " RDEPENDS_${PN}_class-target = "lshw " RDEPENDS_${PN}_append_class-target = "${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'hsm', ' engine-pkcs11', '', d)} " +RDEPENDS_${PN}_append_class-target = " ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'serialcan', ' slcand-start', '', d)} " PV = "1.0+git${SRCPV}" PR = "7" SRC_URI = " \ - git://github.com/advancedtelematic/aktualizr;branch=${BRANCH} \ + gitsm://github.com/advancedtelematic/aktualizr;branch=${BRANCH} \ + file://aktualizr.service \ + file://aktualizr-serialcan.service \ " SRCREV = "6bd88e1de1f0216c0b411868af3a596d9974cd0c" BRANCH ?= "master" @@ -25,6 +28,9 @@ S = "${WORKDIR}/git" inherit cmake +inherit systemd +SYSTEMD_SERVICE_${PN} = "aktualizr.service" + BBCLASSEXTEND =+ "native" EXTRA_OECMAKE = "-DWARNING_AS_ERROR=OFF -DCMAKE_BUILD_TYPE=Release -DAKTUALIZR_VERSION=${PV} " @@ -37,6 +43,11 @@ do_install_append () { do_install_append_class-target () { rm -f ${D}${bindir}/aktualizr_implicit_writer ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'secondary-example', '', 'rm -f ${D}${bindir}/example-interface', d)} + ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'secondary-isotp-example', '', 'rm -f ${D}${bindir}/isotp-test-interface', d)} + + install -d ${D}${systemd_unitdir}/system + aktualizr_service=${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'serialcan', '${WORKDIR}/aktualizr-serialcan.service', '${WORKDIR}/aktualizr.service', d)} + install -m 0644 ${aktualizr_service} ${D}${systemd_unitdir}/system/aktualizr.service } do_install_append_class-native () { rm -f ${D}${bindir}/aktualizr @@ -46,13 +57,18 @@ do_install_append_class-native () { install -m 0644 ${S}/config/sota_autoprov.toml ${D}/${libdir}/sota/sota_autoprov.toml install -m 0644 ${S}/config/sota_hsm_test.toml ${D}/${libdir}/sota/sota_hsm_test.toml install -m 0644 ${S}/config/sota_implicit_prov.toml ${D}/${libdir}/sota/sota_implicit_prov.toml + + install -m 0755 ${B}/src/sota_tools/garage-sign-prefix/src/garage-sign/bin/* ${D}${bindir} + install -m 0644 ${B}/src/sota_tools/garage-sign-prefix/src/garage-sign/lib/* ${D}${libdir} } FILES_${PN}_class-target = " \ ${bindir}/aktualizr \ ${bindir}/aktualizr-info \ + ${systemd_unitdir}/system/aktualizr.service \ " -FILES_${PN}_append_class-target = " ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'secondary-example', '${bindir}/example-interface', '', d)} " +FILES_${PN}_append_class-target = " ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'secondary-example', ' ${bindir}/example-interface', '', d)} " +FILES_${PN}_append_class-target = " ${@bb.utils.contains('SOTA_CLIENT_FEATURES', 'secondary-isotp-example', ' ${bindir}/isotp-test-interface', '', d)} " FILES_${PN}_class-native = " \ ${bindir}/aktualizr_implicit_writer \ ${bindir}/garage-deploy \ diff --git a/recipes-sota/aktualizr/files/aktualizr-serialcan.service b/recipes-sota/aktualizr/files/aktualizr-serialcan.service new file mode 100644 index 0000000..b42f348 --- /dev/null +++ b/recipes-sota/aktualizr/files/aktualizr-serialcan.service @@ -0,0 +1,15 @@ +[Unit] +Description=Aktualizr SOTA Client +Wants=network-online.target slcand@ttyACM0.service +After=network.target network-online.target slcand@ttyACM0.service + +Requires=network-online.target + +[Service] +RestartSec=10 +Restart=always +EnvironmentFile=/usr/lib/sota/sota.env +ExecStart=/bin/sh -c "(ip addr | grep can0) && /usr/bin/aktualizr $AKTUALIZR_CMDLINE_PARAMETERS" + +[Install] +WantedBy=multi-user.target -- cgit v1.2.3-54-g00ecf