summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Vacek <patrickvacek@gmail.com>2020-07-14 09:41:57 +0200
committerGitHub <noreply@github.com>2020-07-14 09:41:57 +0200
commit2594d57b85e22ce657d9259405746bd834c57983 (patch)
treea72c55681fe5dae49c5b629060511c926dbd6fe4
parente1b20284366f91e0b55c25f3221dc19ea6b47824 (diff)
parent77d08b76a28b4f0eb2dd6bf940631f52e07aa7df (diff)
downloadmeta-updater-2594d57b85e22ce657d9259405746bd834c57983.tar.gz
Merge pull request #752 from advancedtelematic/feat/thud/2020.8
Feat/thud/2020.8
-rw-r--r--classes/image_types_ostree.bbclass23
-rw-r--r--classes/image_types_ota.bbclass2
-rw-r--r--classes/sota.bbclass9
-rw-r--r--classes/sota_m3ulcb.bbclass4
-rw-r--r--classes/sota_minnowboard.bbclass4
-rw-r--r--classes/sota_porter.bbclass4
-rw-r--r--classes/sota_qemux86-64.bbclass2
-rw-r--r--classes/sota_raspberrypi.bbclass2
-rw-r--r--conf/distro/poky-sota-systemd.conf2
-rw-r--r--conf/local.conf.nonostree.append2
-rw-r--r--lib/oeqa/selftest/cases/updater_qemux86_64.py5
-rw-r--r--recipes-connectivity/connman/connman_%.bbappend2
-rw-r--r--recipes-connectivity/networkd-dhcp-conf/networkd-dhcp-conf.bb2
-rw-r--r--recipes-core/images/initramfs-ostree-image.bb2
-rw-r--r--recipes-sota/aktualizr/aktualizr_git.bb20
-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
-rw-r--r--recipes-test/images/primary-image.bb2
-rw-r--r--recipes-test/images/secondary-image.bb2
20 files changed, 120 insertions, 53 deletions
diff --git a/classes/image_types_ostree.bbclass b/classes/image_types_ostree.bbclass
index 3b86b35..392a42a 100644
--- a/classes/image_types_ostree.bbclass
+++ b/classes/image_types_ostree.bbclass
@@ -1,13 +1,11 @@
1# OSTree deployment 1# OSTree deployment
2inherit distro_features_check 2inherit distro_features_check
3 3
4OSTREE_KERNEL ??= "${KERNEL_IMAGETYPE}"
5OSTREE_ROOTFS ??= "${WORKDIR}/ostree-rootfs" 4OSTREE_ROOTFS ??= "${WORKDIR}/ostree-rootfs"
6OSTREE_COMMIT_SUBJECT ??= "Commit-id: ${IMAGE_NAME}" 5OSTREE_COMMIT_SUBJECT ??= "Commit-id: ${IMAGE_NAME}"
7OSTREE_COMMIT_BODY ??= "" 6OSTREE_COMMIT_BODY ??= ""
8OSTREE_COMMIT_VERSION ??= "${DISTRO_VERSION}" 7OSTREE_COMMIT_VERSION ??= "${DISTRO_VERSION}"
9OSTREE_UPDATE_SUMMARY ??= "0" 8OSTREE_UPDATE_SUMMARY ??= "0"
10OSTREE_DEPLOY_DEVICETREE ??= "0"
11 9
12BUILD_OSTREE_TARBALL ??= "1" 10BUILD_OSTREE_TARBALL ??= "1"
13 11
@@ -135,27 +133,6 @@ IMAGE_CMD_ostree () {
135 133
136 ln -sf ../var/usrlocal usr/local 134 ln -sf ../var/usrlocal usr/local
137 135
138 if [ "${KERNEL_IMAGETYPE}" = "fitImage" ]; then
139 # this is a hack for ostree not to override init= in kernel cmdline -
140 # make it think that the initramfs is present (while it is in FIT image)
141 # since initramfs is fake file, it does not need to be included in checksum
142 checksum=$(sha256sum ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} | cut -f 1 -d " ")
143 touch boot/initramfs-${checksum}
144 else
145 if [ ${@ oe.types.boolean('${OSTREE_DEPLOY_DEVICETREE}')} = True ] && [ -n "${KERNEL_DEVICETREE}" ]; then
146 checksum=$(cat ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES} ${KERNEL_DEVICETREE} | sha256sum | cut -f 1 -d " ")
147 for DTS_FILE in ${KERNEL_DEVICETREE}; do
148 DTS_FILE_BASENAME=$(basename ${DTS_FILE})
149 cp ${DEPLOY_DIR_IMAGE}/${DTS_FILE_BASENAME} boot/devicetree-${DTS_FILE_BASENAME}-${checksum}
150 done
151 else
152 checksum=$(cat ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES} | sha256sum | cut -f 1 -d " ")
153 fi
154 cp ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES} boot/initramfs-${checksum}
155 fi
156
157 cp ${DEPLOY_DIR_IMAGE}/${OSTREE_KERNEL} boot/vmlinuz-${checksum}
158
159 # Copy image manifest 136 # Copy image manifest
160 cat ${IMAGE_MANIFEST} | cut -d " " -f1,3 > usr/package.manifest 137 cat ${IMAGE_MANIFEST} | cut -d " " -f1,3 > usr/package.manifest
161} 138}
diff --git a/classes/image_types_ota.bbclass b/classes/image_types_ota.bbclass
index ad067da..1209cff 100644
--- a/classes/image_types_ota.bbclass
+++ b/classes/image_types_ota.bbclass
@@ -125,4 +125,4 @@ IMAGE_CMD_ota-ext4 () {
125 mkfs.ext4 -O ^64bit ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ota-ext4 -L otaroot -d ${OTA_SYSROOT} 125 mkfs.ext4 -O ^64bit ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ota-ext4 -L otaroot -d ${OTA_SYSROOT}
126} 126}
127 127
128do_image_wic[depends] += "${@bb.utils.contains('DISTRO_FEATURES', 'sota', '%s:do_image_ota_ext4' % d.getVar('IMAGE_BASENAME'), '', d)}" 128do_image_wic[depends] += "${@bb.utils.contains('DISTRO_FEATURES', 'sota', '%s:do_image_ota_ext4' % d.getVar('PN'), '', d)}"
diff --git a/classes/sota.bbclass b/classes/sota.bbclass
index c248cfc..fbd92b5 100644
--- a/classes/sota.bbclass
+++ b/classes/sota.bbclass
@@ -1,12 +1,14 @@
1DISTROOVERRIDES .= "${@bb.utils.contains('DISTRO_FEATURES', 'sota', ':sota', '', d)}" 1DISTROOVERRIDES .= "${@bb.utils.contains('DISTRO_FEATURES', 'sota', ':sota', '', d)}"
2 2
3SOTA_CLIENT ??= "aktualizr"
4SOTA_CLIENT_PROV ??= "aktualizr-shared-prov" 3SOTA_CLIENT_PROV ??= "aktualizr-shared-prov"
5SOTA_DEPLOY_CREDENTIALS ?= "1" 4SOTA_DEPLOY_CREDENTIALS ?= "1"
6SOTA_HARDWARE_ID ??= "${MACHINE}" 5SOTA_HARDWARE_ID ??= "${MACHINE}"
7 6
8IMAGE_INSTALL_append_sota = " ostree os-release ${SOTA_CLIENT} ${SOTA_CLIENT_PROV}"
9IMAGE_CLASSES += " image_types_ostree image_types_ota image_repo_manifest" 7IMAGE_CLASSES += " image_types_ostree image_types_ota image_repo_manifest"
8IMAGE_INSTALL_append_sota = " aktualizr aktualizr-info ${SOTA_CLIENT_PROV} \
9 ostree os-release ostree-kernel \
10 ${@'ostree-initramfs' if d.getVar('KERNEL_IMAGETYPE') != 'fitImage' else ''} \
11 ${@'ostree-devicetrees' if oe.types.boolean('${OSTREE_DEPLOY_DEVICETREE}') else ''}"
10 12
11IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'sota', 'ostreepush garagesign garagecheck ota-ext4 wic', ' ', d)}" 13IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'sota', 'ostreepush garagesign garagecheck ota-ext4 wic', ' ', d)}"
12IMAGE_FSTYPES += "${@bb.utils.contains('BUILD_OSTREE_TARBALL', '1', 'ostree.tar.bz2', ' ', d)}" 14IMAGE_FSTYPES += "${@bb.utils.contains('BUILD_OSTREE_TARBALL', '1', 'ostree.tar.bz2', ' ', d)}"
@@ -27,6 +29,9 @@ OSTREE_BRANCHNAME ?= "${SOTA_HARDWARE_ID}"
27OSTREE_OSNAME ?= "poky" 29OSTREE_OSNAME ?= "poky"
28OSTREE_BOOTLOADER ??= 'u-boot' 30OSTREE_BOOTLOADER ??= 'u-boot'
29OSTREE_BOOT_PARTITION ??= "/boot" 31OSTREE_BOOT_PARTITION ??= "/boot"
32OSTREE_KERNEL ??= "${KERNEL_IMAGETYPE}"
33OSTREE_DEPLOY_DEVICETREE ??= "0"
34OSTREE_DEVICETREE ??= "${KERNEL_DEVICETREE}"
30 35
31INITRAMFS_IMAGE ?= "initramfs-ostree-image" 36INITRAMFS_IMAGE ?= "initramfs-ostree-image"
32 37
diff --git a/classes/sota_m3ulcb.bbclass b/classes/sota_m3ulcb.bbclass
index e7fa9c2..7ea273d 100644
--- a/classes/sota_m3ulcb.bbclass
+++ b/classes/sota_m3ulcb.bbclass
@@ -8,5 +8,5 @@ OSTREE_BOOTLOADER ?= "u-boot"
8 8
9UBOOT_MACHINE_sota = "${@d.getVar('SOC_FAMILY').split(':')[1]}_ulcb_defconfig" 9UBOOT_MACHINE_sota = "${@d.getVar('SOC_FAMILY').split(':')[1]}_ulcb_defconfig"
10 10
11PREFERRED_RPROVIDER_virtual/network-configuration ?= "connman" 11PREFERRED_RPROVIDER_network-configuration ?= "connman"
12IMAGE_INSTALL_append_sota = " virtual/network-configuration " 12IMAGE_INSTALL_append_sota = " network-configuration "
diff --git a/classes/sota_minnowboard.bbclass b/classes/sota_minnowboard.bbclass
index a907217..3128965 100644
--- a/classes/sota_minnowboard.bbclass
+++ b/classes/sota_minnowboard.bbclass
@@ -8,5 +8,5 @@ IMAGE_FSTYPES_remove_sota = "live hddimg"
8OSTREE_KERNEL_ARGS ?= "ramdisk_size=16384 rw rootfstype=ext4 rootwait rootdelay=2 console=ttyS0,115200 console=tty0" 8OSTREE_KERNEL_ARGS ?= "ramdisk_size=16384 rw rootfstype=ext4 rootwait rootdelay=2 console=ttyS0,115200 console=tty0"
9IMAGE_INSTALL_append = " minnowboard-efi-startup" 9IMAGE_INSTALL_append = " minnowboard-efi-startup"
10 10
11PREFERRED_RPROVIDER_virtual/network-configuration ?= "connman" 11PREFERRED_RPROVIDER_network-configuration ?= "connman"
12IMAGE_INSTALL_append_sota = " virtual/network-configuration " 12IMAGE_INSTALL_append_sota = " network-configuration "
diff --git a/classes/sota_porter.bbclass b/classes/sota_porter.bbclass
index 80062e1..6c6fe70 100644
--- a/classes/sota_porter.bbclass
+++ b/classes/sota_porter.bbclass
@@ -7,5 +7,5 @@ IMAGE_BOOT_FILES_sota += "porter-bootfiles/*"
7OSTREE_BOOTLOADER ?= "u-boot" 7OSTREE_BOOTLOADER ?= "u-boot"
8UBOOT_MACHINE_sota = "porter_config" 8UBOOT_MACHINE_sota = "porter_config"
9 9
10PREFERRED_RPROVIDER_virtual/network-configuration ?= "connman" 10PREFERRED_RPROVIDER_network-configuration ?= "connman"
11IMAGE_INSTALL_append_sota = " virtual/network-configuration " 11IMAGE_INSTALL_append_sota = " network-configuration "
diff --git a/classes/sota_qemux86-64.bbclass b/classes/sota_qemux86-64.bbclass
index fc4aa7c..3dc2428 100644
--- a/classes/sota_qemux86-64.bbclass
+++ b/classes/sota_qemux86-64.bbclass
@@ -13,4 +13,4 @@ IMAGE_ROOTFS_EXTRA_SPACE = "${@bb.utils.contains('DISTRO_FEATURES', 'sota', '655
13# fix for u-boot/swig build issue 13# fix for u-boot/swig build issue
14HOSTTOOLS_NONFATAL += "x86_64-linux-gnu-gcc" 14HOSTTOOLS_NONFATAL += "x86_64-linux-gnu-gcc"
15 15
16IMAGE_INSTALL_append_sota = " virtual/network-configuration " 16IMAGE_INSTALL_append_sota = " network-configuration "
diff --git a/classes/sota_raspberrypi.bbclass b/classes/sota_raspberrypi.bbclass
index c901a70..cd623e2 100644
--- a/classes/sota_raspberrypi.bbclass
+++ b/classes/sota_raspberrypi.bbclass
@@ -13,7 +13,7 @@ UBOOT_DTBO_LOADADDRESS = "0x06000000"
13IMAGE_INSTALL_append = " fit-conf" 13IMAGE_INSTALL_append = " fit-conf"
14 14
15DEV_MATCH_DIRECTIVE_pn-networkd-dhcp-conf = "Driver=smsc95xx lan78xx" 15DEV_MATCH_DIRECTIVE_pn-networkd-dhcp-conf = "Driver=smsc95xx lan78xx"
16IMAGE_INSTALL_append_sota = " virtual/network-configuration " 16IMAGE_INSTALL_append_sota = " network-configuration "
17 17
18PREFERRED_PROVIDER_virtual/bootloader_sota ?= "u-boot" 18PREFERRED_PROVIDER_virtual/bootloader_sota ?= "u-boot"
19UBOOT_ENTRYPOINT_sota ?= "0x00080000" 19UBOOT_ENTRYPOINT_sota ?= "0x00080000"
diff --git a/conf/distro/poky-sota-systemd.conf b/conf/distro/poky-sota-systemd.conf
index 0dc50b0..4b7990f 100644
--- a/conf/distro/poky-sota-systemd.conf
+++ b/conf/distro/poky-sota-systemd.conf
@@ -9,4 +9,4 @@ DISTRO_CODENAME = "sota"
9 9
10DISTRO_FEATURES_append = " systemd" 10DISTRO_FEATURES_append = " systemd"
11VIRTUAL-RUNTIME_init_manager = "systemd" 11VIRTUAL-RUNTIME_init_manager = "systemd"
12PREFERRED_RPROVIDER_virtual/network-configuration ??= "networkd-dhcp-conf" 12PREFERRED_RPROVIDER_network-configuration ??= "networkd-dhcp-conf"
diff --git a/conf/local.conf.nonostree.append b/conf/local.conf.nonostree.append
index 0e63e98..ee56b69 100644
--- a/conf/local.conf.nonostree.append
+++ b/conf/local.conf.nonostree.append
@@ -2,7 +2,7 @@
2DISTRO_FEATURES_append = " systemd" 2DISTRO_FEATURES_append = " systemd"
3VIRTUAL-RUNTIME_init_manager = "systemd" 3VIRTUAL-RUNTIME_init_manager = "systemd"
4 4
5PREFERRED_RPROVIDER_virtual/network-configuration ??= "networkd-dhcp-conf" 5PREFERRED_RPROVIDER_network-configuration ??= "networkd-dhcp-conf"
6 6
7SOTA_DEPLOY_CREDENTIALS ?= "1" 7SOTA_DEPLOY_CREDENTIALS ?= "1"
8PACKAGECONFIG_pn-aktualizr = "" 8PACKAGECONFIG_pn-aktualizr = ""
diff --git a/lib/oeqa/selftest/cases/updater_qemux86_64.py b/lib/oeqa/selftest/cases/updater_qemux86_64.py
index 08220f4..c7d0448 100644
--- a/lib/oeqa/selftest/cases/updater_qemux86_64.py
+++ b/lib/oeqa/selftest/cases/updater_qemux86_64.py
@@ -130,11 +130,10 @@ class SharedCredProvTestsNonOSTree(SharedCredProvTests):
130 self.append_config('DISTRO = "poky"') 130 self.append_config('DISTRO = "poky"')
131 self.append_config('DISTRO_FEATURES_append = " systemd"') 131 self.append_config('DISTRO_FEATURES_append = " systemd"')
132 self.append_config('VIRTUAL-RUNTIME_init_manager = "systemd"') 132 self.append_config('VIRTUAL-RUNTIME_init_manager = "systemd"')
133 self.append_config('PREFERRED_RPROVIDER_virtual/network-configuration ??= "networkd-dhcp-conf"') 133 self.append_config('PREFERRED_RPROVIDER_network-configuration ??= "networkd-dhcp-conf"')
134 self.append_config('PACKAGECONFIG_pn-aktualizr = ""') 134 self.append_config('PACKAGECONFIG_pn-aktualizr = ""')
135 self.append_config('SOTA_DEPLOY_CREDENTIALS = "1"') 135 self.append_config('SOTA_DEPLOY_CREDENTIALS = "1"')
136 self.append_config('IMAGE_INSTALL_append += "aktualizr"') 136 self.append_config('IMAGE_INSTALL_append += "aktualizr aktualizr-info aktualizr-shared-prov"')
137 self.append_config('IMAGE_INSTALL_append += " aktualizr-shared-prov"')
138 self.qemu, self.s = qemu_launch(machine='qemux86-64', uboot_enable='no') 137 self.qemu, self.s = qemu_launch(machine='qemux86-64', uboot_enable='no')
139 138
140 139
diff --git a/recipes-connectivity/connman/connman_%.bbappend b/recipes-connectivity/connman/connman_%.bbappend
index b3633cc..cd1b95d 100644
--- a/recipes-connectivity/connman/connman_%.bbappend
+++ b/recipes-connectivity/connman/connman_%.bbappend
@@ -1 +1 @@
RPROVIDES_${PN} += "virtual/network-configuration" RPROVIDES_${PN} += "network-configuration"
diff --git a/recipes-connectivity/networkd-dhcp-conf/networkd-dhcp-conf.bb b/recipes-connectivity/networkd-dhcp-conf/networkd-dhcp-conf.bb
index 40a3958..20a1a17 100644
--- a/recipes-connectivity/networkd-dhcp-conf/networkd-dhcp-conf.bb
+++ b/recipes-connectivity/networkd-dhcp-conf/networkd-dhcp-conf.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MPL-2.0;md5=815ca599c9df247a0c7
6 6
7inherit systemd 7inherit systemd
8 8
9RPROVIDES_${PN} = "virtual/network-configuration" 9RPROVIDES_${PN} = "network-configuration"
10 10
11SRC_URI = " \ 11SRC_URI = " \
12 file://20-wired-dhcp.network \ 12 file://20-wired-dhcp.network \
diff --git a/recipes-core/images/initramfs-ostree-image.bb b/recipes-core/images/initramfs-ostree-image.bb
index bc21ed3..4af1548 100644
--- a/recipes-core/images/initramfs-ostree-image.bb
+++ b/recipes-core/images/initramfs-ostree-image.bb
@@ -20,7 +20,7 @@ IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
20# Avoid circular dependencies 20# Avoid circular dependencies
21EXTRA_IMAGEDEPENDS = "" 21EXTRA_IMAGEDEPENDS = ""
22 22
23inherit core-image 23inherit core-image nopackages
24 24
25IMAGE_ROOTFS_SIZE = "8192" 25IMAGE_ROOTFS_SIZE = "8192"
26 26
diff --git a/recipes-sota/aktualizr/aktualizr_git.bb b/recipes-sota/aktualizr/aktualizr_git.bb
index 7a77759..6118c10 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/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}
diff --git a/recipes-test/images/primary-image.bb b/recipes-test/images/primary-image.bb
index ba1dc1f..e6896ea 100644
--- a/recipes-test/images/primary-image.bb
+++ b/recipes-test/images/primary-image.bb
@@ -5,7 +5,7 @@ SUMMARY = "A minimal Uptane Primary image running aktualizr, for testing with a
5LICENSE = "MPL-2.0" 5LICENSE = "MPL-2.0"
6 6
7IMAGE_INSTALL_remove = " \ 7IMAGE_INSTALL_remove = " \
8 virtual/network-configuration \ 8 network-configuration \
9 " 9 "
10 10
11IMAGE_INSTALL_append = " \ 11IMAGE_INSTALL_append = " \
diff --git a/recipes-test/images/secondary-image.bb b/recipes-test/images/secondary-image.bb
index 7db2c68..22fb7f3 100644
--- a/recipes-test/images/secondary-image.bb
+++ b/recipes-test/images/secondary-image.bb
@@ -16,7 +16,7 @@ IMAGE_INSTALL_remove = " \
16 aktualizr-device-prov \ 16 aktualizr-device-prov \
17 aktualizr-device-prov-hsm \ 17 aktualizr-device-prov-hsm \
18 aktualizr-uboot-env-rollback \ 18 aktualizr-uboot-env-rollback \
19 virtual/network-configuration \ 19 network-configuration \
20 " 20 "
21 21
22IMAGE_INSTALL_append = " \ 22IMAGE_INSTALL_append = " \