diff options
| -rw-r--r-- | classes/image_types_ota.bbclass | 2 | ||||
| -rw-r--r-- | recipes-sota/aktualizr/aktualizr_git.bb | 32 | ||||
| -rw-r--r-- | recipes-sota/aktualizr/files/aktualizr-manual-provision.service | 13 |
3 files changed, 38 insertions, 9 deletions
diff --git a/classes/image_types_ota.bbclass b/classes/image_types_ota.bbclass index cb71899..306a3c0 100644 --- a/classes/image_types_ota.bbclass +++ b/classes/image_types_ota.bbclass | |||
| @@ -99,6 +99,8 @@ IMAGE_CMD_otaimg () { | |||
| 99 | tar --xattrs --xattrs-include='*' -C ${HOME_TMP} -xf ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.rootfs.ostree.tar.bz2 ./usr/homedirs ./var/sota || true | 99 | tar --xattrs --xattrs-include='*' -C ${HOME_TMP} -xf ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.rootfs.ostree.tar.bz2 ./usr/homedirs ./var/sota || true |
| 100 | mv ${HOME_TMP}/var/sota ${PHYS_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/ || true | 100 | mv ${HOME_TMP}/var/sota ${PHYS_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/ || true |
| 101 | mv ${HOME_TMP}/usr/homedirs/home ${PHYS_SYSROOT}/ || true | 101 | mv ${HOME_TMP}/usr/homedirs/home ${PHYS_SYSROOT}/ || true |
| 102 | # Ensure that /var/local exists (AGL symlinks /usr/local to /var/local) | ||
| 103 | install -d ${PHYS_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/local | ||
| 102 | rm -rf ${HOME_TMP} | 104 | rm -rf ${HOME_TMP} |
| 103 | 105 | ||
| 104 | # Calculate image type | 106 | # Calculate image type |
diff --git a/recipes-sota/aktualizr/aktualizr_git.bb b/recipes-sota/aktualizr/aktualizr_git.bb index e8a1a5e..fa71af8 100644 --- a/recipes-sota/aktualizr/aktualizr_git.bb +++ b/recipes-sota/aktualizr/aktualizr_git.bb | |||
| @@ -2,24 +2,38 @@ SUMMARY = "Aktualizr SOTA Client" | |||
| 2 | DESCRIPTION = "SOTA Client application written in C++" | 2 | DESCRIPTION = "SOTA Client application written in C++" |
| 3 | HOMEPAGE = "https://github.com/advancedtelematic/aktualizr" | 3 | HOMEPAGE = "https://github.com/advancedtelematic/aktualizr" |
| 4 | SECTION = "base" | 4 | SECTION = "base" |
| 5 | |||
| 6 | LICENSE = "MPL-2.0" | 5 | LICENSE = "MPL-2.0" |
| 7 | LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=9741c346eef56131163e13b9db1241b3" | 6 | LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=9741c346eef56131163e13b9db1241b3" |
| 7 | DEPENDS = "boost curl openssl jansson libsodium ostree" | ||
| 8 | SRCREV = "4e9344ae375a444f02b964dca52fe808010d17df" | ||
| 9 | PV = "1.0+git${SRCPV}" | ||
| 8 | 10 | ||
| 9 | inherit cmake systemd | 11 | SRC_URI = " \ |
| 12 | git://github.com/advancedtelematic/aktualizr \ | ||
| 13 | file://aktualizr-manual-provision.service \ | ||
| 14 | " | ||
| 10 | 15 | ||
| 11 | S = "${WORKDIR}/git" | 16 | S = "${WORKDIR}/git" |
| 12 | PV = "1.0+git${SRCPV}" | 17 | SYSTEMD_SERVICE_${PN} = "aktualizr.service" |
| 13 | 18 | ||
| 14 | SRCREV = "4e9344ae375a444f02b964dca52fe808010d17df" | 19 | inherit cmake systemd |
| 15 | 20 | ||
| 16 | SRC_URI = "git://github.com/advancedtelematic/aktualizr" | 21 | EXTRA_OECMAKE = "-DWARNING_AS_ERROR=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF -DBUILD_OSTREE=ON" |
| 17 | 22 | ||
| 18 | DEPENDS = "boost curl openssl jansson libsodium ostree" | 23 | export SOTA_AUTOPROVISION_CREDENTIALS |
| 19 | RDEPENDS = "" | ||
| 20 | 24 | ||
| 21 | EXTRA_OECMAKE = "-DWARNING_AS_ERROR=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF -DBUILD_OSTREE=ON" | 25 | do_install_append() { |
| 26 | if [ -n "$SOTA_AUTOPROVISION_CREDENTIALS" ]; then | ||
| 27 | bbwarn "Aktualizr recipe currently lacks support for SOTA_AUTOPROVISION_CREDENTIALS. No systemd service will be created" | ||
| 28 | else | ||
| 29 | install -d ${D}/${systemd_unitdir}/system | ||
| 30 | install -m 0644 ${WORKDIR}/aktualizr-manual-provision.service ${D}/${systemd_unitdir}/system/aktualizr.service | ||
| 31 | fi | ||
| 32 | } | ||
| 33 | |||
| 34 | RDEPENDS = "" | ||
| 22 | 35 | ||
| 23 | FILES_${PN} = " \ | 36 | FILES_${PN} = " \ |
| 24 | ${bindir}/aktualizr \ | 37 | ${bindir}/aktualizr \ |
| 25 | " | 38 | ${systemd_unitdir}/system/aktualizr.service \ |
| 39 | " | ||
diff --git a/recipes-sota/aktualizr/files/aktualizr-manual-provision.service b/recipes-sota/aktualizr/files/aktualizr-manual-provision.service new file mode 100644 index 0000000..a70f2f9 --- /dev/null +++ b/recipes-sota/aktualizr/files/aktualizr-manual-provision.service | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | [Unit] | ||
| 2 | Description=Aktualizr SOTA Client | ||
| 3 | Wants=network-online.target | ||
| 4 | After=network.target network-online.target | ||
| 5 | Requires=network-online.target | ||
| 6 | |||
| 7 | [Service] | ||
| 8 | RestartSec=10 | ||
| 9 | Restart=always | ||
| 10 | ExecStart=/usr/bin/aktualizr --config /sysroot/boot/sota.toml --loglevel 2 | ||
| 11 | |||
| 12 | [Install] | ||
| 13 | WantedBy=multi-user.target | ||
