summaryrefslogtreecommitdiffstats
path: root/recipes-sota
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-sota')
-rw-r--r--recipes-sota/aktualizr/aktualizr_git.bb20
-rw-r--r--recipes-sota/aktualizr/files/aktualizr.service3
-rw-r--r--recipes-sota/config/aktualizr-binary-pacman.bb21
-rw-r--r--recipes-sota/config/files/10-pacman.toml2
-rw-r--r--recipes-sota/ostree-kernel-initramfs/ostree-kernel-initramfs_0.0.1.bb61
5 files changed, 97 insertions, 10 deletions
diff --git a/recipes-sota/aktualizr/aktualizr_git.bb b/recipes-sota/aktualizr/aktualizr_git.bb
index 56a6389..d9b464f 100644
--- a/recipes-sota/aktualizr/aktualizr_git.bb
+++ b/recipes-sota/aktualizr/aktualizr_git.bb
@@ -17,7 +17,7 @@ PRIVATE_LIBS_${PN}-ptest = "libaktualizr.so libaktualizr_secondary.so"
17PV = "1.0+git${SRCPV}" 17PV = "1.0+git${SRCPV}"
18PR = "7" 18PR = "7"
19 19
20GARAGE_SIGN_PV = "0.7.1-4-gf10c1da" 20GARAGE_SIGN_PV = "0.7.1-10-ga0a099a"
21 21
22SRC_URI = " \ 22SRC_URI = " \
23 gitsm://github.com/advancedtelematic/aktualizr;branch=${BRANCH};name=aktualizr \ 23 gitsm://github.com/advancedtelematic/aktualizr;branch=${BRANCH};name=aktualizr \
@@ -29,10 +29,10 @@ SRC_URI = " \
29 ${@ d.expand("https://tuf-cli-releases.ota.here.com/cli-${GARAGE_SIGN_PV}.tgz;unpack=0;name=garagesign") if not oe.types.boolean(d.getVar('GARAGE_SIGN_AUTOVERSION')) else ''} \ 29 ${@ d.expand("https://tuf-cli-releases.ota.here.com/cli-${GARAGE_SIGN_PV}.tgz;unpack=0;name=garagesign") if not oe.types.boolean(d.getVar('GARAGE_SIGN_AUTOVERSION')) else ''} \
30 " 30 "
31 31
32SRC_URI[garagesign.md5sum] = "5f8eea81d1559d6fcb28d49c4298727c" 32SRC_URI[garagesign.md5sum] = "e2354fb75ae56c2d253be26617b2bd10"
33SRC_URI[garagesign.sha256sum] = "8b2f5bb164f19b41972069d3377e39c2eb9edffd471777161691039e12a71738" 33SRC_URI[garagesign.sha256sum] = "2ddb26b19090a42d7aeeda287ed40123ffa3ab55b5dcc4ea4c9320d0a0fd59a0"
34 34
35SRCREV = "cf44da79555d1897115eb350cbc43db1e213db03" 35SRCREV = "4169157a1874fca3fb55571c60507c1aefd4e1e5"
36BRANCH ?= "master" 36BRANCH ?= "master"
37 37
38S = "${WORKDIR}/git" 38S = "${WORKDIR}/git"
@@ -132,23 +132,25 @@ PACKAGESPLITFUNCS_prepend = "split_hosttools_packages "
132python split_hosttools_packages () { 132python split_hosttools_packages () {
133 bindir = d.getVar('bindir') 133 bindir = d.getVar('bindir')
134 134
135 # Split all binaries to their own packages except aktualizr-info, 135 # Split all binaries to their own packages.
136 # aktualizr-info should stay in main package aktualizr. 136 do_split_packages(d, bindir, '^(.*)$', '%s', 'Aktualizr tool - %s', extra_depends='aktualizr-configs', prepend=False)
137 do_split_packages(d, bindir, r'^((?!(aktualizr-info)).*)$', '%s', 'Aktualizr tool - %s', extra_depends='aktualizr-configs', prepend=False)
138} 137}
139 138
140PACKAGES_DYNAMIC = "^aktualizr-.* ^garage-.*" 139PACKAGES_DYNAMIC = "^aktualizr-.* ^garage-.*"
141 140
142PACKAGES =+ "${PN}-host-tools ${PN}-lib ${PN}-resource-control ${PN}-configs ${PN}-secondary ${PN}-secondary-lib ${PN}-sotatools-lib" 141PACKAGES =+ "${PN}-host-tools ${PN}-info ${PN}-lib ${PN}-resource-control ${PN}-configs ${PN}-secondary ${PN}-secondary-lib ${PN}-sotatools-lib"
143 142
144ALLOW_EMPTY_${PN}-host-tools = "1" 143ALLOW_EMPTY_${PN}-host-tools = "1"
145 144
146FILES_${PN} = " \ 145FILES_${PN} = " \
147 ${bindir}/aktualizr \ 146 ${bindir}/aktualizr \
148 ${bindir}/aktualizr-info \
149 ${systemd_unitdir}/system/aktualizr.service \ 147 ${systemd_unitdir}/system/aktualizr.service \
150 " 148 "
151 149
150FILES_${PN}-info = " \
151 ${bindir}/aktualizr-info \
152 "
153
152FILES_${PN}-lib = " \ 154FILES_${PN}-lib = " \
153 ${libdir}/libaktualizr.so \ 155 ${libdir}/libaktualizr.so \
154 " 156 "
diff --git a/recipes-sota/aktualizr/files/aktualizr.service b/recipes-sota/aktualizr/files/aktualizr.service
index 3d807a1..ae5d23a 100644
--- a/recipes-sota/aktualizr/files/aktualizr.service
+++ b/recipes-sota/aktualizr/files/aktualizr.service
@@ -1,6 +1,7 @@
1[Unit] 1[Unit]
2Description=Aktualizr SOTA Client 2Description=Aktualizr SOTA Client
3After=network-online.target nss-lookup.target 3After=network-online.target nss-lookup.target boot-complete.target
4Requires=boot-complete.target
4Wants=network-online.target 5Wants=network-online.target
5 6
6[Service] 7[Service]
diff --git a/recipes-sota/config/aktualizr-binary-pacman.bb b/recipes-sota/config/aktualizr-binary-pacman.bb
new file mode 100644
index 0000000..36bafb3
--- /dev/null
+++ b/recipes-sota/config/aktualizr-binary-pacman.bb
@@ -0,0 +1,21 @@
1DESCRIPTION = "Configure aktualizr with a binary package manager"
2LICENSE = "MPL-2.0"
3LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MPL-2.0;md5=815ca599c9df247a0c7f619bab123dad"
4
5inherit allarch
6
7SRC_URI = "\
8 file://10-pacman.toml \
9 "
10
11FILES_${PN} = " \
12 ${libdir}/sota/conf.d \
13 ${libdir}/sota/conf.d/10-pacman.toml \
14 "
15
16PR = "1"
17
18do_install() {
19 install -m 0700 -d ${D}${libdir}/sota/conf.d
20 install -m 0644 ${WORKDIR}/10-pacman.toml ${D}${libdir}/sota/conf.d/10-pacman.toml
21}
diff --git a/recipes-sota/config/files/10-pacman.toml b/recipes-sota/config/files/10-pacman.toml
new file mode 100644
index 0000000..a24fd39
--- /dev/null
+++ b/recipes-sota/config/files/10-pacman.toml
@@ -0,0 +1,2 @@
1[pacman]
2type = "none"
diff --git a/recipes-sota/ostree-kernel-initramfs/ostree-kernel-initramfs_0.0.1.bb b/recipes-sota/ostree-kernel-initramfs/ostree-kernel-initramfs_0.0.1.bb
new file mode 100644
index 0000000..136bb22
--- /dev/null
+++ b/recipes-sota/ostree-kernel-initramfs/ostree-kernel-initramfs_0.0.1.bb
@@ -0,0 +1,61 @@
1SUMMARY = "Ostree linux kernel, devicetrees and initramfs packager"
2DESCRIPTION = "Ostree linux kernel, devicetrees and initramfs packager"
3SECTION = "kernel"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
6
7# Whilst not a module, this ensures we don't get multilib extended (which would make no sense)
8inherit module-base kernel-artifact-names
9
10PACKAGES = "ostree-kernel ostree-initramfs ostree-devicetrees"
11
12ALLOW_EMPTY_ostree-initramfs = "1"
13ALLOW_EMPTY_ostree-devicetrees = "1"
14
15FILES_ostree-kernel = "${nonarch_base_libdir}/modules/*/vmlinuz"
16FILES_ostree-initramfs = "${nonarch_base_libdir}/modules/*/initramfs.img"
17FILES_ostree-devicetrees = "${nonarch_base_libdir}/modules/*/dtb/* \
18 ${nonarch_base_libdir}/modules/*/devicetree \
19"
20
21PACKAGE_ARCH = "${MACHINE_ARCH}"
22
23KERNEL_BUILD_ROOT = "${nonarch_base_libdir}/modules/"
24
25# There's nothing to do here, except install the artifacts where we can package them
26do_fetch[noexec] = "1"
27do_unpack[noexec] = "1"
28do_patch[noexec] = "1"
29do_configure[noexec] = "1"
30do_compile[noexec] = "1"
31deltask do_populate_sysroot
32
33do_install() {
34 kerneldir=${D}${KERNEL_BUILD_ROOT}${KERNEL_VERSION}
35 install -d $kerneldir
36
37 cp ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} $kerneldir/vmlinuz
38
39 if [ "${KERNEL_IMAGETYPE}" != "fitImage" ]; then
40 if [ -n "${INITRAMFS_IMAGE}" ]; then
41 cp ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES} $kerneldir/initramfs.img
42 fi
43
44 if [ ${@ oe.types.boolean('${OSTREE_DEPLOY_DEVICETREE}')} = True ] && [ -n "${OSTREE_DEVICETREE}" ]; then
45 mkdir -p $kerneldir/dtb
46 for dts_file in ${OSTREE_DEVICETREE}; do
47 dts_file_basename=$(basename $dts_file)
48 cp ${DEPLOY_DIR_IMAGE}/$dts_file_basename $kerneldir/dtb/$dts_file_basename
49 done
50 cp $kerneldir/dtb/$(basename $(echo ${OSTREE_DEVICETREE} | awk '{print $1}')) $kerneldir/devicetree
51 fi
52 fi
53}
54do_install[vardepsexclude] = "KERNEL_VERSION"
55INITRAMFS_IMAGE ?= ""
56do_install[depends] = "virtual/kernel:do_deploy ${@['${INITRAMFS_IMAGE}:do_image_complete', ''][d.getVar('INITRAMFS_IMAGE') == '']}"
57
58python() {
59 if not d.getVar('OSTREE_KERNEL'):
60 raise bb.parse.SkipRecipe('OSTREE_KERNEL is not defined, maybe your MACHINE config does not inherit sota.bbclass?')
61}