diff --git a/classes/aziot.bbclass b/classes/aziot.bbclass index 085f2e138..77c4edd2c 100644 --- a/classes/aziot.bbclass +++ b/classes/aziot.bbclass @@ -1,4 +1,4 @@ -inherit useradd +inherit useradd pkgconfig USERADD_PACKAGES = "${PN}" GROUPADD_PARAM:${PN} = " \ diff --git a/classes/disable_volatile_log_dir.bbclass b/classes/disable_volatile_log_dir.bbclass index 9c8eec226..73198dbe7 100644 --- a/classes/disable_volatile_log_dir.bbclass +++ b/classes/disable_volatile_log_dir.bbclass @@ -1,5 +1,4 @@ -# We want to have a nonvolatile log dir, if DISTRO_FEATURE "persistent-var-log" -# is set, but we cannot access 'DISTRO_FEATURES' directly at conf file load -# time. -# We delay by using this special bbclass and the _append operator. -VOLATILE_LOG_DIR = "no" +# We want a nonvolatile /var/log when DISTRO_FEATURE "persistent-var-log" is +# set, but DISTRO_FEATURES can't be read at conf-parse time; so this class is +# inherited conditionally via USER_CLASSES instead. +FILESYSTEM_PERMS_TABLES:remove = "files/fs-perms-volatile-log.txt" diff --git a/classes/omnect_rust_aziot-identityd_deps.bbclass b/classes/omnect_rust_aziot-identityd_deps.bbclass index 570d2f8ff..bca228e79 100644 --- a/classes/omnect_rust_aziot-identityd_deps.bbclass +++ b/classes/omnect_rust_aziot-identityd_deps.bbclass @@ -2,32 +2,32 @@ do_compile:prepend() { # instead of sed, i wanted to use toml-cli, but it can not escape the values correctly sed -i \ - -e 's#"${WORKDIR}/aziot-cert-client-async"#"${WORKDIR}/aziot-cert-client-async/cert/aziot-cert-client-async"#' \ - -e 's#"${WORKDIR}/aziot-cert-common"#"${WORKDIR}/aziot-cert-client-async/cert/aziot-cert-common"#' \ - -e 's#"${WORKDIR}/aziot-cert-common-http"#"${WORKDIR}/aziot-cert-client-async/cert/aziot-cert-common-http"#' \ - -e 's#"${WORKDIR}/aziot-certd-config"#"${WORKDIR}/aziot-cert-client-async/cert/aziot-certd-config"#' \ - -e 's#"${WORKDIR}/aziot-identity-client-async"#"${WORKDIR}/aziot-cert-client-async/identity/aziot-identity-client-async"#' \ - -e 's#"${WORKDIR}/aziot-identity-common"#"${WORKDIR}/aziot-cert-client-async/identity/aziot-identity-common"#' \ - -e 's#"${WORKDIR}/aziot-identity-common-http"#"${WORKDIR}/aziot-cert-client-async/identity/aziot-identity-common-http"#' \ - -e 's#"${WORKDIR}/aziot-identityd-config"#"${WORKDIR}/aziot-cert-client-async/identity/aziot-identityd-config"#' \ - -e 's#"${WORKDIR}/aziot-key-client"#"${WORKDIR}/aziot-cert-client-async/key/aziot-key-client"#' \ - -e 's#"${WORKDIR}/aziot-key-client-async"#"${WORKDIR}/aziot-cert-client-async/key/aziot-key-client-async"#' \ - -e 's#"${WORKDIR}/aziot-key-common"#"${WORKDIR}/aziot-cert-client-async/key/aziot-key-common"#' \ - -e 's#"${WORKDIR}/aziot-key-common-http"#"${WORKDIR}/aziot-cert-client-async/key/aziot-key-common-http"#' \ - -e 's#"${WORKDIR}/aziot-key-openssl-engine"#"${WORKDIR}/aziot-cert-client-async/key/aziot-key-openssl-engine"#' \ - -e 's#"${WORKDIR}/aziot-keyd-config"#"${WORKDIR}/aziot-cert-client-async/key/aziot-keyd-config"#' \ - -e 's#"${WORKDIR}/aziot-keys-common"#"${WORKDIR}/aziot-cert-client-async/key/aziot-keys-common"#' \ - -e 's#"${WORKDIR}/aziot-tpmd-config"#"${WORKDIR}/aziot-cert-client-async/tpm/aziot-tpmd-config"#' \ - -e 's#"${WORKDIR}/aziotctl-common"#"${WORKDIR}/aziot-cert-client-async/aziotctl/aziotctl-common"#' \ - -e 's#"${WORKDIR}/cert-renewal"#"${WORKDIR}/aziot-cert-client-async/cert/cert-renewal"#' \ - -e 's#"${WORKDIR}/config-common"#"${WORKDIR}/aziot-cert-client-async/config-common"#' \ - -e 's#"${WORKDIR}/http-common"#"${WORKDIR}/aziot-cert-client-async/http-common"#' \ - -e 's#"${WORKDIR}/logger"#"${WORKDIR}/aziot-cert-client-async/logger"#' \ - -e 's#"${WORKDIR}/openssl-build"#"${WORKDIR}/aziot-cert-client-async/openssl-build"#' \ - -e 's#"${WORKDIR}/openssl-sys2"#"${WORKDIR}/aziot-cert-client-async/openssl-sys2"#' \ - -e 's#"${WORKDIR}/openssl2"#"${WORKDIR}/aziot-cert-client-async/openssl2"#' \ - -e 's#"${WORKDIR}/pkcs11-sys"#"${WORKDIR}/aziot-cert-client-async/pkcs11/pkcs11-sys"#' \ - -e 's#"${WORKDIR}/pkcs11"#"${WORKDIR}/aziot-cert-client-async/pkcs11/pkcs11"#' \ - -e 's#"${WORKDIR}/test-common"#"${WORKDIR}/aziot-cert-client-async/test-common"#' \ - ${WORKDIR}/cargo_home/config + -e 's#"${UNPACKDIR}/aziot-cert-client-async"#"${UNPACKDIR}/aziot-cert-client-async/cert/aziot-cert-client-async"#' \ + -e 's#"${UNPACKDIR}/aziot-cert-common"#"${UNPACKDIR}/aziot-cert-client-async/cert/aziot-cert-common"#' \ + -e 's#"${UNPACKDIR}/aziot-cert-common-http"#"${UNPACKDIR}/aziot-cert-client-async/cert/aziot-cert-common-http"#' \ + -e 's#"${UNPACKDIR}/aziot-certd-config"#"${UNPACKDIR}/aziot-cert-client-async/cert/aziot-certd-config"#' \ + -e 's#"${UNPACKDIR}/aziot-identity-client-async"#"${UNPACKDIR}/aziot-cert-client-async/identity/aziot-identity-client-async"#' \ + -e 's#"${UNPACKDIR}/aziot-identity-common"#"${UNPACKDIR}/aziot-cert-client-async/identity/aziot-identity-common"#' \ + -e 's#"${UNPACKDIR}/aziot-identity-common-http"#"${UNPACKDIR}/aziot-cert-client-async/identity/aziot-identity-common-http"#' \ + -e 's#"${UNPACKDIR}/aziot-identityd-config"#"${UNPACKDIR}/aziot-cert-client-async/identity/aziot-identityd-config"#' \ + -e 's#"${UNPACKDIR}/aziot-key-client"#"${UNPACKDIR}/aziot-cert-client-async/key/aziot-key-client"#' \ + -e 's#"${UNPACKDIR}/aziot-key-client-async"#"${UNPACKDIR}/aziot-cert-client-async/key/aziot-key-client-async"#' \ + -e 's#"${UNPACKDIR}/aziot-key-common"#"${UNPACKDIR}/aziot-cert-client-async/key/aziot-key-common"#' \ + -e 's#"${UNPACKDIR}/aziot-key-common-http"#"${UNPACKDIR}/aziot-cert-client-async/key/aziot-key-common-http"#' \ + -e 's#"${UNPACKDIR}/aziot-key-openssl-engine"#"${UNPACKDIR}/aziot-cert-client-async/key/aziot-key-openssl-engine"#' \ + -e 's#"${UNPACKDIR}/aziot-keyd-config"#"${UNPACKDIR}/aziot-cert-client-async/key/aziot-keyd-config"#' \ + -e 's#"${UNPACKDIR}/aziot-keys-common"#"${UNPACKDIR}/aziot-cert-client-async/key/aziot-keys-common"#' \ + -e 's#"${UNPACKDIR}/aziot-tpmd-config"#"${UNPACKDIR}/aziot-cert-client-async/tpm/aziot-tpmd-config"#' \ + -e 's#"${UNPACKDIR}/aziotctl-common"#"${UNPACKDIR}/aziot-cert-client-async/aziotctl/aziotctl-common"#' \ + -e 's#"${UNPACKDIR}/cert-renewal"#"${UNPACKDIR}/aziot-cert-client-async/cert/cert-renewal"#' \ + -e 's#"${UNPACKDIR}/config-common"#"${UNPACKDIR}/aziot-cert-client-async/config-common"#' \ + -e 's#"${UNPACKDIR}/http-common"#"${UNPACKDIR}/aziot-cert-client-async/http-common"#' \ + -e 's#"${UNPACKDIR}/logger"#"${UNPACKDIR}/aziot-cert-client-async/logger"#' \ + -e 's#"${UNPACKDIR}/openssl-build"#"${UNPACKDIR}/aziot-cert-client-async/openssl-build"#' \ + -e 's#"${UNPACKDIR}/openssl-sys2"#"${UNPACKDIR}/aziot-cert-client-async/openssl-sys2"#' \ + -e 's#"${UNPACKDIR}/openssl2"#"${UNPACKDIR}/aziot-cert-client-async/openssl2"#' \ + -e 's#"${UNPACKDIR}/pkcs11-sys"#"${UNPACKDIR}/aziot-cert-client-async/pkcs11/pkcs11-sys"#' \ + -e 's#"${UNPACKDIR}/pkcs11"#"${UNPACKDIR}/aziot-cert-client-async/pkcs11/pkcs11"#' \ + -e 's#"${UNPACKDIR}/test-common"#"${UNPACKDIR}/aziot-cert-client-async/test-common"#' \ + ${UNPACKDIR}/cargo_home/config.toml } diff --git a/classes/omnect_rust_azure-iot-sdk_deps.bbclass b/classes/omnect_rust_azure-iot-sdk_deps.bbclass index 40f0bac10..a81701d97 100644 --- a/classes/omnect_rust_azure-iot-sdk_deps.bbclass +++ b/classes/omnect_rust_azure-iot-sdk_deps.bbclass @@ -1,6 +1,17 @@ +# wrynose dropped the custom rust-llvm (which carried clang); bindgen now gets +# libclang from oe-core's clang-native. +DEPENDS:append = " clang-native" + do_compile:prepend() { - export LLVM_CONFIG_PATH="${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config" - export BINDGEN_EXTRA_CLANG_ARGS="${TUNE_CCARGS}" + export LIBCLANG_PATH="${STAGING_LIBDIR_NATIVE}" + export BINDGEN_EXTRA_CLANG_ARGS="--target=${TARGET_SYS} --sysroot=${STAGING_DIR_TARGET}" + # 32-bit ARM hard-float: the gnueabi triple defaults clang to soft-float, so + # it picks the wrong glibc ABI stubs header (gnu/stubs-soft.h, absent in a + # hard-float sysroot). Append the tune flags (-mfloat-abi=hard/-mfpu) so + # clang matches the target ABI. aarch64/x86 have no such ambiguity. + if [ "${TARGET_ARCH}" = "arm" ]; then + export BINDGEN_EXTRA_CLANG_ARGS="${BINDGEN_EXTRA_CLANG_ARGS} ${TUNE_CCARGS}" + fi export AZURESDK_PATH=${STAGING_DIR_TARGET}/usr/ export UUID_PATH=${STAGING_DIR_TARGET}/usr/ diff --git a/classes/omnect_uboot_configure_env.bbclass b/classes/omnect_uboot_configure_env.bbclass index 1484cacf9..15668524c 100644 --- a/classes/omnect_uboot_configure_env.bbclass +++ b/classes/omnect_uboot_configure_env.bbclass @@ -3,8 +3,8 @@ DEPENDS += "u-boot-mkenvimage-native" omnect_uboot_configure_env() { # configure omnect u-boot env - cp -f ${WORKDIR}/omnect_env.h ${S}/include/configs/ - cp -f ${WORKDIR}/omnect_env.env ${S}/include/env/ + cp -f ${UNPACKDIR}/omnect_env.h ${S}/include/configs/ + cp -f ${UNPACKDIR}/omnect_env.env ${S}/include/env/ # set release image if [ "${OMNECT_RELEASE_IMAGE}" = "1" ]; then @@ -28,11 +28,14 @@ do_compile:append() { mkenvimage="mkenvimage -r" fi if [ -n "${UBOOT_CONFIG}" ]; then - # this is based on the handling in openembedded-core/meta/recipes-bsp/u-boot/u-boot.inc + # openembedded-core's u-boot.inc now builds into O=${B}/${config}-${type}, + # so the initial env lives in that -${type}-suffixed dir, not ${config}/. + # UBOOT_MACHINE/UBOOT_CONFIG only ever hold a single config here. for config in ${UBOOT_MACHINE}; do - initial_env="${B}/${config}/u-boot-initial-env" - # so far i don't see that `UBOOT_MACHINE` is ever set to multiple configs - break; + for type in ${UBOOT_CONFIG}; do + initial_env="${B}/${config}-${type}/u-boot-initial-env" + break 2 + done done else initial_env="${B}/u-boot-initial-env" diff --git a/conf/distro/include/omnect-os-distro.conf b/conf/distro/include/omnect-os-distro.conf index 4d093199c..3f429f466 100644 --- a/conf/distro/include/omnect-os-distro.conf +++ b/conf/distro/include/omnect-os-distro.conf @@ -6,7 +6,10 @@ SDK_NAME_PREFIX = "${DISTRO_NAME}" SDK_VERSION = "${MACHINE}-${DISTRO_VERSION}" DISTRO_FEATURES = "apparmor ipv4 ipv6 polkit seccomp xattr zeroconf" -DISTRO_FEATURES_BACKFILL_CONSIDERED += "pulseaudio gobject-introspection-data ldconfig" +DISTRO_FEATURES_OPTED_OUT += "\ + 3g acl alsa bluetooth debuginfod ext2 gobject-introspection-data ldconfig \ + multiarch nfc nfs opengl pci ptest pulseaudio vfat vulkan wayland wifi x11 \ +" # meta-security is only included for the AppArmor userspace; the 'security' # DISTRO_FEATURE would pull in kernel config fragments for linux-yocto, but we @@ -43,7 +46,7 @@ ROOT_HOME = "/home/root" RDEPENDS:packagegroup-base-3g:pn-packagegroup-base = "" # We don't use qemu-usermode, resp. it is currently not usable straightforward. -MACHINE_FEATURES_BACKFILL_CONSIDERED += "qemu-usermode" +MACHINE_FEATURES_OPTED_OUT += "qemu-usermode" # Remove machine features we don't see any value in. # -> packagegroup-base doesn't install unwanted packages MACHINE_FEATURES:remove = "alsa ext2 pci pcmcia serial usbhost usbgadget vfat" @@ -66,7 +69,7 @@ PACKAGE_CLASSES ?= "package_ipk" CONNECTIVITY_CHECK_URIS ?= "https://github.com/omnect" # Image configuration -IMAGE_FSTYPES = "ext4.gz wic.xz wic.bmap" +IMAGE_FSTYPES = "ext4.gz wic.xz wic.bmap wicenv" IMAGE_TYPES:remove = "cramfs" # rm kernel from boot partition, we use a bundled initramfs kernel in rootfs IMAGE_BOOT_FILES:remove = "uImage Image" @@ -167,10 +170,6 @@ DEPENDS:remove:pn-apparmor = "perl" # DEPENDS that config is unstaged. Force native mode so aclocal uses perl-native. PERLCONFIGTARGET:pn-apparmor = "no" -# use smaller and faster duktape vs mozjs in polkit -PACKAGECONFIG:remove:pn-polkit = "mozjs" -PACKAGECONFIG:append:pn-polkit = " duktape" - # remove logind + pam PACKAGECONFIG:remove:pn-systemd = "logind pam" @@ -179,6 +178,9 @@ PACKAGECONFIG:remove:pn-systemd = "logind pam" # gobject-introspection dependency in avahi + polkit CODEGEN_PYTHON_RDEPENDS:pn-glib-2.0 = "" RDEPENDS:${PN}:pn-gobject-introspection = "" +# Emptying RDEPENDS also drops the auto libglib shlib dep; wrynose made file-rdeps +# fatal. glib is always in the image (avahi/polkit depend on it directly), so skip it. +INSANE_SKIP:${PN}:pn-gobject-introspection = "file-rdeps" PACKAGECONFIG:remove:pn-apparmor = "python" # disable glib-2.0 dependency to shared-mime-info diff --git a/conf/distro/include/omnect-os-fixes.conf b/conf/distro/include/omnect-os-fixes.conf index ef4d5b271..b4501ed8b 100644 --- a/conf/distro/include/omnect-os-fixes.conf +++ b/conf/distro/include/omnect-os-fixes.conf @@ -8,3 +8,22 @@ DEPENDS:append:pn-libx11 = " autoconf-archive-native" # lshw: fix lshw e.g. on tauri-l FILESEXTRAPATHS:prepend:pn-lshw := "${LAYERDIR_omnect}/files/patches:" SRC_URI:append:pn-lshw = " file://lshw_github_PR87.patch" + +# wrynose promoted the patch-status QA check to a fatal error. Our local recipe +# patches carry no Upstream-Status; silence the check (remove from both ERROR_QA and +# WARN_QA) rather than annotate every patch. +ERROR_QA:remove = "patch-status" +WARN_QA:remove = "patch-status" + +# wrynose's oe-core also makes the buildpaths check fatal. Some Rust recipes (e.g. the +# aziot cc-crate openssl engine) leak a ${WORKDIR} path into -dbg debug info that +# escapes the debug-prefix-map remap; downgrade to a warning rather than chase the +# per-crate remap. The runtime (non-dbg) binaries are clean. +ERROR_QA:remove = "buildpaths" +WARN_QA:append = " buildpaths" + +# wrynose's coreutils-dev RRECOMMENDS gawk-dev, but gawk is GPL-3.0-or-later & +# AGPL-3.0-or-later and excluded by INCOMPATIBLE_LICENSE. The skipped provider +# breaks the rootfs build-dependency graph, so drop the recommend in metadata +# (BAD_RECOMMENDATIONS only filters at install time, too late for taskdata). +RRECOMMENDS:coreutils-dev:remove = "gawk-dev" diff --git a/conf/distro/include/omnect-os-required.conf b/conf/distro/include/omnect-os-required.conf index bd50bb0ed..e0c2a0ea7 100644 --- a/conf/distro/include/omnect-os-required.conf +++ b/conf/distro/include/omnect-os-required.conf @@ -1 +1 @@ -REQUIRED_VERSION_openssl ?= "3.5.6" +REQUIRED_VERSION_openssl ?= "3.5.7" diff --git a/conf/distro/include/omnect-os-rust.conf b/conf/distro/include/omnect-os-rust.conf index edafb1e8e..03a2ec706 100644 --- a/conf/distro/include/omnect-os-rust.conf +++ b/conf/distro/include/omnect-os-rust.conf @@ -1,9 +1,3 @@ -# we need this to get bindgen-native to work at runtime -EXTRA_OECMAKE:append:pn-rust-llvm-native = " -DLLVM_ENABLE_PROJECTS=clang" - # set default rust panic strategy to abort, otherwise we have to patch iotedge # warning: this is global setting RUST_PANIC_STRATEGY = "abort" - -# we use rust from meta-omnect -RUSTVERSION = "1.93%" diff --git a/conf/distro/include/omnect-os-swupdate.conf b/conf/distro/include/omnect-os-swupdate.conf index e71cf503c..3beb68217 100644 --- a/conf/distro/include/omnect-os-swupdate.conf +++ b/conf/distro/include/omnect-os-swupdate.conf @@ -2,4 +2,4 @@ SOFTWARE_VERSION = "${DISTRO_VERSION}" SOFTWARE_NAME = "${DISTRO_NAME}" # disable automatic start of swupdate.service -SYSTEMD_SERVICE:swupdate:remove:pn-swupdate= "swupdate.service" +SYSTEMD_SERVICE:swupdate:remove:pn-swupdate = "swupdate.service" diff --git a/conf/layer.conf b/conf/layer.conf index 295816afd..68b0a0431 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -28,11 +28,11 @@ BBFILE_PATTERN_omnect = "^${LAYERDIR}/" BBFILE_PRIORITY_omnect = "10" LAYERDEPENDS_omnect = "swupdate security" -LAYERSERIES_COMPAT_omnect = "scarthgap" +LAYERSERIES_COMPAT_omnect = "wrynose" LAYERDIR_omnect = "${LAYERDIR}" # orchestrate other layers (we ensure our layer is latest when building with kas) # if you don't use kas, you should ensure meta-omnect is behind meta-phytec resp. meta-welotec-bsp in BBLAYERS. BBFILE_PRIORITY_phytec = "9" -BBFILE_PRIORITY_raspberrypi="9" +BBFILE_PRIORITY_raspberrypi = "9" BBFILE_PRIORITY_welotec-bsp-layer = "9" diff --git a/conf/machine/genericx86-64.extra.conf b/conf/machine/genericx86-64.extra.conf index dde387b3b..5ca56823e 100644 --- a/conf/machine/genericx86-64.extra.conf +++ b/conf/machine/genericx86-64.extra.conf @@ -1,7 +1,6 @@ # additional kernel config OMNECT_KERNEL_SRC_URI:append = " \ file://acpi-watchdog.cfg \ - file://crc32c-intel_module.cfg \ file://bluetooth_hcibtusb.cfg \ file://i2c-chardev.cfg \ file://intel-igc.cfg \ @@ -38,7 +37,7 @@ OMNECT_INITRAMFS_FSTYPE = "cpio.gz" WKS_FILE = "omnect-os.grub.wks.in" # no differentiation for now between release an devel images concerning rootfs # size -OMNECT_PART_SIZE_ROOTFS ?= "${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '1', '900000', '900000', d)}" +OMNECT_PART_SIZE_ROOTFS ?= "${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '1', '900000', '1048576', d)}" OMNECT_PART_OFFSET_BOOT ?= "2048" # adu compatibility id @@ -71,6 +70,14 @@ MACHINE_EXTRA_RRECOMMENDS:remove = "linux-firmware" DISTRO_FEATURES:append = " efi-secure-boot modsign" +# We verify the grub config with SELoader (PKCS7 .p7b), matching OMNECT_GRUB_EFI_SB_FILES +# and the LockDown/SELoader artifacts below. wrynose's meta-secure-core (commit 6d83fbf) +# flipped the defaults to UEFI_SELOADER=0 + GRUB_SIGN_VERIFY=1 (grub's built-in GPG .sig +# check); scarthgap had UEFI_SELOADER=1 + GRUB_SIGN_VERIFY=0. The two are mutually +# exclusive, so pin both to restore the SELoader path. +UEFI_SELOADER = "1" +GRUB_SIGN_VERIFY = "0" + # for patched wic plugin bootimg-efi.py: WICVARS:append = " OMNECT_GRUB_EFI_SB_FILES" OMNECT_GRUB_EFI_SB_FILES = " \ @@ -94,7 +101,7 @@ OMNECT_GRUB_EFI_SB_FILES = " \ SYSTEMD_RuntimeWatchdogSec = "60" SYSTEMD_RebootWatchdogSec = "60" -OMNECT_BOOTLOADER_RECIPE_PATH = "${LAYERDIR_core}/recipes-bsp/grub/grub-efi_2.12.bb" +OMNECT_BOOTLOADER_RECIPE_PATH = "${LAYERDIR_core}/recipes-bsp/grub/grub-efi_2.14.bb" # force bootloader version checksum to be old, when sure it's 100% binary compatible # OMNECT_BOOTLOADER_CHECKSUM_COMPATIBLE:pn-bootloader-versioned = " " # e.g.: @@ -103,5 +110,5 @@ OMNECT_BOOTLOADER_RECIPE_PATH = "${LAYERDIR_core}/recipes-bsp/grub/grub-efi_2.12 # OMNECT_BOOTLOADER_CHECKSUM_EXPTECTED:pn-bootloader-versioned - build will fail, if the # computed checksum is different to this; set to when # OMNECT_BOOTLOADER_CHECKSUM_COMPATIBLE:pn-bootloader-versioned is set -OMNECT_BOOTLOADER_CHECKSUM_EXPECTED:pn-bootloader-versioned = "69a43de1bc02f87f36adb29b4215300bda0b4b144ef1505dd71d17f5ae27ff09" +OMNECT_BOOTLOADER_CHECKSUM_EXPECTED:pn-bootloader-versioned = "5aa682e34bdaeae271cbd96dc1d4f6d26fd9be104372cf56dcca35953c7fc066" #OMNECT_BOOTLOADER_CHECKSUM_COMPATIBLE:pn-bootloader-versioned = "" diff --git a/conf/machine/include/phytec-imx8mm.inc b/conf/machine/include/phytec-imx8mm.inc index 5346008c8..7a06251dd 100644 --- a/conf/machine/include/phytec-imx8mm.inc +++ b/conf/machine/include/phytec-imx8mm.inc @@ -18,6 +18,7 @@ IMAGE_BOOT_FILES:remove:pn-omnect-os-image = " \ fitImage \ oftree \ bootenv.txt \ + overlays.txt \ " IMAGE_INSTALL:append:pn-omnect-os-image = " kernel-devicetree" @@ -26,7 +27,7 @@ IMAGE_INSTALL:append:pn-omnect-os-image = " kernel-devicetree" OMNECT_INITRAMFS_FSTYPE = "cpio.gz.u-boot" # Set Serial console -SERIAL_CONSOLES ="${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '1', '', '115200;ttymxc2', d)}" +SERIAL_CONSOLES = "${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '1', '', '115200;ttymxc2', d)}" #bootargs console is not part of the devictree, so we have to append it to kernel commandline APPEND += "console=ttymxc2,115200" @@ -76,6 +77,15 @@ BBMASK:append = " \ meta-imx/meta-imx-bsp/recipes-connectivity/openssl/openssl_3.2.%.bbappend \ " +# mask phytec's Cortex-M demo bbappend: its base recipe lives in the dropped +# meta-imx-sdk, so it would dangle; we don't want the demos anyway. +BBMASK:append = " meta-phytec/dynamic-layers/fsl-bsp-release/recipes-fsl/mcore-demos/" + +# u-boot-master.bb tracks u-boot master via AUTOREV, doing a git ls-remote at +# parse time; we don't use it and the remote fetch breaks parsing when +# source.denx.de is unreachable. +BBMASK:append = " meta-phytec/recipes-bsp/u-boot/u-boot-master.bb" + # fix search path FILESEXTRAPATHS:prepend:pn-imx-boot-phytec := "${LAYERDIR_freescale-layer}/recipes-bsp/imx-mkimage/files:" FILESEXTRAPATHS:prepend:pn-optee-client := "${LAYERDIR_arm}/recipes-security/optee/optee-client:" @@ -102,7 +112,7 @@ MACHINE_FEATURES:append = " \ pstore \ " -OMNECT_BOOTLOADER_RECIPE_PATH = "${LAYERDIR_phytec}/recipes-bsp/u-boot/u-boot-phytec-imx_2024.04-2.2.0-phy23.bb" +OMNECT_BOOTLOADER_RECIPE_PATH = "${LAYERDIR_phytec}/recipes-bsp/u-boot/u-boot-phytec-imx_2024.04-2.2.0-phy25.bb" # force bootloader version checksum to be old, when sure it's 100% binary compatible # OMNECT_BOOTLOADER_CHECKSUM_COMPATIBLE:pn-bootloader-versioned = " " @@ -112,4 +122,4 @@ OMNECT_BOOTLOADER_RECIPE_PATH = "${LAYERDIR_phytec}/recipes-bsp/u-boot/u-boot-ph # OMNECT_BOOTLOADER_CHECKSUM_EXPTECTED:pn-bootloader-versioned - build will fail, if the # computed checksum is different to this; set to when # OMNECT_BOOTLOADER_CHECKSUM_COMPATIBLE:pn-bootloader-versioned is set -OMNECT_BOOTLOADER_CHECKSUM_EXPECTED:pn-bootloader-versioned = "5165f005922e91b9513e4316db9316097f421109e2e678f6aed21f3a5cfbff51" +OMNECT_BOOTLOADER_CHECKSUM_EXPECTED:pn-bootloader-versioned = "c4284d87e36c02b2c35eceed96ac30cf502ff9b19c39d27c12deeaf50134ab49" diff --git a/conf/machine/include/rpi.inc b/conf/machine/include/rpi.inc index 642991f49..ea434ed79 100644 --- a/conf/machine/include/rpi.inc +++ b/conf/machine/include/rpi.inc @@ -34,7 +34,7 @@ MACHINE_FEATURES += "pstore" # optional tpm2 support MACHINE_FEATURES += "tpm2" -OMNECT_BOOTLOADER_RECIPE_PATH = "${LAYERDIR_core}/recipes-bsp/u-boot/u-boot_2024.01.bb" +OMNECT_BOOTLOADER_RECIPE_PATH = "${LAYERDIR_core}/recipes-bsp/u-boot/u-boot_2026.01.bb" # force bootloader version checksum to be old, when sure it's 100% binary compatible # OMNECT_BOOTLOADER_CHECKSUM_COMPATIBLE:pn-bootloader-versioned = " " # e.g.: @@ -43,4 +43,4 @@ OMNECT_BOOTLOADER_RECIPE_PATH = "${LAYERDIR_core}/recipes-bsp/u-boot/u-boot_2024 # OMNECT_BOOTLOADER_CHECKSUM_EXPTECTED:pn-bootloader-versioned - build will fail, if the # computed checksum is different to this; set to when # OMNECT_BOOTLOADER_CHECKSUM_COMPATIBLE:pn-bootloader-versioned is set -OMNECT_BOOTLOADER_CHECKSUM_EXPECTED:pn-bootloader-versioned = "0a28102f487988548315da27e3fada50c138656acdd3866f818743831ed74c35" +OMNECT_BOOTLOADER_CHECKSUM_EXPECTED:pn-bootloader-versioned = "9dbbfaa83c08214b9c9114a21e7cd9eb5b116cff048fb780655d3ff9f158e604" diff --git a/conf/machine/phygate-tauri-l-imx8mm-2.extra.conf b/conf/machine/phygate-tauri-l-imx8mm-2.extra.conf index 2c4ba70aa..38deb1fc4 100644 --- a/conf/machine/phygate-tauri-l-imx8mm-2.extra.conf +++ b/conf/machine/phygate-tauri-l-imx8mm-2.extra.conf @@ -19,4 +19,4 @@ OMNECT_KERNEL_SRC_URI:append = " file://rtc_rv3028.cfg" # no differentiation for now between release an devel images concerning rootfs # size -OMNECT_PART_SIZE_ROOTFS ?= "${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '1', '760832', '760832', d)}" +OMNECT_PART_SIZE_ROOTFS ?= "${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '1', '760832', '900000', d)}" diff --git a/conf/machine/raspberrypi4-64.extra.conf b/conf/machine/raspberrypi4-64.extra.conf index df6789122..391c38249 100644 --- a/conf/machine/raspberrypi4-64.extra.conf +++ b/conf/machine/raspberrypi4-64.extra.conf @@ -12,4 +12,4 @@ UBOOT_ARCH = "arm64" # no differentiation for now between release an devel images concerning rootfs # size -OMNECT_PART_SIZE_ROOTFS ?= "${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '1', '760832', '760832', d)}" +OMNECT_PART_SIZE_ROOTFS ?= "${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '1', '760832', '900000', d)}" diff --git a/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_%.bbappend b/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_%.bbappend index 92257ac94..a37f090c3 100644 --- a/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_%.bbappend +++ b/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf_%.bbappend @@ -2,7 +2,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" SRC_URI += "${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '1', 'file://release_log_level.patch', '', d)}" -ATF_DEBUG = "${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '1', '0', '1', d)}" +PACKAGECONFIG:append = "${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '1', '', ' debug', d)}" OUTPUT_FOLDER ?= "${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '1', 'release', 'debug', d)}" EXTRA_OEMAKE += " \ diff --git a/dynamic-layers/phytec/recipes-bsp/bootloader-versioned/bootloader-versioned.bbappend b/dynamic-layers/phytec/recipes-bsp/bootloader-versioned/bootloader-versioned.bbappend index abe651408..3b6894530 100644 --- a/dynamic-layers/phytec/recipes-bsp/bootloader-versioned/bootloader-versioned.bbappend +++ b/dynamic-layers/phytec/recipes-bsp/bootloader-versioned/bootloader-versioned.bbappend @@ -9,7 +9,7 @@ OMNECT_BOOTLOADER_CHECKSUM_FILES += "${LAYERDIR_phytec}/recipes-bsp/u-boot/u-boo OMNECT_BOOTLOADER_CHECKSUM_FILES += "${LAYERDIR_core}/recipes-bsp/u-boot/u-boot.inc" OMNECT_BOOTLOADER_CHECKSUM_FILES += "${OMNECT_THISDIR_SAVED}/../u-boot/u-boot-phytec-imx_%.bbappend" OMNECT_BOOTLOADER_CHECKSUM_FILES += "${OMNECT_THISDIR_SAVED}/../u-boot/u-boot/*" -OMNECT_BOOTLOADER_CHECKSUM_FILES += "${LAYERDIR_phytec}/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-atf/imx-atf_2.10.bbappend" +OMNECT_BOOTLOADER_CHECKSUM_FILES += "${LAYERDIR_phytec}/dynamic-layers/fsl-bsp-release/recipes-bsp/imx-atf/imx-atf_*.bbappend" OMNECT_BOOTLOADER_CHECKSUM_FILES += "${LAYERDIR_omnect}/dynamic-layers/freescale-layer/recipes-bsp/imx-atf/imx-atf/*" OMNECT_BOOTLOADER_CHECKSUM_FILES += "${LAYERDIR_fsl-bsp-release}/recipes-bsp/imx-atf/imx-atf_*.bb" # imx-atf and u-boot are part of imx-boot(-phytec). (imx-boot(-phytec) recipe diff --git a/dynamic-layers/phytec/recipes-bsp/u-boot/u-boot-phytec-imx_%.bbappend b/dynamic-layers/phytec/recipes-bsp/u-boot/u-boot-phytec-imx_%.bbappend index 80a83ece9..44c9a238d 100644 --- a/dynamic-layers/phytec/recipes-bsp/u-boot/u-boot-phytec-imx_%.bbappend +++ b/dynamic-layers/phytec/recipes-bsp/u-boot/u-boot-phytec-imx_%.bbappend @@ -32,7 +32,47 @@ OMNECT_BOOTLOADER_CHECKSUM_FILES = "${OMNECT_BOOTLOADER_RECIPE_PATH}" inherit omnect_uboot_configure_env omnect_bootloader +# wrynose's SWIG 4.3 made SWIG_Python_AppendOutput take a 3rd arg; U-Boot 2024.04's +# bundled dtc/pylibfdt predates that, so its pylibfdt build fails to compile. Switch +# to the version-agnostic SWIG_AppendOutput macro (the upstream dtc 1.7.2 fix). +do_configure:prepend() { + if [ -f ${S}/scripts/dtc/pylibfdt/libfdt.i_shipped ]; then + sed -i 's/SWIG_Python_AppendOutput/SWIG_AppendOutput/g' ${S}/scripts/dtc/pylibfdt/libfdt.i_shipped + fi + + # binman aborts at import time on wrynose: pkg_resources is no longer shipped + # by the newer setuptools. Switch the two call sites to importlib.resources + # (already imported by control.py), matching upstream U-Boot's post-2024.04 fix. + if [ -f ${S}/tools/binman/control.py ]; then + sed -i \ + -e '/^import pkg_resources$/d' \ + -e "s|pkg_resources.resource_string(__name__, 'missing-blob-help')|importlib.resources.files(__package__).joinpath('missing-blob-help').read_bytes()|" \ + -e "s|pkg_resources.resource_listdir(__name__, 'etype')|[e.name for e in importlib.resources.files(__package__).joinpath('etype').iterdir() if e.is_file()]|" \ + ${S}/tools/binman/control.py + fi +} + do_configure:prepend:mx8mm-nxp-bsp() { - cp -f ${WORKDIR}/omnect_env_phycore_imx8mm.h ${S}/include/configs/omnect_env_machine.h - cp -f ${WORKDIR}/phycore_imx8mm.env ${S}/board/phytec/phycore_imx8mm/phycore_imx8mm.env + cp -f ${UNPACKDIR}/omnect_env_phycore_imx8mm.h ${S}/include/configs/omnect_env_machine.h + cp -f ${UNPACKDIR}/phycore_imx8mm.env ${S}/board/phytec/phycore_imx8mm/phycore_imx8mm.env +} + +# wrynose's oe-core u-boot.inc dropped the UBOOT_NAME mechanism that used to +# deploy the raw u-boot.bin as u-boot-${MACHINE}.bin-${type}. With UBOOT_BINARY +# set to flash.bin, oe-core now deploys only flash.bin, so imx-boot-phytec +# (imx-mkimage) can't find the raw u-boot it stitches into the boot image. +# Deploy it ourselves, mirroring the recipe's own u-boot-nodtb.bin deploy. +do_deploy:append:mx8m-generic-bsp() { + for config in ${UBOOT_MACHINE}; do + i=$(expr $i + 1) + for type in ${UBOOT_CONFIG}; do + j=$(expr $j + 1) + if [ $j -eq $i ]; then + install -m 0644 ${B}/${config}-${type}/u-boot.bin \ + ${DEPLOYDIR}/u-boot-${MACHINE}.bin-${type} + fi + done + unset j + done + unset i } diff --git a/dynamic-layers/phytec/recipes-kernel/lwb-radio-firmware/radio-firmware.inc b/dynamic-layers/phytec/recipes-kernel/lwb-radio-firmware/radio-firmware.inc index 2de52a36d..594425e9f 100644 --- a/dynamic-layers/phytec/recipes-kernel/lwb-radio-firmware/radio-firmware.inc +++ b/dynamic-layers/phytec/recipes-kernel/lwb-radio-firmware/radio-firmware.inc @@ -9,7 +9,7 @@ do_compile[noexec] = "1" FILES:${PN} += "${nonarch_base_libdir}/*" -S = "${WORKDIR}" +S = "${UNPACKDIR}" ALLOW_EMPTY:${PN}-dev = "0" ALLOW_EMPTY:${PN}-dbg = "0" diff --git a/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/add-reset-info.patch b/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/add-reset-info.patch index b0e60053f..03b885220 100644 --- a/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/add-reset-info.patch +++ b/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/add-reset-info.patch @@ -1,19 +1,22 @@ diff --git a/arch/arm/mach-bcm283x/Makefile b/arch/arm/mach-bcm283x/Makefile -index 7cd068832f..e92bfe9616 100644 --- a/arch/arm/mach-bcm283x/Makefile +++ b/arch/arm/mach-bcm283x/Makefile -@@ -4,3 +4,4 @@ - +@@ -4,6 +4,7 @@ + obj-$(CONFIG_BCM2835) += lowlevel_init.o obj-y += init.o reset.o mbox.o msg.o phys2bus.o -+obj-$(CONFIG_DISPLAY_CPUINFO) += sys_info.o ++obj-$(CONFIG_CMD_RSTINFO) += sys_info.o + + ifeq ($(CONFIG_GENERATE_ACPI_TABLE),y) + obj-$(CONFIG_BCM2711) += bcm2711_acpi.o diff --git a/arch/arm/mach-bcm283x/init.c b/arch/arm/mach-bcm283x/init.c -index 7265faf6ce..76a5d18d98 100644 --- a/arch/arm/mach-bcm283x/init.c +++ b/arch/arm/mach-bcm283x/init.c -@@ -150,6 +150,8 @@ int mach_cpu_init(void) +@@ -206,7 +206,10 @@ + #if defined(CONFIG_DISPLAY_CPUINFO) int print_cpuinfo(void) { ++ extern char *get_reset_cause(void); printf("CPU: BCM283x\n"); + printf("SoC: %s\n", CONFIG_SYS_SOC); + printf("Reset cause: %s\n", get_reset_cause()); @@ -22,11 +25,10 @@ index 7265faf6ce..76a5d18d98 100644 #endif diff --git a/arch/arm/mach-bcm283x/sys_info.c b/arch/arm/mach-bcm283x/sys_info.c new file mode 100644 -index 0000000000..140f5ca438 --- /dev/null +++ b/arch/arm/mach-bcm283x/sys_info.c @@ -0,0 +1,25 @@ -+#include ++#include +#include +#include + @@ -52,13 +54,12 @@ index 0000000000..140f5ca438 +#error "SOC currently not supported" +#endif diff --git a/cmd/Kconfig b/cmd/Kconfig -index df6d71c103..e806098dc5 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig -@@ -203,6 +203,13 @@ config CMD_REGINFO - help - Register dump - +@@ -242,6 +242,13 @@ + Show voltage and current negotiated via USB PD as well as the + current state of the Type C Port Manager (TCPM) state machine. + +config CMD_RSTINFO + bool "rstinfo" + depends on ARCH_BCM283X @@ -70,10 +71,9 @@ index df6d71c103..e806098dc5 100644 bool "tlv_eeprom" depends on I2C_EEPROM diff --git a/cmd/Makefile b/cmd/Makefile -index 9a6790cc17..e73a549529 100644 --- a/cmd/Makefile +++ b/cmd/Makefile -@@ -153,6 +153,7 @@ obj-$(CONFIG_CMD_RNG) += rng.o +@@ -163,6 +163,7 @@ obj-$(CONFIG_CMD_KASLRSEED) += kaslrseed.o obj-$(CONFIG_CMD_RKMTD) += rkmtd.o obj-$(CONFIG_CMD_ROCKUSB) += rockusb.o @@ -83,18 +83,19 @@ index 9a6790cc17..e73a549529 100644 obj-$(CONFIG_CMD_SATA) += sata.o diff --git a/cmd/rstinfo.c b/cmd/rstinfo.c new file mode 100644 -index 0000000000..677fab384f --- /dev/null +++ b/cmd/rstinfo.c -@@ -0,0 +1,26 @@ +@@ -0,0 +1,28 @@ +/* + * Get Reset Cause + */ + -+#include ++#include ++#include +#include + +extern int print_cpuinfo(void); ++extern char *get_reset_cause(void); +static int do_rstinfo(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) +{ + (void)cmdtp; diff --git a/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/cap-bootmapsz-cma.patch b/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/cap-bootmapsz-cma.patch new file mode 100644 index 000000000..ac9bc0b22 --- /dev/null +++ b/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/cap-bootmapsz-cma.patch @@ -0,0 +1,40 @@ +Cap U-Boot initrd/DTB relocation ceiling so the RPi4 vc4-kms CMA region fits. + +On BCM2711 the linux,cma region (512 MiB, sized by the vc4-kms-v3d overlay) must +be reserved within the first 1 GiB (its alloc-ranges is ZONE_DMA, because some +peripherals can only DMA to the low 1 GiB). U-Boot's boot_ramdisk_high() +relocates the ramdisk+DTB to the top of [bootm_low, bootm_low + bootm_mapsize). +RPi does not define CFG_SYS_BOOTMAPSZ, so bootm_mapsize falls back to bootm_size +(0x20000000 = 512 MiB from rpi.env), landing the ramdisk+DTB at 479-512 MiB and +splitting low memory so no contiguous 512 MiB remains. The reservation then +fails ("OF: reserved mem: failed to allocate memory for node 'linux,cma': size +512 MiB") and CMA collapses to a tiny fallback. + +Cap the relocation ceiling at 192 MiB so the ramdisk+DTB stay low and a +contiguous 512 MiB is left free for CMA. Done in the compiled config, not the +environment, because omnect_update_flow runs saveenv on every boot, which +overwrites any bootm_size/initrd_high set via fw_setenv. + +Upstream-Status: Inappropriate [omnect BCM2711 memory-layout specific] + +diff --git a/include/configs/rpi.h b/include/configs/rpi.h +index 8e56bdc..0b3ca45 100644 +--- a/include/configs/rpi.h ++++ b/include/configs/rpi.h +@@ -13,6 +13,16 @@ + #include + #endif + ++/* ++ * Cap the initrd/DTB relocation ceiling below the BCM2711 CMA window. Without ++ * CFG_SYS_BOOTMAPSZ, bootm_mapsize falls back to bootm_size (512 MiB from ++ * rpi.env), so boot_ramdisk_high() relocates the ramdisk+DTB to 479-512 MiB; ++ * the vc4-kms 512 MiB linux,cma region (which must fit the first 1 GiB / ++ * ZONE_DMA) then cannot be placed contiguously and the reservation fails. ++ * Compiled in (not env) because omnect_update_flow runs saveenv every boot. ++ */ ++#define CFG_SYS_BOOTMAPSZ 0x0c000000 ++ + /* Use SoC timer for AArch32, but architected timer for AArch64 */ + #ifndef CONFIG_ARM64 + #define CFG_SYS_TIMER_RATE 1000000 diff --git a/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/enable-reset-info-cmd-fragment.cfg b/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/enable-reset-info-cmd-fragment.cfg index 2c4dbca83..522f36d91 100644 --- a/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/enable-reset-info-cmd-fragment.cfg +++ b/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/enable-reset-info-cmd-fragment.cfg @@ -1,2 +1,2 @@ -CONFIG_DISPLAY_CPUINFO=y +# CONFIG_DISPLAY_CPUINFO is not set CONFIG_CMD_RSTINFO=y diff --git a/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/omnect_env_rpi.patch b/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/omnect_env_rpi.patch index 9da24b085..b022300a1 100644 --- a/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/omnect_env_rpi.patch +++ b/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/omnect_env_rpi.patch @@ -1,5 +1,4 @@ diff --git a/board/raspberrypi/rpi/rpi.env b/board/raspberrypi/rpi/rpi.env -index 30228285ed..b9765c4219 100644 --- a/board/raspberrypi/rpi/rpi.env +++ b/board/raspberrypi/rpi/rpi.env @@ -2,8 +2,6 @@ @@ -11,9 +10,9 @@ index 30228285ed..b9765c4219 100644 /* Environment */ stdin=serial,usbkbd stdout=serial,vidconsole -@@ -74,4 +72,4 @@ pxefile_addr_r=0x02500000 - fdt_addr_r=0x02600000 - ramdisk_addr_r=0x02700000 +@@ -77,4 +75,4 @@ + fdt_addr_r=0x05600000 + ramdisk_addr_r=0x05700000 -boot_targets=mmc usb pxe dhcp +#include diff --git a/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/redundant-env.cfg b/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/redundant-env.cfg index 2711cc658..87d5eba3a 100644 --- a/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/redundant-env.cfg +++ b/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/redundant-env.cfg @@ -2,5 +2,5 @@ CONFIG_ENV_SIZE=0x10000 CONFIG_ENV_OFFSET=0x100000 # CONFIG_ENV_IS_IN_FAT is not set CONFIG_ENV_IS_IN_MMC=y -CONFIG_SYS_REDUNDAND_ENVIRONMENT=y +CONFIG_ENV_REDUNDANT=y CONFIG_ENV_OFFSET_REDUND=0x120000 diff --git a/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend b/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend index b46127a7b..f64371c7b 100644 --- a/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend +++ b/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend @@ -1,14 +1,14 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:${LAYERDIR_raspberrypi}/recipes-bsp/u-boot/files:" SRC_URI += "\ - file://0001-rpi-always-set-fdt_addr-with-firmware-provided-FDT-address.patch \ file://add-reset-info.patch \ file://omnect_env_rpi.patch \ + file://cap-bootmapsz-cma.patch \ file://enable-reset-info-cmd-fragment.cfg \ file://redundant-env.cfg \ file://omnect_env_rpi.h \ " do_configure:prepend() { - cp -f ${WORKDIR}/omnect_env_rpi.h ${S}/include/configs/omnect_env_machine.h + cp -f ${UNPACKDIR}/omnect_env_rpi.h ${S}/include/configs/omnect_env_machine.h } diff --git a/dynamic-layers/raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_%.bbappend b/dynamic-layers/raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_%.bbappend index 1e93fc51e..ac2d2c358 100644 --- a/dynamic-layers/raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_%.bbappend +++ b/dynamic-layers/raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_%.bbappend @@ -1,4 +1,3 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" -SRC_URI += "file://0001-Fix-device-dependency-in-hciuart.service.patch \ -file://hciuart_restart.patch" +SRC_URI += "file://hciuart_restart.patch" diff --git a/dynamic-layers/virtualization/recipes-azure-iot/iotedge/aziot-edged/aziot-edged.inc b/dynamic-layers/virtualization/recipes-azure-iot/iotedge/aziot-edged/aziot-edged.inc index 661bfaf09..a6cb68254 100644 --- a/dynamic-layers/virtualization/recipes-azure-iot/iotedge/aziot-edged/aziot-edged.inc +++ b/dynamic-layers/virtualization/recipes-azure-iot/iotedge/aziot-edged/aziot-edged.inc @@ -1,9 +1,22 @@ # overwrite LIC_FILES_CHKSUM from cargo-bitbake generated recipe LIC_FILES_CHKSUM = "file://LICENSE;md5=0f7e3b1308cb5c00b372a6e78835732d" +# Override cargo-bitbake's generated S = "${WORKDIR}/git", which oe-core's +# do_qa_unpack now rejects (git unpacks to ${UNPACKDIR}/${BP}). +S = "${UNPACKDIR}/${BP}" + +# cargo-bitbake emits the crate path overrides under ${WORKDIR}, but wrynose's git +# fetcher unpacks destsuffix= sources under ${UNPACKDIR}. Repoint every override here +# (operating on the unexpanded value) so a version bump that regenerates the .bb can't +# reintroduce the stale prefix. +python() { + paths = d.getVar('EXTRA_OECARGO_PATHS', False) or "" + d.setVar('EXTRA_OECARGO_PATHS', paths.replace('${WORKDIR}/', '${UNPACKDIR}/')) +} + SRC_URI += "\ file://fix_linter_findings-aziot-edged.patch \ - file://fix_linter_findings-aziot-cert-client-async.patch;patchdir=${WORKDIR}/aziot-cert-client-async \ + file://fix_linter_findings-aziot-cert-client-async.patch;patchdir=${UNPACKDIR}/aziot-cert-client-async \ " # overwrite CARGO_SRC_DIR from cargo-bitbake generated recipe @@ -22,7 +35,7 @@ export SOCKET_DIR = "/run/aziot" inherit aziot features_check omnect_rust_aziot-identityd_deps systemd -RUSTFLAGS+="-D warnings" +RUSTFLAGS += "-D warnings" do_install () { # binaries diff --git a/dynamic-layers/virtualization/recipes-azure-iot/iotedge/iotedge/iotedge.inc b/dynamic-layers/virtualization/recipes-azure-iot/iotedge/iotedge/iotedge.inc index 983ac7e7d..961a46fac 100644 --- a/dynamic-layers/virtualization/recipes-azure-iot/iotedge/iotedge/iotedge.inc +++ b/dynamic-layers/virtualization/recipes-azure-iot/iotedge/iotedge/iotedge.inc @@ -1,6 +1,19 @@ # overwrite LIC_FILES_CHKSUM from cargo-bitbake generated recipe LIC_FILES_CHKSUM = "file://LICENSE;md5=0f7e3b1308cb5c00b372a6e78835732d" +# Override cargo-bitbake's generated S = "${WORKDIR}/git", which oe-core's +# do_qa_unpack now rejects (git unpacks to ${UNPACKDIR}/${BP}). +S = "${UNPACKDIR}/${BP}" + +# cargo-bitbake emits the crate path overrides under ${WORKDIR}, but wrynose's git +# fetcher unpacks destsuffix= sources under ${UNPACKDIR}. Repoint every override here +# (operating on the unexpanded value) so a version bump that regenerates the .bb can't +# reintroduce the stale prefix. +python() { + paths = d.getVar('EXTRA_OECARGO_PATHS', False) or "" + d.setVar('EXTRA_OECARGO_PATHS', paths.replace('${WORKDIR}/', '${UNPACKDIR}/')) +} + # overwrite CARGO_SRC_DIR from cargo-bitbake generated recipe CARGO_SRC_DIR = "edgelet/iotedge" CARGO_LOCK_PATH = "${S}/edgelet/Cargo.lock" @@ -9,8 +22,9 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/:" SRC_URI += "\ file://apply_doesnt_restart_services.patch \ + file://fix_docker_engine_api_version.patch \ file://fix_linter_findings-iotedge.patch \ - file://fix_linter_findings-aziot-cert-client-async.patch;patchdir=${WORKDIR}/aziot-cert-client-async \ + file://fix_linter_findings-aziot-cert-client-async.patch;patchdir=${UNPACKDIR}/aziot-cert-client-async \ " DEPENDS += "openssl" @@ -25,7 +39,7 @@ export IOTEDGE_LISTEN_MANAGEMENT_URI = "fd://aziot-edged.mgmt.socket" export IOTEDGE_LISTEN_WORKLOAD_URI = "fd://aziot-edged.workload.socket" export SOCKET_DIR = "/run/aziot" -RUSTFLAGS+="-D warnings" +RUSTFLAGS += "-D warnings" do_install () { # Binaries diff --git a/dynamic-layers/virtualization/recipes-azure-iot/iotedge/iotedge/iotedge/fix_docker_engine_api_version.patch b/dynamic-layers/virtualization/recipes-azure-iot/iotedge/iotedge/iotedge/fix_docker_engine_api_version.patch new file mode 100644 index 000000000..86a8cb709 --- /dev/null +++ b/dynamic-layers/virtualization/recipes-azure-iot/iotedge/iotedge/iotedge/fix_docker_engine_api_version.patch @@ -0,0 +1,41 @@ +Bump the pinned Docker Engine API version from v1.34 to v1.44. + +Docker Engine 29 raised its minimum supported API version to 1.44, so +"iotedge config apply" (and the docker-rs client generally) fails with +"client version 1.34 is too old" against a v29 daemon. + +Upstream issue: https://github.com/Azure/iotedge/issues/7494 +Proposed fix: https://github.com/Azure/iotedge/issues/7494#issuecomment-3702307679 + +Upstream-Status: Pending + +diff --git a/edgelet/docker-rs/docker-swagger.yaml b/edgelet/docker-rs/docker-swagger.yaml +index 9eb659d22..0c7be77d9 100644 +--- a/edgelet/docker-rs/docker-swagger.yaml ++++ b/edgelet/docker-rs/docker-swagger.yaml +@@ -24,10 +24,10 @@ produces: + consumes: + - "application/json" + - "text/plain" +-basePath: "/v1.34" ++basePath: "/v1.44" + info: + title: "Docker Engine API" +- version: "1.34" ++ version: "1.44" + x-logo: + url: "https://docs.docker.com/images/logo-docker-main.png" + description: | +diff --git a/edgelet/docker-rs/src/apis/configuration.rs b/edgelet/docker-rs/src/apis/configuration.rs +index 739363a58..826e839a8 100644 +--- a/edgelet/docker-rs/src/apis/configuration.rs ++++ b/edgelet/docker-rs/src/apis/configuration.rs +@@ -7,7 +7,7 @@ pub struct Configuration { + impl Default for Configuration { + fn default() -> Self { + Configuration { +- base_path: "http://localhost/v1.34".to_owned(), ++ base_path: "http://localhost/v1.44".to_owned(), + user_agent: Some("edgelet/0.1.0".to_owned()), + uri_composer: Box::new(|base_path, path| Ok(format!("{}{}", base_path, path).parse()?)), + } diff --git a/dynamic-layers/virtualization/recipes-containers/docker/docker-moby_git.bbappend b/dynamic-layers/virtualization/recipes-containers/docker/docker-moby_git.bbappend index d6759e0f5..e62cb9a31 100644 --- a/dynamic-layers/virtualization/recipes-containers/docker/docker-moby_git.bbappend +++ b/dynamic-layers/virtualization/recipes-containers/docker/docker-moby_git.bbappend @@ -8,7 +8,7 @@ do_install:append () { # install bash completion install -m 0644 -D ${S}/cli/contrib/completion/bash/docker ${D}/${datadir}/bash-completion/completions/docker - install -m 0644 -D ${WORKDIR}/daemon.json ${D}${sysconfdir}/docker/daemon.json + install -m 0644 -D ${UNPACKDIR}/daemon.json ${D}${sysconfdir}/docker/daemon.json sed -i \ -e 's/^After=\(.*\)$/After=\1 containerd.service/' \ diff --git a/wic/omnect-os.common.wks.inc b/files/wic/omnect-os.common.wks.inc similarity index 100% rename from wic/omnect-os.common.wks.inc rename to files/wic/omnect-os.common.wks.inc diff --git a/wic/omnect-os.grub.wks.in b/files/wic/omnect-os.grub.wks.in similarity index 76% rename from wic/omnect-os.grub.wks.in rename to files/wic/omnect-os.grub.wks.in index 2b9df96ba..8bb6cf79b 100644 --- a/wic/omnect-os.grub.wks.in +++ b/files/wic/omnect-os.grub.wks.in @@ -1,5 +1,5 @@ part --offset ${OMNECT_PART_OFFSET_BOOT}K --fixed-size ${OMNECT_PART_SIZE_BOOT}K --source bootimg-efi --sourceparams="loader=grub-efi" --fstype=vfat --label boot --active -include omnect-os.common.wks.inc +include ${LAYERDIR_omnect}/files/wic/omnect-os.common.wks.inc bootloader --ptable gpt diff --git a/wic/omnect-os.phytec.wks.in b/files/wic/omnect-os.phytec.wks.in similarity index 89% rename from wic/omnect-os.phytec.wks.in rename to files/wic/omnect-os.phytec.wks.in index 296f0671e..a44d1b216 100644 --- a/wic/omnect-os.phytec.wks.in +++ b/files/wic/omnect-os.phytec.wks.in @@ -3,6 +3,6 @@ part --no-table --offset ${OMNECT_PART_OFFSET_UBOOT_ENV1}K --source rawcopy --so part --no-table --offset ${OMNECT_PART_OFFSET_UBOOT_ENV2}K --source rawcopy --sourceparams="file=uboot-env.bin" part --offset ${OMNECT_PART_OFFSET_BOOT}K --fixed-size ${OMNECT_PART_SIZE_BOOT}K --fstype=vfat --label boot --source bootimg-partition --active -include omnect-os.common.wks.inc +include ${LAYERDIR_omnect}/files/wic/omnect-os.common.wks.inc bootloader --ptable gpt diff --git a/wic/omnect-os.rpi.wks.inc b/files/wic/omnect-os.rpi.wks.inc similarity index 100% rename from wic/omnect-os.rpi.wks.inc rename to files/wic/omnect-os.rpi.wks.inc diff --git a/files/wic/omnect-os.rpi4.wks.in b/files/wic/omnect-os.rpi4.wks.in new file mode 100644 index 000000000..81f551d73 --- /dev/null +++ b/files/wic/omnect-os.rpi4.wks.in @@ -0,0 +1,3 @@ +include ${LAYERDIR_omnect}/files/wic/omnect-os.rpi.wks.inc + +bootloader --ptable gpt diff --git a/kas/distro/oe.yaml b/kas/distro/oe.yaml index 081806b52..93c3218ba 100644 --- a/kas/distro/oe.yaml +++ b/kas/distro/oe.yaml @@ -5,21 +5,21 @@ distro: nodistro repos: ext/bitbake: url: "https://git.openembedded.org/bitbake" - branch: "2.8" - # tag yocto-5.0.18 - commit: "82abbfcdbda949851a03bb2cb2049ea689564ad6" + branch: "2.18" + # tag yocto-6.0.2 + commit: "acfe02fa38b5da9e6a36c6cedcf91d4fcbefbfbd" layers: .: 0 ext/_openembedded-core: #_ prefixed because of layer order with same prio e.g. meta-openembedded url: "https://git.openembedded.org/openembedded-core" - branch: "scarthgap" - # tag yocto-5.0.18 - commit: "ece80784b493c8b7493478fa2ba0dc1d6d80aa79" + branch: "wrynose" + # tag yocto-6.0.2 + commit: "5d1aa5c806c061a2994f4decb59016610f093213" layers: meta: patches: p001: repo: "meta-omnect" - path: "kas/patches/oe.patch" + path: "kas/patches/oe_layerdir.patch" env: - OE_VERSION: "5.0.18" + OE_VERSION: "6.0.2" diff --git a/kas/distro/omnect-os.yaml b/kas/distro/omnect-os.yaml index e801475f9..887658175 100644 --- a/kas/distro/omnect-os.yaml +++ b/kas/distro/omnect-os.yaml @@ -9,8 +9,8 @@ repos: meta-omnect: ext/meta-openembedded: url: "https://github.com/openembedded/meta-openembedded.git" - branch: "scarthgap" - commit: "d8cc4e44001c7257273d290ce8c4496e93d32841" + branch: "wrynose" + commit: "d97b5602d7f64422c94b7311466cda7f6b1962d5" layers: # meta-multimedia is used by qemu_8.2.2.imx.bb (tauri) ToDo: possible to handle that in the machine specific kas file? meta-multimedia: @@ -18,29 +18,24 @@ repos: meta-networking: meta-oe: meta-python: - - patches: - p001: - repo: "meta-omnect" - path: "kas/patches/meta-openembedded.patch" # we need meta-tpm independend of feature/tpm.yaml to be able # to build iot-identity-service ext/meta-security: url: "https://git.yoctoproject.org/meta-security" - branch: "scarthgap" - commit: "b13f1705d723650de61277670c8a76aadea4cfdd" + branch: "wrynose" + commit: "c0d1d6200e7a84c39fb940cb1f22aad4b0b3d808" layers: # base layer (collection "security") - provides the AppArmor userspace .: meta-tpm: ext/meta-swupdate: url: "https://github.com/sbabic/meta-swupdate.git" - branch: "scarthgap" - commit: "cb709b865a56be48cb17cbad149b69f793f3888b" + branch: "wrynose" + commit: "c3eba00d3252ef17fed4812473c47c87fb34db40" ext/meta-virtualization: url: "https://git.yoctoproject.org/meta-virtualization" - branch: "scarthgap" - commit: "89da4f56b4c510059f8dc1527d289d9fd4fef133" + branch: "wrynose" + commit: "781735b97ae5013cacabbecd38e6da6b510cf3fb" patches: p001: repo: "meta-omnect" diff --git a/kas/machine/phytec/phytec.yaml b/kas/machine/phytec/phytec.yaml index 1a5485c7c..5bd30395d 100644 --- a/kas/machine/phytec/phytec.yaml +++ b/kas/machine/phytec/phytec.yaml @@ -6,36 +6,34 @@ header: repos: ext/meta-phytec: url: "https://github.com/phytec/meta-phytec" - branch: "scarthgap" - # for now pinned to our 5.0.15 release, because of https://github.com/phytec/linux-phytec-imx/issues/2 - commit: "951384d6a847a5cfcb9c34e31e2e47c15a91437f" + branch: "wrynose" + commit: "d4afe1789657da17b9a87bb7e942ee9a0ed1274c" patches: p001: repo: "meta-omnect" path: "kas/patches/meta-phytec_layerdir.patch" ext/meta-freescale: url: "https://github.com/Freescale/meta-freescale.git" - branch: "scarthgap" - commit: "902dde8c5bd29bb507ac8d37772565a6c9ab77cd" + branch: "wrynose" + commit: "25ce7c63c234af499674392751c67aaae8f43958" patches: p001: repo: "meta-omnect" path: "kas/patches/meta-freescale_layerdir.patch" ext/meta-imx: url: "https://github.com/nxp-imx/meta-imx.git" - branch: "scarthgap-6.6.52-2.2.2" - commit: "e1ec1a20d573e3913f4ad90fa36546ed2bc87715" + branch: "wrynose-6.18.20-2.0.0" + commit: "1001299baf5a3b468c93e381c62aeb486a639aa1" layers: meta-imx-bsp: - meta-imx-sdk: patches: p001: repo: "meta-omnect" path: "kas/patches/meta-imx_layerdir.patch" ext/meta-arm: url: "https://git.yoctoproject.org/meta-arm" - branch: "scarthgap" - commit: "a81c19915b5b9e71ed394032e9a50fd06919e1cd" + branch: "wrynose" + commit: "caa36c53f796beb25d9b9f58b1b7a492e9987e15" layers: meta-arm: meta-arm-toolchain: diff --git a/kas/machine/rpi/rpi.yaml b/kas/machine/rpi/rpi.yaml index e16d10884..72172c8d8 100644 --- a/kas/machine/rpi/rpi.yaml +++ b/kas/machine/rpi/rpi.yaml @@ -6,8 +6,8 @@ header: repos: ext/meta-raspberrypi: url: "https://github.com/agherzan/meta-raspberrypi.git" - branch: "scarthgap" - commit: "167703d5618498bb7feeaedf18e61be7a8246d1b" + branch: "wrynose" + commit: "f62c67921474370829d24a4fa01ef88543f3906b" patches: p001: repo: "meta-omnect" diff --git a/kas/machine/x86_64/genericx86-64.yaml b/kas/machine/x86_64/genericx86-64.yaml index 4453f7d12..40f12aba9 100644 --- a/kas/machine/x86_64/genericx86-64.yaml +++ b/kas/machine/x86_64/genericx86-64.yaml @@ -6,14 +6,14 @@ header: repos: ext/meta-yocto-bsp: url: "https://git.yoctoproject.org/meta-yocto" - branch: scarthgap - commit: "ca5a51aadaf651881d640688dc3e1e123aa30bf6" + branch: wrynose + commit: "824795b885b25e074a2880fbcd54e1a6c875d47d" layers: meta-yocto-bsp: ext/meta-secure-core: url: "https://github.com/Wind-River/meta-secure-core.git" - branch: "scarthgap" - commit: "bd17305b2c2186f4b70f732a0aed9b60795d9720" + branch: "wrynose" + commit: "07a99ae241acd488a2feda1ededf87dc70dfde80" layers: meta-efi-secure-boot: meta-secure-core-common: @@ -24,8 +24,8 @@ repos: path: "kas/patches/meta-efi-secure-boot_layerdir.patch" ext/meta-perl: url: "https://github.com/openembedded/meta-openembedded.git" - branch: "scarthgap" - commit: "d8cc4e44001c7257273d290ce8c4496e93d32841" + branch: "wrynose" + commit: "d97b5602d7f64422c94b7311466cda7f6b1962d5" layers: meta-perl: diff --git a/kas/patches/meta-arm_layerdir.patch b/kas/patches/meta-arm_layerdir.patch index 0edad5bca..cac72ded1 100644 --- a/kas/patches/meta-arm_layerdir.patch +++ b/kas/patches/meta-arm_layerdir.patch @@ -1,11 +1,10 @@ diff --git a/meta-arm/conf/layer.conf b/meta-arm/conf/layer.conf -index 9e9c9dbd..f419c34d 100644 +index c783846..49ba7ad 100644 --- a/meta-arm/conf/layer.conf +++ b/meta-arm/conf/layer.conf -@@ -21,3 +21,6 @@ HOSTTOOLS_NONFATAL += "telnet" - addpylib ${LAYERDIR}/lib oeqa - - WARN_QA:append:layer-meta-arm = " patch-status" +@@ -29,3 +29,5 @@ BBFILES_DYNAMIC += " \ + tpm2:${LAYERDIR}/dynamic-layers/meta-tpm2/*/*/*.bb \ + tpm2:${LAYERDIR}/dynamic-layers/meta-tpm2/*/*/*.bbappend \ + " + +LAYERDIR_arm = "${LAYERDIR}" -+ diff --git a/kas/patches/meta-efi-secure-boot_layerdir.patch b/kas/patches/meta-efi-secure-boot_layerdir.patch index 5482f2ca3..7bfb58a04 100644 --- a/kas/patches/meta-efi-secure-boot_layerdir.patch +++ b/kas/patches/meta-efi-secure-boot_layerdir.patch @@ -1,9 +1,10 @@ diff --git a/meta-efi-secure-boot/conf/layer.conf b/meta-efi-secure-boot/conf/layer.conf -index 0efef32..1ebddf7 100644 +index 6d92a48..82bdb74 100644 --- a/meta-efi-secure-boot/conf/layer.conf +++ b/meta-efi-secure-boot/conf/layer.conf -@@ -20,3 +20,4 @@ LAYERDEPENDS_efi-secure-boot = "\ +@@ -20,3 +20,5 @@ LAYERDEPENDS_efi-secure-boot = "\ " - LAYERSERIES_COMPAT_efi-secure-boot = "scarthgap" + LAYERSERIES_COMPAT_efi-secure-boot = "wrynose" ++ +LAYERDIR_efi-secure-boot = "${LAYERDIR}" diff --git a/kas/patches/meta-freescale_layerdir.patch b/kas/patches/meta-freescale_layerdir.patch index d7d4bdf06..20576e124 100644 --- a/kas/patches/meta-freescale_layerdir.patch +++ b/kas/patches/meta-freescale_layerdir.patch @@ -1,8 +1,8 @@ diff --git a/conf/layer.conf b/conf/layer.conf -index 5ff2839d..f9dfa02d 100644 +index ad2f52d..07074e9 100644 --- a/conf/layer.conf +++ b/conf/layer.conf -@@ -57,3 +57,5 @@ BBFILES_DYNAMIC += " \ +@@ -72,3 +72,5 @@ BBFILES_DYNAMIC += " \ virtualization-layer:${LAYERDIR}/dynamic-layers/virtualization-layer/*/*/*.bb \ virtualization-layer:${LAYERDIR}/dynamic-layers/virtualization-layer/*/*/*.bbappend \ " diff --git a/kas/patches/meta-imx_layerdir.patch b/kas/patches/meta-imx_layerdir.patch index b6a352b26..70c509001 100644 --- a/kas/patches/meta-imx_layerdir.patch +++ b/kas/patches/meta-imx_layerdir.patch @@ -1,12 +1,10 @@ diff --git a/meta-imx-bsp/conf/layer.conf b/meta-imx-bsp/conf/layer.conf -index 94bea8fe36..5b3d59930f 100644 +index 5658fb4..71fbe4c 100644 --- a/meta-imx-bsp/conf/layer.conf +++ b/meta-imx-bsp/conf/layer.conf -@@ -9,6 +9,7 @@ BBFILE_COLLECTIONS += "fsl-bsp-release" - BBFILE_PATTERN_fsl-bsp-release := "^${LAYERDIR}/" - BBFILE_PRIORITY_fsl-bsp-release = "8" - LAYERSERIES_COMPAT_fsl-bsp-release = "mickledore nanbield scarthgap" -+LAYERDIR_fsl-bsp-release = "${LAYERDIR}" +@@ -291,3 +291,5 @@ KERNEL_DEVICETREE:append:imx93-11x11-lpddr4x-evk = " \ + # Overrides for imx943-19x19-lpddr4-evk.conf - # Create a mirror for unreliable packages - MIRRORS += "http://sourceforge.net/.* http://www.nxp.com/lgfiles/updates/other" + # Overrides for imx943-15x15-lpddr4-evk.conf ++ ++LAYERDIR_fsl-bsp-release = "${LAYERDIR}" diff --git a/kas/patches/meta-openembedded.patch b/kas/patches/meta-openembedded.patch deleted file mode 100644 index ba29f2be1..000000000 --- a/kas/patches/meta-openembedded.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.46.6.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.46.6.bb -index 8bf0942a21..9d1b937514 100644 ---- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.46.6.bb -+++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.46.6.bb -@@ -76,11 +76,11 @@ EXTRA_OEMESON = "\ - CFLAGS:append:libc-musl = " \ - -DRTLD_DEEPBIND=0 \ - " --do_configure:prepend() { -- cp -f ${STAGING_LIBDIR}/girepository-1.0/GObject*typelib ${STAGING_LIBDIR_NATIVE}/girepository-1.0/ -- cp -f ${STAGING_LIBDIR}/girepository-1.0/Gio*typelib ${STAGING_LIBDIR_NATIVE}/girepository-1.0/ -- cp -f ${STAGING_LIBDIR}/girepository-1.0/GModule*typelib ${STAGING_LIBDIR_NATIVE}/girepository-1.0/ --} -+#do_configure:prepend() { -+# cp -f ${STAGING_LIBDIR}/girepository-1.0/GObject*typelib ${STAGING_LIBDIR_NATIVE}/girepository-1.0/ -+# cp -f ${STAGING_LIBDIR}/girepository-1.0/Gio*typelib ${STAGING_LIBDIR_NATIVE}/girepository-1.0/ -+# cp -f ${STAGING_LIBDIR}/girepository-1.0/GModule*typelib ${STAGING_LIBDIR_NATIVE}/girepository-1.0/ -+#} - - PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli vala \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ -diff --git a/meta-oe/recipes-support/nspr/nspr_4.35.bb b/meta-oe/recipes-support/nspr/nspr_4.35.bb -index f8d329398..5db8e2624 100644 ---- a/meta-oe/recipes-support/nspr/nspr_4.35.bb -+++ b/meta-oe/recipes-support/nspr/nspr_4.35.bb -@@ -30,7 +30,7 @@ CVE_PRODUCT = "netscape_portable_runtime" - - S = "${WORKDIR}/nspr-${PV}/nspr" - --RDEPENDS:${PN}-dev += "perl" -+# RDEPENDS:${PN}-dev += "perl" - TARGET_CC_ARCH += "${LDFLAGS}" - - TESTS = " \ -@@ -166,9 +166,9 @@ do_compile:prepend() { - oe_runmake CROSS_COMPILE=1 CFLAGS="-DXP_UNIX ${BUILD_CFLAGS}" LDFLAGS="" CC="${BUILD_CC}" -C config export - } - --do_compile:append() { -- oe_runmake -C pr/tests --} -+# do_compile:append() { -+# oe_runmake -C pr/tests -+# } - - do_install:append() { - install -D ${WORKDIR}/nspr.pc.in ${D}${libdir}/pkgconfig/nspr.pc -@@ -180,11 +180,11 @@ do_install:append() { - -e 's:OEEXECPREFIX:${exec_prefix}:g' \ - ${D}${libdir}/pkgconfig/nspr.pc - -- mkdir -p ${D}${libdir}/nspr/tests -- install -m 0755 ${S}/pr/tests/runtests.pl ${D}${libdir}/nspr/tests -- install -m 0755 ${S}/pr/tests/runtests.sh ${D}${libdir}/nspr/tests -- cd ${B}/pr/tests -- install -m 0755 ${TESTS} ${D}${libdir}/nspr/tests -+ # mkdir -p ${D}${libdir}/nspr/tests -+ # install -m 0755 ${S}/pr/tests/runtests.pl ${D}${libdir}/nspr/tests -+ # install -m 0755 ${S}/pr/tests/runtests.sh ${D}${libdir}/nspr/tests -+ # cd ${B}/pr/tests -+ # install -m 0755 ${TESTS} ${D}${libdir}/nspr/tests - - # delete compile-et.pl and perr.properties from ${bindir} because these are - # only used to generate prerr.c and prerr.h files from prerr.et at compile diff --git a/kas/patches/meta-openembedded_networkmanager.patch b/kas/patches/meta-openembedded_networkmanager.patch deleted file mode 100644 index 069d92eca..000000000 --- a/kas/patches/meta-openembedded_networkmanager.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.46.6.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.46.6.bb -index 8bf0942a21..9d1b937514 100644 ---- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.46.6.bb -+++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.46.6.bb -@@ -76,11 +76,11 @@ EXTRA_OEMESON = "\ - CFLAGS:append:libc-musl = " \ - -DRTLD_DEEPBIND=0 \ - " --do_configure:prepend() { -- cp -f ${STAGING_LIBDIR}/girepository-1.0/GObject*typelib ${STAGING_LIBDIR_NATIVE}/girepository-1.0/ -- cp -f ${STAGING_LIBDIR}/girepository-1.0/Gio*typelib ${STAGING_LIBDIR_NATIVE}/girepository-1.0/ -- cp -f ${STAGING_LIBDIR}/girepository-1.0/GModule*typelib ${STAGING_LIBDIR_NATIVE}/girepository-1.0/ --} -+#do_configure:prepend() { -+# cp -f ${STAGING_LIBDIR}/girepository-1.0/GObject*typelib ${STAGING_LIBDIR_NATIVE}/girepository-1.0/ -+# cp -f ${STAGING_LIBDIR}/girepository-1.0/Gio*typelib ${STAGING_LIBDIR_NATIVE}/girepository-1.0/ -+# cp -f ${STAGING_LIBDIR}/girepository-1.0/GModule*typelib ${STAGING_LIBDIR_NATIVE}/girepository-1.0/ -+#} - - PACKAGECONFIG ??= "readline nss ifupdown dnsmasq nmcli vala \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ diff --git a/kas/patches/meta-openembedded_nspr_do_not_install_perl_to_image.patch b/kas/patches/meta-openembedded_nspr_do_not_install_perl_to_image.patch deleted file mode 100644 index 21743f74c..000000000 --- a/kas/patches/meta-openembedded_nspr_do_not_install_perl_to_image.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/meta-oe/recipes-support/nspr/nspr_4.35.bb b/meta-oe/recipes-support/nspr/nspr_4.35.bb -index f8d329398..5db8e2624 100644 ---- a/meta-oe/recipes-support/nspr/nspr_4.35.bb -+++ b/meta-oe/recipes-support/nspr/nspr_4.35.bb -@@ -30,7 +30,7 @@ CVE_PRODUCT = "netscape_portable_runtime" - - S = "${WORKDIR}/nspr-${PV}/nspr" - --RDEPENDS:${PN}-dev += "perl" -+# RDEPENDS:${PN}-dev += "perl" - TARGET_CC_ARCH += "${LDFLAGS}" - - TESTS = " \ -@@ -166,9 +166,9 @@ do_compile:prepend() { - oe_runmake CROSS_COMPILE=1 CFLAGS="-DXP_UNIX ${BUILD_CFLAGS}" LDFLAGS="" CC="${BUILD_CC}" -C config export - } - --do_compile:append() { -- oe_runmake -C pr/tests --} -+# do_compile:append() { -+# oe_runmake -C pr/tests -+# } - - do_install:append() { - install -D ${WORKDIR}/nspr.pc.in ${D}${libdir}/pkgconfig/nspr.pc -@@ -180,11 +180,11 @@ do_install:append() { - -e 's:OEEXECPREFIX:${exec_prefix}:g' \ - ${D}${libdir}/pkgconfig/nspr.pc - -- mkdir -p ${D}${libdir}/nspr/tests -- install -m 0755 ${S}/pr/tests/runtests.pl ${D}${libdir}/nspr/tests -- install -m 0755 ${S}/pr/tests/runtests.sh ${D}${libdir}/nspr/tests -- cd ${B}/pr/tests -- install -m 0755 ${TESTS} ${D}${libdir}/nspr/tests -+ # mkdir -p ${D}${libdir}/nspr/tests -+ # install -m 0755 ${S}/pr/tests/runtests.pl ${D}${libdir}/nspr/tests -+ # install -m 0755 ${S}/pr/tests/runtests.sh ${D}${libdir}/nspr/tests -+ # cd ${B}/pr/tests -+ # install -m 0755 ${TESTS} ${D}${libdir}/nspr/tests - - # delete compile-et.pl and perr.properties from ${bindir} because these are - # only used to generate prerr.c and prerr.h files from prerr.et at compile diff --git a/kas/patches/meta-phytec_layerdir.patch b/kas/patches/meta-phytec_layerdir.patch index abbf39d45..344bcc69e 100644 --- a/kas/patches/meta-phytec_layerdir.patch +++ b/kas/patches/meta-phytec_layerdir.patch @@ -1,8 +1,8 @@ diff --git a/conf/layer.conf b/conf/layer.conf -index 89c305d5..c62c632e 100644 +index e55da6b..cfa90b1 100644 --- a/conf/layer.conf +++ b/conf/layer.conf -@@ -56,3 +56,5 @@ BBMASK:append:k3 = "\ +@@ -55,3 +55,5 @@ BBMASK:append:k3 = "\ meta-ti/meta-ti-bsp/recipes-security/optee/ \ meta-ti/meta-ti-bsp/recipes-bsp/trusted-firmware-a/ \ " diff --git a/kas/patches/meta-raspberrypi_layerdir.patch b/kas/patches/meta-raspberrypi_layerdir.patch index 6df3f1d85..8feffa5b6 100644 --- a/kas/patches/meta-raspberrypi_layerdir.patch +++ b/kas/patches/meta-raspberrypi_layerdir.patch @@ -1,8 +1,8 @@ diff --git a/conf/layer.conf b/conf/layer.conf -index d7ad4ed..14489b5 100644 +index d66f323..d1cadce 100644 --- a/conf/layer.conf +++ b/conf/layer.conf -@@ -38,3 +38,5 @@ BBFILES_DYNAMIC += " \ +@@ -35,3 +35,5 @@ BBFILES_DYNAMIC += " \ DEFAULT_TEST_SUITES:remove:rpi = "parselogs" DEFAULT_TEST_SUITES:append:rpi = " parselogs_rpi" diff --git a/kas/patches/meta-virtualization_layerdir.patch b/kas/patches/meta-virtualization_layerdir.patch index 50275d554..11dc4280c 100644 --- a/kas/patches/meta-virtualization_layerdir.patch +++ b/kas/patches/meta-virtualization_layerdir.patch @@ -1,10 +1,10 @@ diff --git a/conf/layer.conf b/conf/layer.conf -index 7c8e3701..04bbe9fd 100644 +index 2a4a4c9..9c8ff22 100644 --- a/conf/layer.conf +++ b/conf/layer.conf -@@ -62,3 +62,5 @@ USER_CLASSES:append = " meta-virt-xen-cfg" - USER_CLASSES:append = " meta-virt-hosts" +@@ -77,3 +77,5 @@ DISTRO_FEATURES_FILTER_NATIVE:append = " vcontainer virtualization" + NON_MULTILIB_RECIPES:append:x86-64 = " kubernetes" - HOSTTOOLS_NONFATAL += "getent" + DUMMY_PACKAGE_ARCHS_TARGET += "container-dummy-provides" + +LAYERDIR_virtualization-layer = "${LAYERDIR}" diff --git a/kas/patches/oe.patch b/kas/patches/oe.patch deleted file mode 100644 index 911dde115..000000000 --- a/kas/patches/oe.patch +++ /dev/null @@ -1,205 +0,0 @@ -diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py -index 37d07093f5..8358f77460 100644 ---- a/scripts/lib/wic/plugins/source/bootimg-efi.py -+++ b/scripts/lib/wic/plugins/source/bootimg-efi.py -@@ -297,113 +297,19 @@ class BootimgEFIPlugin(SourcePlugin): - - hdddir = "%s/hdd/boot" % cr_workdir - -- kernel = get_bitbake_var("KERNEL_IMAGETYPE") -- if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": -- if get_bitbake_var("INITRAMFS_IMAGE"): -- kernel = "%s-%s.bin" % \ -- (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME")) -- -- if source_params.get('create-unified-kernel-image') == "true": -- initrd = source_params.get('initrd') -- if not initrd: -- raise WicError("initrd= must be specified when create-unified-kernel-image=true, exiting") -- -- deploy_dir = get_bitbake_var("DEPLOY_DIR_IMAGE") -- efi_stub = glob("%s/%s" % (deploy_dir, "linux*.efi.stub")) -- if len(efi_stub) == 0: -- raise WicError("Unified Kernel Image EFI stub not found, exiting") -- efi_stub = efi_stub[0] -- -- with tempfile.TemporaryDirectory() as tmp_dir: -- label = source_params.get('label') -- label_conf = "root=%s" % creator.rootdev -- if label: -- label_conf = "LABEL=%s" % label -- -- bootloader = creator.ks.bootloader -- cmdline = open("%s/cmdline" % tmp_dir, "w") -- cmdline.write("%s %s" % (label_conf, bootloader.append)) -- cmdline.close() -- -- initrds = initrd.split(';') -- initrd = open("%s/initrd" % tmp_dir, "wb") -- for f in initrds: -- with open("%s/%s" % (deploy_dir, f), 'rb') as in_file: -- shutil.copyfileobj(in_file, initrd) -- initrd.close() -- -- # Searched by systemd-boot: -- # https://systemd.io/BOOT_LOADER_SPECIFICATION/#type-2-efi-unified-kernel-images -- install_cmd = "install -d %s/EFI/Linux" % hdddir -- exec_cmd(install_cmd) -- -- staging_dir_host = get_bitbake_var("STAGING_DIR_HOST") -- target_sys = get_bitbake_var("TARGET_SYS") -- -- objdump_cmd = "%s-objdump" % target_sys -- objdump_cmd += " -p %s" % efi_stub -- objdump_cmd += " | awk '{ if ($1 == \"SectionAlignment\"){print $2} }'" -- -- ret, align_str = exec_native_cmd(objdump_cmd, native_sysroot) -- align = int(align_str, 16) -- -- objdump_cmd = "%s-objdump" % target_sys -- objdump_cmd += " -h %s | tail -2" % efi_stub -- ret, output = exec_native_cmd(objdump_cmd, native_sysroot) -- -- offset = int(output.split()[2], 16) + int(output.split()[3], 16) -- -- osrel_off = offset + align - offset % align -- osrel_path = "%s/usr/lib/os-release" % staging_dir_host -- osrel_sz = os.stat(osrel_path).st_size -- -- cmdline_off = osrel_off + osrel_sz -- cmdline_off = cmdline_off + align - cmdline_off % align -- cmdline_sz = os.stat(cmdline.name).st_size -- -- dtb_off = cmdline_off + cmdline_sz -- dtb_off = dtb_off + align - dtb_off % align -- -- dtb = source_params.get('dtb') -- if dtb: -- if ';' in dtb: -- raise WicError("Only one DTB supported, exiting") -- dtb_path = "%s/%s" % (deploy_dir, dtb) -- dtb_params = '--add-section .dtb=%s --change-section-vma .dtb=0x%x' % \ -- (dtb_path, dtb_off) -- linux_off = dtb_off + os.stat(dtb_path).st_size -- linux_off = linux_off + align - linux_off % align -- else: -- dtb_params = '' -- linux_off = dtb_off -- -- linux_path = "%s/%s" % (staging_kernel_dir, kernel) -- linux_sz = os.stat(linux_path).st_size -- -- initrd_off = linux_off + linux_sz -- initrd_off = initrd_off + align - initrd_off % align -- -- # https://www.freedesktop.org/software/systemd/man/systemd-stub.html -- objcopy_cmd = "%s-objcopy" % target_sys -- objcopy_cmd += " --enable-deterministic-archives" -- objcopy_cmd += " --preserve-dates" -- objcopy_cmd += " --add-section .osrel=%s" % osrel_path -- objcopy_cmd += " --change-section-vma .osrel=0x%x" % osrel_off -- objcopy_cmd += " --add-section .cmdline=%s" % cmdline.name -- objcopy_cmd += " --change-section-vma .cmdline=0x%x" % cmdline_off -- objcopy_cmd += dtb_params -- objcopy_cmd += " --add-section .linux=%s" % linux_path -- objcopy_cmd += " --change-section-vma .linux=0x%x" % linux_off -- objcopy_cmd += " --add-section .initrd=%s" % initrd.name -- objcopy_cmd += " --change-section-vma .initrd=0x%x" % initrd_off -- objcopy_cmd += " %s %s/EFI/Linux/linux.efi" % (efi_stub, hdddir) -- -- exec_native_cmd(objcopy_cmd, native_sysroot) -- else: -- if source_params.get('install-kernel-into-boot-dir') != 'false': -- install_cmd = "install -m 0644 %s/%s %s/%s" % \ -- (staging_kernel_dir, kernel, hdddir, kernel) -- exec_cmd(install_cmd) -+ deploy_dir_img = get_bitbake_var("DEPLOY_DIR_IMAGE") -+ bootloader_version_install_cmd = "install -m 0644 -D %s/omnect_bootloader_version %s/EFI/BOOT/omnect_bootloader_version" % (deploy_dir_img, hdddir) -+ exec_cmd(bootloader_version_install_cmd) -+ omnect_extra_bootargs_install_cmd = "install -m 644 -D %s/omnect_extra_bootargs_omnect %s/omnect_extra_bootargs_omnect" % (deploy_dir_img, hdddir) -+ exec_cmd(omnect_extra_bootargs_install_cmd) -+ -+ grub_efi_sb_files = get_bitbake_var("OMNECT_GRUB_EFI_SB_FILES") -+ # get rid of multiple spaces -+ grub_efi_sb_files = ' '.join(grub_efi_sb_files.split()); -+ grub_efi_sb_files = grub_efi_sb_files.split() -+ for grub_efi_sb_file in grub_efi_sb_files: -+ efi_install_cmd = "install -m 0644 -D %s/%s %s/EFI/BOOT/%s" % (deploy_dir_img, grub_efi_sb_file, hdddir, grub_efi_sb_file) -+ exec_cmd(efi_install_cmd) - - if get_bitbake_var("IMAGE_EFI_BOOT_FILES"): - for src_path, dst_path in cls.install_task: -diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf -index efbf2610f9..330c964f87 100644 ---- a/meta/conf/layer.conf -+++ b/meta/conf/layer.conf -@@ -132,3 +132,5 @@ PATH := "${@'${BITBAKEPATH}:' if '${BITBAKEPATH}' != '' else ''}${HOSTTOOLS_DIR} - BB_GLOBAL_PYMODULES = "os sys time" - - addpylib ${LAYERDIR}/lib oe -+ -+LAYERDIR_core = "${LAYERDIR}" -diff --git a/meta/classes-recipe/rust-target-config.bbclass b/meta/classes-recipe/rust-target-config.bbclass -index 31b4bd9afd..0c304f62e1 100644 ---- a/meta/classes-recipe/rust-target-config.bbclass -+++ b/meta/classes-recipe/rust-target-config.bbclass -@@ -127,7 +127,7 @@ def llvm_features(d): - llvm_features[vardepvalue] = "${@llvm_features(d)}" - - ## arm-unknown-linux-gnueabihf --DATA_LAYOUT[arm-eabi] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" -+DATA_LAYOUT[arm-eabi] = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" - TARGET_ENDIAN[arm-eabi] = "little" - TARGET_POINTER_WIDTH[arm-eabi] = "32" - TARGET_C_INT_WIDTH[arm-eabi] = "32" -@@ -135,7 +135,7 @@ MAX_ATOMIC_WIDTH[arm-eabi] = "64" - FEATURES[arm-eabi] = "+v6,+vfp2" - - ## armv7-unknown-linux-gnueabihf --DATA_LAYOUT[armv7-eabi] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" -+DATA_LAYOUT[armv7-eabi] = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" - TARGET_ENDIAN[armv7-eabi] = "little" - TARGET_POINTER_WIDTH[armv7-eabi] = "32" - TARGET_C_INT_WIDTH[armv7-eabi] = "32" -@@ -143,14 +143,14 @@ MAX_ATOMIC_WIDTH[armv7-eabi] = "64" - FEATURES[armv7-eabi] = "+v7,+vfp2,+thumb2" - - ## aarch64-unknown-linux-{gnu, musl} --DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" -+DATA_LAYOUT[aarch64] = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" - TARGET_ENDIAN[aarch64] = "little" - TARGET_POINTER_WIDTH[aarch64] = "64" - TARGET_C_INT_WIDTH[aarch64] = "32" - MAX_ATOMIC_WIDTH[aarch64] = "128" - - ## x86_64-unknown-linux-{gnu, musl} --DATA_LAYOUT[x86_64] = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" -+DATA_LAYOUT[x86_64] = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128" - TARGET_ENDIAN[x86_64] = "little" - TARGET_POINTER_WIDTH[x86_64] = "64" - TARGET_C_INT_WIDTH[x86_64] = "32" -@@ -397,6 +397,15 @@ def rust_gen_target(d, thing, wd, arch): - tspec['position-independent-executables'] = True - tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY") - -+ # fix for: "Error loading target specification: ARM targets must set `llvm-floatabi` to `hard` or `soft`." -+ if "arm" in tspec['arch']: -+ tspec['llvm-floatabi'] = d.getVar('TARGET_FPU') -+ -+ # Convert width fields from strings to integers for Rust 1.93+ -+ for field in ['target-pointer-width', 'target-c-int-width', 'max-atomic-width']: -+ if field in tspec and isinstance(tspec[field], str): -+ tspec[field] = int(tspec[field]) -+ - # write out the target spec json file - with open(wd + rustsys + '.json', 'w') as f: - json.dump(tspec, f, indent=4) -@@ -404,7 +413,7 @@ def rust_gen_target(d, thing, wd, arch): - # These are accounted for in tmpdir path names so don't need to be in the task sig - rust_gen_target[vardepsexclude] += "ABIEXTENSION llvm_cpu" - --do_rust_gen_targets[vardeps] += "DATA_LAYOUT TARGET_ENDIAN TARGET_POINTER_WIDTH TARGET_C_INT_WIDTH MAX_ATOMIC_WIDTH FEATURES" -+do_rust_gen_targets[vardeps] += "DATA_LAYOUT TARGET_ENDIAN TARGET_POINTER_WIDTH TARGET_C_INT_WIDTH MAX_ATOMIC_WIDTH FEATURES LLVM_TARGET" - - RUST_TARGETS_DIR = "${WORKDIR}/rust-targets/" - export RUST_TARGET_PATH = "${RUST_TARGETS_DIR}" diff --git a/kas/patches/oe_bootimg_efi_wic.patch b/kas/patches/oe_bootimg_efi_wic.patch deleted file mode 100644 index 63c492233..000000000 --- a/kas/patches/oe_bootimg_efi_wic.patch +++ /dev/null @@ -1,131 +0,0 @@ -diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py -index 37d07093f5..8358f77460 100644 ---- a/scripts/lib/wic/plugins/source/bootimg-efi.py -+++ b/scripts/lib/wic/plugins/source/bootimg-efi.py -@@ -297,113 +297,19 @@ class BootimgEFIPlugin(SourcePlugin): - - hdddir = "%s/hdd/boot" % cr_workdir - -- kernel = get_bitbake_var("KERNEL_IMAGETYPE") -- if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": -- if get_bitbake_var("INITRAMFS_IMAGE"): -- kernel = "%s-%s.bin" % \ -- (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME")) -- -- if source_params.get('create-unified-kernel-image') == "true": -- initrd = source_params.get('initrd') -- if not initrd: -- raise WicError("initrd= must be specified when create-unified-kernel-image=true, exiting") -- -- deploy_dir = get_bitbake_var("DEPLOY_DIR_IMAGE") -- efi_stub = glob("%s/%s" % (deploy_dir, "linux*.efi.stub")) -- if len(efi_stub) == 0: -- raise WicError("Unified Kernel Image EFI stub not found, exiting") -- efi_stub = efi_stub[0] -- -- with tempfile.TemporaryDirectory() as tmp_dir: -- label = source_params.get('label') -- label_conf = "root=%s" % creator.rootdev -- if label: -- label_conf = "LABEL=%s" % label -- -- bootloader = creator.ks.bootloader -- cmdline = open("%s/cmdline" % tmp_dir, "w") -- cmdline.write("%s %s" % (label_conf, bootloader.append)) -- cmdline.close() -- -- initrds = initrd.split(';') -- initrd = open("%s/initrd" % tmp_dir, "wb") -- for f in initrds: -- with open("%s/%s" % (deploy_dir, f), 'rb') as in_file: -- shutil.copyfileobj(in_file, initrd) -- initrd.close() -- -- # Searched by systemd-boot: -- # https://systemd.io/BOOT_LOADER_SPECIFICATION/#type-2-efi-unified-kernel-images -- install_cmd = "install -d %s/EFI/Linux" % hdddir -- exec_cmd(install_cmd) -- -- staging_dir_host = get_bitbake_var("STAGING_DIR_HOST") -- target_sys = get_bitbake_var("TARGET_SYS") -- -- objdump_cmd = "%s-objdump" % target_sys -- objdump_cmd += " -p %s" % efi_stub -- objdump_cmd += " | awk '{ if ($1 == \"SectionAlignment\"){print $2} }'" -- -- ret, align_str = exec_native_cmd(objdump_cmd, native_sysroot) -- align = int(align_str, 16) -- -- objdump_cmd = "%s-objdump" % target_sys -- objdump_cmd += " -h %s | tail -2" % efi_stub -- ret, output = exec_native_cmd(objdump_cmd, native_sysroot) -- -- offset = int(output.split()[2], 16) + int(output.split()[3], 16) -- -- osrel_off = offset + align - offset % align -- osrel_path = "%s/usr/lib/os-release" % staging_dir_host -- osrel_sz = os.stat(osrel_path).st_size -- -- cmdline_off = osrel_off + osrel_sz -- cmdline_off = cmdline_off + align - cmdline_off % align -- cmdline_sz = os.stat(cmdline.name).st_size -- -- dtb_off = cmdline_off + cmdline_sz -- dtb_off = dtb_off + align - dtb_off % align -- -- dtb = source_params.get('dtb') -- if dtb: -- if ';' in dtb: -- raise WicError("Only one DTB supported, exiting") -- dtb_path = "%s/%s" % (deploy_dir, dtb) -- dtb_params = '--add-section .dtb=%s --change-section-vma .dtb=0x%x' % \ -- (dtb_path, dtb_off) -- linux_off = dtb_off + os.stat(dtb_path).st_size -- linux_off = linux_off + align - linux_off % align -- else: -- dtb_params = '' -- linux_off = dtb_off -- -- linux_path = "%s/%s" % (staging_kernel_dir, kernel) -- linux_sz = os.stat(linux_path).st_size -- -- initrd_off = linux_off + linux_sz -- initrd_off = initrd_off + align - initrd_off % align -- -- # https://www.freedesktop.org/software/systemd/man/systemd-stub.html -- objcopy_cmd = "%s-objcopy" % target_sys -- objcopy_cmd += " --enable-deterministic-archives" -- objcopy_cmd += " --preserve-dates" -- objcopy_cmd += " --add-section .osrel=%s" % osrel_path -- objcopy_cmd += " --change-section-vma .osrel=0x%x" % osrel_off -- objcopy_cmd += " --add-section .cmdline=%s" % cmdline.name -- objcopy_cmd += " --change-section-vma .cmdline=0x%x" % cmdline_off -- objcopy_cmd += dtb_params -- objcopy_cmd += " --add-section .linux=%s" % linux_path -- objcopy_cmd += " --change-section-vma .linux=0x%x" % linux_off -- objcopy_cmd += " --add-section .initrd=%s" % initrd.name -- objcopy_cmd += " --change-section-vma .initrd=0x%x" % initrd_off -- objcopy_cmd += " %s %s/EFI/Linux/linux.efi" % (efi_stub, hdddir) -- -- exec_native_cmd(objcopy_cmd, native_sysroot) -- else: -- if source_params.get('install-kernel-into-boot-dir') != 'false': -- install_cmd = "install -m 0644 %s/%s %s/%s" % \ -- (staging_kernel_dir, kernel, hdddir, kernel) -- exec_cmd(install_cmd) -+ deploy_dir_img = get_bitbake_var("DEPLOY_DIR_IMAGE") -+ bootloader_version_install_cmd = "install -m 0644 -D %s/omnect_bootloader_version %s/EFI/BOOT/omnect_bootloader_version" % (deploy_dir_img, hdddir) -+ exec_cmd(bootloader_version_install_cmd) -+ omnect_extra_bootargs_install_cmd = "install -m 644 -D %s/omnect_extra_bootargs_omnect %s/omnect_extra_bootargs_omnect" % (deploy_dir_img, hdddir) -+ exec_cmd(omnect_extra_bootargs_install_cmd) -+ -+ grub_efi_sb_files = get_bitbake_var("OMNECT_GRUB_EFI_SB_FILES") -+ # get rid of multiple spaces -+ grub_efi_sb_files = ' '.join(grub_efi_sb_files.split()); -+ grub_efi_sb_files = grub_efi_sb_files.split() -+ for grub_efi_sb_file in grub_efi_sb_files: -+ efi_install_cmd = "install -m 0644 -D %s/%s %s/EFI/BOOT/%s" % (deploy_dir_img, grub_efi_sb_file, hdddir, grub_efi_sb_file) -+ exec_cmd(efi_install_cmd) - - if get_bitbake_var("IMAGE_EFI_BOOT_FILES"): - for src_path, dst_path in cls.install_task: diff --git a/kas/patches/oe_layerdir.patch b/kas/patches/oe_layerdir.patch index 91e117d1d..9f4268d75 100644 --- a/kas/patches/oe_layerdir.patch +++ b/kas/patches/oe_layerdir.patch @@ -1,8 +1,8 @@ diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf -index efbf2610f9..330c964f87 100644 +index b097c34..ced9ec6 100644 --- a/meta/conf/layer.conf +++ b/meta/conf/layer.conf -@@ -132,3 +132,5 @@ PATH := "${@'${BITBAKEPATH}:' if '${BITBAKEPATH}' != '' else ''}${HOSTTOOLS_DIR} +@@ -145,3 +145,5 @@ PATH := "${@'${BITBAKEPATH}:' if '${BITBAKEPATH}' != '' else ''}${HOSTTOOLS_DIR} BB_GLOBAL_PYMODULES = "os sys time" addpylib ${LAYERDIR}/lib oe diff --git a/kas/patches/oe_rust-target-config.patch b/kas/patches/oe_rust-target-config.patch deleted file mode 100644 index 98115f37a..000000000 --- a/kas/patches/oe_rust-target-config.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/meta/classes-recipe/rust-target-config.bbclass b/meta/classes-recipe/rust-target-config.bbclass -index 31b4bd9afd..0c304f62e1 100644 ---- a/meta/classes-recipe/rust-target-config.bbclass -+++ b/meta/classes-recipe/rust-target-config.bbclass -@@ -127,7 +127,7 @@ def llvm_features(d): - llvm_features[vardepvalue] = "${@llvm_features(d)}" - - ## arm-unknown-linux-gnueabihf --DATA_LAYOUT[arm-eabi] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" -+DATA_LAYOUT[arm-eabi] = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" - TARGET_ENDIAN[arm-eabi] = "little" - TARGET_POINTER_WIDTH[arm-eabi] = "32" - TARGET_C_INT_WIDTH[arm-eabi] = "32" -@@ -135,7 +135,7 @@ MAX_ATOMIC_WIDTH[arm-eabi] = "64" - FEATURES[arm-eabi] = "+v6,+vfp2" - - ## armv7-unknown-linux-gnueabihf --DATA_LAYOUT[armv7-eabi] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" -+DATA_LAYOUT[armv7-eabi] = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" - TARGET_ENDIAN[armv7-eabi] = "little" - TARGET_POINTER_WIDTH[armv7-eabi] = "32" - TARGET_C_INT_WIDTH[armv7-eabi] = "32" -@@ -143,14 +143,14 @@ MAX_ATOMIC_WIDTH[armv7-eabi] = "64" - FEATURES[armv7-eabi] = "+v7,+vfp2,+thumb2" - - ## aarch64-unknown-linux-{gnu, musl} --DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" -+DATA_LAYOUT[aarch64] = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" - TARGET_ENDIAN[aarch64] = "little" - TARGET_POINTER_WIDTH[aarch64] = "64" - TARGET_C_INT_WIDTH[aarch64] = "32" - MAX_ATOMIC_WIDTH[aarch64] = "128" - - ## x86_64-unknown-linux-{gnu, musl} --DATA_LAYOUT[x86_64] = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" -+DATA_LAYOUT[x86_64] = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128" - TARGET_ENDIAN[x86_64] = "little" - TARGET_POINTER_WIDTH[x86_64] = "64" - TARGET_C_INT_WIDTH[x86_64] = "32" -@@ -397,6 +397,15 @@ def rust_gen_target(d, thing, wd, arch): - tspec['position-independent-executables'] = True - tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY") - -+ # fix for: "Error loading target specification: ARM targets must set `llvm-floatabi` to `hard` or `soft`." -+ if "arm" in tspec['arch']: -+ tspec['llvm-floatabi'] = d.getVar('TARGET_FPU') -+ -+ # Convert width fields from strings to integers for Rust 1.93+ -+ for field in ['target-pointer-width', 'target-c-int-width', 'max-atomic-width']: -+ if field in tspec and isinstance(tspec[field], str): -+ tspec[field] = int(tspec[field]) -+ - # write out the target spec json file - with open(wd + rustsys + '.json', 'w') as f: - json.dump(tspec, f, indent=4) -@@ -404,7 +413,7 @@ def rust_gen_target(d, thing, wd, arch): - # These are accounted for in tmpdir path names so don't need to be in the task sig - rust_gen_target[vardepsexclude] += "ABIEXTENSION llvm_cpu" - --do_rust_gen_targets[vardeps] += "DATA_LAYOUT TARGET_ENDIAN TARGET_POINTER_WIDTH TARGET_C_INT_WIDTH MAX_ATOMIC_WIDTH FEATURES" -+do_rust_gen_targets[vardeps] += "DATA_LAYOUT TARGET_ENDIAN TARGET_POINTER_WIDTH TARGET_C_INT_WIDTH MAX_ATOMIC_WIDTH FEATURES LLVM_TARGET" - - RUST_TARGETS_DIR = "${WORKDIR}/rust-targets/" - export RUST_TARGET_PATH = "${RUST_TARGETS_DIR}" diff --git a/recipes-azure-iot/azure-identityd/aziot-identityd.inc b/recipes-azure-iot/azure-identityd/aziot-identityd.inc index 0a62ef91c..48f18dbc4 100644 --- a/recipes-azure-iot/azure-identityd/aziot-identityd.inc +++ b/recipes-azure-iot/azure-identityd/aziot-identityd.inc @@ -7,11 +7,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=4f9c2c296f77b3096b6c11a16fa7c66e" # patches -# hint: fix_linker_and_linter_findings.patch must be after send_sd_notify.patch applied SRC_URI += " \ file://apply_doesnt_restart_services.patch \ file://send_sd_notify.patch \ - file://fix_linker_and_linter_findings.patch \ " # workspace @@ -28,6 +26,7 @@ B = "${S}" DEPENDS = " \ bindgen-native \ cbindgen-native \ + clang-native \ openssl \ pkgconfig-native \ libtss2 \ @@ -39,13 +38,29 @@ RDEPENDS:${PN} = " \ do_compile() { oe_cargo_fix_env - export RUSTFLAGS="${RUSTFLAGS} -D warnings" + # Export RUSTFLAGS into the env so the Makefile's `cargo build` subprocess + # inherits the cross sysroot/linker flags; without it rustc can't find the + # target std and fails with E0463 "can't find crate for `core`". + export RUSTFLAGS="${RUSTFLAGS}" export CARGO_BUILD_FLAGS="${CARGO_BUILD_FLAGS}" export RUST_TARGET_PATH="${RUST_TARGET_PATH}" # pkg specific exports export RELEASE="1" - export LLVM_CONFIG_PATH="${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config" + export LIBCLANG_PATH="${STAGING_LIBDIR_NATIVE}" + # bindgen runs host libclang; give it the target triple + sysroot so it parses + # the target glibc/tss2 headers (the Makefile-driven keys bindgen has no cargo + # TARGET to derive --target from). + export BINDGEN_EXTRA_CLANG_ARGS="--target=${TARGET_SYS} --sysroot=${STAGING_DIR_TARGET}" + # 32-bit ARM hard-float: the gnueabi triple defaults clang to soft-float, so + # it picks the wrong glibc ABI stubs header (gnu/stubs-soft.h, absent in a + # hard-float sysroot). Append the tune flags (-mfloat-abi=hard/-mfpu) so clang + # matches the target ABI. On aarch64/x86 these flags would be superfluous (and + # -mcpu/-mbranch-protection are only rejected by clang when --target is unset, + # which it no longer is). + if [ "${TARGET_ARCH}" = "arm" ]; then + export BINDGEN_EXTRA_CLANG_ARGS="${BINDGEN_EXTRA_CLANG_ARGS} ${TUNE_CCARGS}" + fi export PATH="${CARGO_HOME}/bin:${PATH}" export OPENSSL_DIR="${STAGING_EXECPREFIXDIR}" export FORCE_NO_UNITTEST="ON" @@ -57,6 +72,12 @@ do_compile() { # we don't build tpm2-tss as part of this build rm -rf third-party/tpm2-tss + # Force the keys bindgen to re-run against the current bindgen-native. The + # Makefile only regenerates keys.generated.rs when it is absent or aziot-keys.h + # changed, so a stale copy from a previous toolchain survives do_compile reruns + # (${S} is not re-unpacked on a dependency change) and a bindgen bump is a no-op. + rm -f key/aziot-keyd/src/keys.generated.rs + make default } @@ -100,7 +121,7 @@ do_install() { install -m 0644 -D ${B}/target/${CARGO_TARGET_SUBDIR}/libaziot_keys.so ${D}${libdir} # default configs and config directories - install -m 0644 -D ${WORKDIR}/iot-identity-service.conf ${D}${libdir}/tmpfiles.d/iot-identity-service.conf + install -m 0644 -D ${UNPACKDIR}/iot-identity-service.conf ${D}${libdir}/tmpfiles.d/iot-identity-service.conf install -m 0640 ${S}/cert/aziot-certd/config/unix/default.toml ${D}${sysconfdir}/aziot/certd/config.toml.default install -m 0640 ${S}/identity/aziot-identityd/config/unix/default.toml ${D}${sysconfdir}/aziot/identityd/config.toml.default install -m 0644 ${S}/key/aziot-keyd/config/unix/default.toml ${D}${sysconfdir}/aziot/keyd/config.toml.default @@ -132,7 +153,7 @@ do_install() { fill_placeholders ${D}${systemd_system_unitdir}/aziot-certd.socket # enable identity service to create cert "device-id" (e.g. for x509 dps provisioning) - install -m 0600 -o aziotcs -g aziotcs ${WORKDIR}/iot-identity-service-certd.template.toml ${D}${sysconfdir}/aziot/certd/config.d/aziotid.toml + install -m 0600 -o aziotcs -g aziotcs ${UNPACKDIR}/iot-identity-service-certd.template.toml ${D}${sysconfdir}/aziot/certd/config.d/aziotid.toml install -m 0644 ${S}/identity/aziot-identityd/aziot-identityd.service.in ${D}${systemd_system_unitdir}/aziot-identityd.service sed -i \ @@ -183,7 +204,7 @@ do_install() { # aziot-identityd-precondition.service handling install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/aziot-identityd-precondition.service ${D}${systemd_system_unitdir}/aziot-identityd-precondition.service + install -m 0644 ${UNPACKDIR}/aziot-identityd-precondition.service ${D}${systemd_system_unitdir}/aziot-identityd-precondition.service if ${@bb.utils.contains('DISTRO_FEATURES', 'iotedge', 'true', 'false', d)}; then sed -i "s/@@AZIOTCLI@@/iotedge/" ${D}${systemd_system_unitdir}/aziot-identityd-precondition.service else diff --git a/recipes-azure-iot/azure-identityd/aziot-identityd/fix_linker_and_linter_findings.patch b/recipes-azure-iot/azure-identityd/aziot-identityd/fix_linker_and_linter_findings.patch deleted file mode 100644 index 563e92cd3..000000000 --- a/recipes-azure-iot/azure-identityd/aziot-identityd/fix_linker_and_linter_findings.patch +++ /dev/null @@ -1,135 +0,0 @@ -diff --git a/aziotctl/aziotctl-common/Cargo.toml b/aziotctl/aziotctl-common/Cargo.toml -index 7fa3832..b6270cb 100644 ---- a/aziotctl/aziotctl-common/Cargo.toml -+++ b/aziotctl/aziotctl-common/Cargo.toml -@@ -29,3 +29,6 @@ toml = "0.7" - - [features] - snapctl = [] -+ -+[lints.rust] -+unexpected_cfgs = { level = "warn", check-cfg = ['cfg(target_pointer_width,values("128"))'] } -diff --git a/aziotctl/aziotctl-common/src/config/apply.rs b/aziotctl/aziotctl-common/src/config/apply.rs -index 1111111..2222222 100644 ---- a/aziotctl/aziotctl-common/src/config/apply.rs -+++ b/aziotctl/aziotctl-common/src/config/apply.rs -@@ -139,7 +139,7 @@ - cn: device_id.clone(), - rest: entries - .iter() -- .filter(|&(k, _v)| (!k.eq_ignore_ascii_case("cn"))) -+ .filter(|&(k, _v)| !k.eq_ignore_ascii_case("cn")) - .map(|(k, v)| (k.to_uppercase(), v.clone())) - .collect(), - }) -diff --git a/identity/aziot-identity-common/src/lib.rs b/identity/aziot-identity-common/src/lib.rs -index 3a49e4e..24942da 100644 ---- a/identity/aziot-identity-common/src/lib.rs -+++ b/identity/aziot-identity-common/src/lib.rs -@@ -98,7 +98,7 @@ impl std::fmt::Display for AuthenticationType { - } - } - --pub struct Uid(u32); -+pub struct Uid(); - - #[derive(Clone, Debug, Eq, PartialEq, PartialOrd, serde::Deserialize, serde::Serialize)] - #[serde(rename_all = "lowercase")] -diff --git a/identity/aziot-identityd/Cargo.toml b/identity/aziot-identityd/Cargo.toml -index e940e38..e5b300c 100644 ---- a/identity/aziot-identityd/Cargo.toml -+++ b/identity/aziot-identityd/Cargo.toml -@@ -53,3 +53,6 @@ openssl2 = { path = "../../openssl2" } - openssl-build = { path = "../../openssl-build/" } - - [dev-dependencies] -+ -+[lints.rust] -+unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ossl300)'] } -diff --git a/identity/aziot-identityd/build.rs b/identity/aziot-identityd/build.rs -index 32ac86f..fcf7a50 100644 ---- a/identity/aziot-identityd/build.rs -+++ b/identity/aziot-identityd/build.rs -@@ -3,6 +3,9 @@ - #![deny(rust_2018_idioms)] - #![warn(clippy::all, clippy::pedantic)] - -+use std::env; - fn main() { -+ let target_dir = env::var("TARGET_BUILD_DIR").unwrap(); -+ println!("cargo:rustc-link-search=native={}", target_dir); - openssl_build::define_version_number_cfg(); - } -diff --git a/key/aziot-key-openssl-engine/Cargo.toml b/key/aziot-key-openssl-engine/Cargo.toml -index 4704682..ee5af74 100644 ---- a/key/aziot-key-openssl-engine/Cargo.toml -+++ b/key/aziot-key-openssl-engine/Cargo.toml -@@ -23,3 +23,6 @@ openssl-sys2 = { path = "../../openssl-sys2" } - - [build-dependencies] - openssl-build = { path = "../../openssl-build" } -+ -+[lints.rust] -+unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ossl110)', 'cfg(ossl300)'] } -diff --git a/openssl-sys2/Cargo.toml b/openssl-sys2/Cargo.toml -index dad9eeb..9f7f1db 100644 ---- a/openssl-sys2/Cargo.toml -+++ b/openssl-sys2/Cargo.toml -@@ -11,3 +11,6 @@ openssl-sys = "0.9" - - [build-dependencies] - openssl-build = { path = "../openssl-build/" } -+ -+[lints.rust] -+unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ossl110)'] } -diff --git a/openssl-sys2/src/lib.rs b/openssl-sys2/src/lib.rs -index 595c4e7..24d2d87 100644 ---- a/openssl-sys2/src/lib.rs -+++ b/openssl-sys2/src/lib.rs -@@ -11,7 +11,6 @@ mod ec; - pub use ec::*; - - mod ecdsa; --pub use ecdsa::*; - - mod engine; - pub use engine::*; -diff --git a/openssl2/Cargo.toml b/openssl2/Cargo.toml -index 666c181..316e34b 100644 ---- a/openssl2/Cargo.toml -+++ b/openssl2/Cargo.toml -@@ -18,3 +18,6 @@ openssl-sys2 = { path = "../openssl-sys2/" } - - [build-dependencies] - openssl-build = { path = "../openssl-build/" } -+ -+[lints.rust] -+unexpected_cfgs = { level = "warn", check-cfg = ['cfg(ossl110)'] } -diff --git a/http-common/src/server.rs b/http-common/src/server.rs -index 181e6c6..883b44e 100644 ---- a/http-common/src/server.rs -+++ b/http-common/src/server.rs -@@ -401,6 +401,7 @@ - - /// This server is never actually used, but is useful to ensure that the macro - /// works as expected. -+#[allow(dead_code)] - mod test_server { - use crate as http_common; - -diff --git a/tpm/aziot-tpmd/src/http/get_tpm_keys.rs b/tpm/aziot-tpmd/src/http/get_tpm_keys.rs -index 181e6c6..883b44e 100644 ---- a/tpm/aziot-tpmd/src/http/get_tpm_keys.rs -+++ b/tpm/aziot-tpmd/src/http/get_tpm_keys.rs -@@ -42,9 +42,9 @@ impl http_common::server::Route for Route { - .map_err(|e| super::to_http_error(&Error::Internal(InternalError::GetTpmKeys(e))))?; - - let res = aziot_tpm_common_http::get_tpm_keys::Response { -- /// The TPM's Endorsement Key -+ // The TPM's Endorsement Key - endorsement_key: http_common::ByteString(endorsement_key), -- /// The TPM's Storage Root Key -+ // The TPM's Storage Root Key - storage_root_key: http_common::ByteString(storage_root_key), - }; - diff --git a/recipes-azure-iot/azure-identityd/aziot-identityd/send_sd_notify.patch b/recipes-azure-iot/azure-identityd/aziot-identityd/send_sd_notify.patch index 858eca0a7..d5c2ac896 100644 --- a/recipes-azure-iot/azure-identityd/aziot-identityd/send_sd_notify.patch +++ b/recipes-azure-iot/azure-identityd/aziot-identityd/send_sd_notify.patch @@ -20,10 +20,10 @@ index 5572620..0000000 -[source.crates-io] -replace-with = "iotedge_PublicPackages" diff --git a/Cargo.lock b/Cargo.lock -index 2d9ff68..ecb59bd 100644 +index bcde79e..fe5d4c3 100644 --- a/Cargo.lock +++ b/Cargo.lock -@@ -305,6 +305,7 @@ dependencies = [ +@@ -302,6 +302,7 @@ dependencies = [ "openssl2", "percent-encoding", "regex", @@ -31,9 +31,9 @@ index 2d9ff68..ecb59bd 100644 "serde", "serde_json", "tokio", -@@ -2226,6 +2227,12 @@ version = "1.1.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +@@ -2224,6 +2225,12 @@ dependencies = [ + "serde", + ] +[[package]] +name = "sd-notify" @@ -42,20 +42,20 @@ index 2d9ff68..ecb59bd 100644 +checksum = "621e3680f3e07db4c9c2c3fb07c6223ab2fab2e54bd3c04c3ae037990f428c32" + [[package]] - name = "semver" - version = "1.0.22" + name = "pkcs11-sys" + version = "0.1.0" diff --git a/identity/aziot-identityd/Cargo.toml b/identity/aziot-identityd/Cargo.toml -index fd0eb3d..e940e38 100644 +index 324cd7e..eac5cf5 100644 --- a/identity/aziot-identityd/Cargo.toml +++ b/identity/aziot-identityd/Cargo.toml -@@ -23,6 +23,7 @@ openssl = "0.10" - openssl-sys = "0.9" - percent-encoding = "2" - regex = "1" +@@ -21,6 +21,7 @@ openssl = { workspace = true } + openssl-sys = { workspace = true } + percent-encoding = { workspace = true } + regex = { workspace = true } +sd-notify = "0.4" - serde = "1" - serde_json = "1.0" - tokio = { version = "1", features = ["parking_lot", "time"] } + serde = { workspace = true } + serde_json = { workspace = true } + tokio = { workspace = true } diff --git a/identity/aziot-identityd/aziot-identityd.service.in b/identity/aziot-identityd/aziot-identityd.service.in index 7e261fd..ecf47ac 100644 --- a/identity/aziot-identityd/aziot-identityd.service.in @@ -69,10 +69,10 @@ index 7e261fd..ecf47ac 100644 ExecStart=@libexecdir@/aziot-identity-service/aziot-identityd KillMode=process diff --git a/identity/aziot-identityd/src/lib.rs b/identity/aziot-identityd/src/lib.rs -index 534f2ca..9afc68c 100644 +index 9237a8d..3a3183d 100644 --- a/identity/aziot-identityd/src/lib.rs +++ b/identity/aziot-identityd/src/lib.rs -@@ -159,6 +159,8 @@ pub async fn main( +@@ -141,6 +141,8 @@ pub async fn main( let service = http::Service { api }; diff --git a/recipes-azure-iot/azure-identityd/aziot-identityd_1.5.6.bb b/recipes-azure-iot/azure-identityd/aziot-identityd_1.5.6.bb deleted file mode 100644 index 3c4d135fc..000000000 --- a/recipes-azure-iot/azure-identityd/aziot-identityd_1.5.6.bb +++ /dev/null @@ -1,526 +0,0 @@ -# Auto-Generated by cargo-bitbake 0.3.16-alpha.0 -# -inherit cargo - -# If this is git based prefer versioned ones if they exist -# DEFAULT_PREFERENCE = "-1" - -# how to get aziot-identityd could be as easy as but default to a git checkout: -# SRC_URI += "crate://crates.io/aziot-identityd/0.1.0" -SRC_URI += "gitsm://github.com/Azure/iot-identity-service.git;protocol=https;nobranch=1" -SRCREV = "833381accec8d53436cac20fc3fb85303e4504eb" -S = "${WORKDIR}/git" -CARGO_SRC_DIR = "identity/aziot-identityd" - - -# please note if you have entries that do not begin with crate:// -# you must change them to how that package can be fetched -SRC_URI += " \ - crate://crates.io/addr2line/0.19.0 \ - crate://crates.io/adler/1.0.2 \ - crate://crates.io/aho-corasick/1.0.2 \ - crate://crates.io/android-tzdata/0.1.1 \ - crate://crates.io/android_system_properties/0.1.5 \ - crate://crates.io/anstream/0.3.2 \ - crate://crates.io/anstyle-parse/0.2.1 \ - crate://crates.io/anstyle-query/1.0.0 \ - crate://crates.io/anstyle-wincon/1.0.1 \ - crate://crates.io/anstyle/1.0.1 \ - crate://crates.io/anyhow/1.0.71 \ - crate://crates.io/async-recursion/1.0.4 \ - crate://crates.io/async-trait/0.1.68 \ - crate://crates.io/atty/0.2.14 \ - crate://crates.io/autocfg/1.1.0 \ - crate://crates.io/backtrace/0.3.67 \ - crate://crates.io/base64/0.13.1 \ - crate://crates.io/base64/0.21.2 \ - crate://crates.io/bindgen/0.69.4 \ - crate://crates.io/bitflags/1.3.2 \ - crate://crates.io/bitflags/2.4.2 \ - crate://crates.io/block-buffer/0.10.4 \ - crate://crates.io/bumpalo/3.13.0 \ - crate://crates.io/byte-unit/4.0.19 \ - crate://crates.io/bytes/1.4.0 \ - crate://crates.io/cc/1.0.79 \ - crate://crates.io/cexpr/0.6.0 \ - crate://crates.io/cfg-if/0.1.10 \ - crate://crates.io/cfg-if/1.0.0 \ - crate://crates.io/chrono/0.4.26 \ - crate://crates.io/clang-sys/1.6.1 \ - crate://crates.io/clap/4.3.8 \ - crate://crates.io/clap_builder/4.3.8 \ - crate://crates.io/clap_derive/4.3.2 \ - crate://crates.io/clap_lex/0.5.0 \ - crate://crates.io/colorchoice/1.0.0 \ - crate://crates.io/colored/2.0.0 \ - crate://crates.io/core-foundation-sys/0.8.4 \ - crate://crates.io/cpufeatures/0.2.8 \ - crate://crates.io/crossbeam-channel/0.5.8 \ - crate://crates.io/crossbeam-deque/0.8.3 \ - crate://crates.io/crossbeam-epoch/0.9.15 \ - crate://crates.io/crossbeam-utils/0.8.16 \ - crate://crates.io/crypto-common/0.1.6 \ - crate://crates.io/darling/0.20.1 \ - crate://crates.io/darling_core/0.20.1 \ - crate://crates.io/darling_macro/0.20.1 \ - crate://crates.io/dashmap/5.4.0 \ - crate://crates.io/digest/0.10.7 \ - crate://crates.io/either/1.8.1 \ - crate://crates.io/env_logger/0.10.0 \ - crate://crates.io/equivalent/1.0.0 \ - crate://crates.io/erased-serde/0.3.25 \ - crate://crates.io/errno-dragonfly/0.1.2 \ - crate://crates.io/errno/0.3.1 \ - crate://crates.io/filetime/0.2.21 \ - crate://crates.io/fnv/1.0.7 \ - crate://crates.io/foreign-types-shared/0.1.1 \ - crate://crates.io/foreign-types/0.3.2 \ - crate://crates.io/form_urlencoded/1.2.0 \ - crate://crates.io/fsevent-sys/2.0.1 \ - crate://crates.io/fsevent/0.4.0 \ - crate://crates.io/fuchsia-zircon-sys/0.3.3 \ - crate://crates.io/fuchsia-zircon/0.3.3 \ - crate://crates.io/futures-channel/0.3.28 \ - crate://crates.io/futures-core/0.3.28 \ - crate://crates.io/futures-executor/0.3.28 \ - crate://crates.io/futures-io/0.3.28 \ - crate://crates.io/futures-macro/0.3.28 \ - crate://crates.io/futures-sink/0.3.28 \ - crate://crates.io/futures-task/0.3.28 \ - crate://crates.io/futures-util/0.3.28 \ - crate://crates.io/futures/0.3.28 \ - crate://crates.io/generic-array/0.14.7 \ - crate://crates.io/getrandom/0.2.10 \ - crate://crates.io/gimli/0.27.3 \ - crate://crates.io/glob/0.3.1 \ - crate://crates.io/hashbrown/0.12.3 \ - crate://crates.io/hashbrown/0.14.0 \ - crate://crates.io/headers-core/0.2.0 \ - crate://crates.io/headers/0.3.8 \ - crate://crates.io/heck/0.4.1 \ - crate://crates.io/hermit-abi/0.1.19 \ - crate://crates.io/hermit-abi/0.2.6 \ - crate://crates.io/hermit-abi/0.3.1 \ - crate://crates.io/hex/0.4.3 \ - crate://crates.io/hmac/0.12.1 \ - crate://crates.io/http-body/0.4.5 \ - crate://crates.io/http/0.2.9 \ - crate://crates.io/httparse/1.8.0 \ - crate://crates.io/httpdate/1.0.2 \ - crate://crates.io/humantime/2.1.0 \ - crate://crates.io/hyper-openssl/0.9.2 \ - crate://crates.io/hyper-proxy/0.9.1 \ - crate://crates.io/hyper/0.14.27 \ - crate://crates.io/iana-time-zone-haiku/0.1.2 \ - crate://crates.io/iana-time-zone/0.1.57 \ - crate://crates.io/ident_case/1.0.1 \ - crate://crates.io/idna/0.4.0 \ - crate://crates.io/indexmap/1.9.3 \ - crate://crates.io/indexmap/2.0.0 \ - crate://crates.io/inotify-sys/0.1.5 \ - crate://crates.io/inotify/0.7.1 \ - crate://crates.io/io-lifetimes/1.0.11 \ - crate://crates.io/iovec/0.1.4 \ - crate://crates.io/is-terminal/0.4.7 \ - crate://crates.io/itertools/0.10.5 \ - crate://crates.io/itoa/1.0.6 \ - crate://crates.io/js-sys/0.3.64 \ - crate://crates.io/kernel32-sys/0.2.2 \ - crate://crates.io/lazy_static/1.4.0 \ - crate://crates.io/lazycell/1.3.0 \ - crate://crates.io/libc/0.2.153 \ - crate://crates.io/libloading/0.7.4 \ - crate://crates.io/linked-hash-map/0.5.6 \ - crate://crates.io/linked_hash_set/0.1.4 \ - crate://crates.io/linux-raw-sys/0.3.8 \ - crate://crates.io/lock_api/0.4.10 \ - crate://crates.io/log/0.4.19 \ - crate://crates.io/memchr/2.5.0 \ - crate://crates.io/memoffset/0.7.1 \ - crate://crates.io/memoffset/0.9.0 \ - crate://crates.io/mime/0.3.17 \ - crate://crates.io/minimal-lexical/0.2.1 \ - crate://crates.io/miniz_oxide/0.6.2 \ - crate://crates.io/mio-extras/2.0.6 \ - crate://crates.io/mio/0.6.23 \ - crate://crates.io/mio/0.8.11 \ - crate://crates.io/miow/0.2.2 \ - crate://crates.io/net2/0.2.39 \ - crate://crates.io/nix/0.26.2 \ - crate://crates.io/nom/7.1.3 \ - crate://crates.io/notify/4.0.17 \ - crate://crates.io/ntapi/0.4.1 \ - crate://crates.io/num-traits/0.2.15 \ - crate://crates.io/num_cpus/1.15.0 \ - crate://crates.io/object/0.30.4 \ - crate://crates.io/once_cell/1.18.0 \ - crate://crates.io/openssl-errors/0.2.0 \ - crate://crates.io/openssl-macros/0.1.1 \ - crate://crates.io/openssl-sys/0.9.90 \ - crate://crates.io/openssl/0.10.55 \ - crate://crates.io/parking_lot/0.12.1 \ - crate://crates.io/parking_lot_core/0.9.8 \ - crate://crates.io/paste/1.0.12 \ - crate://crates.io/percent-encoding/2.3.0 \ - crate://crates.io/pin-project-lite/0.2.9 \ - crate://crates.io/pin-utils/0.1.0 \ - crate://crates.io/pkg-config/0.3.27 \ - crate://crates.io/ppv-lite86/0.2.17 \ - crate://crates.io/proc-macro2/1.0.63 \ - crate://crates.io/quote/1.0.28 \ - crate://crates.io/rand/0.8.5 \ - crate://crates.io/rand_chacha/0.3.1 \ - crate://crates.io/rand_core/0.6.4 \ - crate://crates.io/rayon-core/1.11.0 \ - crate://crates.io/rayon/1.7.0 \ - crate://crates.io/redox_syscall/0.2.16 \ - crate://crates.io/redox_syscall/0.3.5 \ - crate://crates.io/regex-syntax/0.7.2 \ - crate://crates.io/regex/1.8.4 \ - crate://crates.io/rustc-demangle/0.1.23 \ - crate://crates.io/rustc-hash/1.1.0 \ - crate://crates.io/rustix/0.37.20 \ - crate://crates.io/ryu/1.0.13 \ - crate://crates.io/same-file/1.0.6 \ - crate://crates.io/scopeguard/1.1.0 \ - crate://crates.io/sd-notify/0.4.1 \ - crate://crates.io/semver/1.0.22 \ - crate://crates.io/serde/1.0.164 \ - crate://crates.io/serde_derive/1.0.164 \ - crate://crates.io/serde_json/1.0.99 \ - crate://crates.io/serde_spanned/0.6.3 \ - crate://crates.io/serde_with/2.3.3 \ - crate://crates.io/serde_with_macros/2.3.3 \ - crate://crates.io/serial_test/1.0.0 \ - crate://crates.io/serial_test_derive/1.0.0 \ - crate://crates.io/sha1/0.10.5 \ - crate://crates.io/sha2/0.10.7 \ - crate://crates.io/shlex/1.3.0 \ - crate://crates.io/slab/0.4.8 \ - crate://crates.io/smallvec/1.10.0 \ - crate://crates.io/socket2/0.4.9 \ - crate://crates.io/static_assertions/1.1.0 \ - crate://crates.io/strsim/0.10.0 \ - crate://crates.io/subtle/2.5.0 \ - crate://crates.io/syn/1.0.109 \ - crate://crates.io/syn/2.0.22 \ - crate://crates.io/sysinfo/0.27.8 \ - crate://crates.io/termcolor/1.2.0 \ - crate://crates.io/time-core/0.1.1 \ - crate://crates.io/time-macros/0.2.9 \ - crate://crates.io/time/0.1.45 \ - crate://crates.io/time/0.3.22 \ - crate://crates.io/tinyvec/1.6.0 \ - crate://crates.io/tinyvec_macros/0.1.1 \ - crate://crates.io/tokio-macros/2.1.0 \ - crate://crates.io/tokio-openssl/0.6.3 \ - crate://crates.io/tokio/1.28.2 \ - crate://crates.io/toml/0.7.5 \ - crate://crates.io/toml_datetime/0.6.3 \ - crate://crates.io/toml_edit/0.19.11 \ - crate://crates.io/tower-layer/0.3.2 \ - crate://crates.io/tower-service/0.3.2 \ - crate://crates.io/tracing-attributes/0.1.26 \ - crate://crates.io/tracing-core/0.1.31 \ - crate://crates.io/tracing/0.1.37 \ - crate://crates.io/try-lock/0.2.4 \ - crate://crates.io/typenum/1.16.0 \ - crate://crates.io/unicode-bidi/0.3.13 \ - crate://crates.io/unicode-ident/1.0.9 \ - crate://crates.io/unicode-normalization/0.1.22 \ - crate://crates.io/url/2.4.0 \ - crate://crates.io/utf8-width/0.1.6 \ - crate://crates.io/utf8parse/0.2.1 \ - crate://crates.io/uuid/1.4.0 \ - crate://crates.io/vcpkg/0.2.15 \ - crate://crates.io/version_check/0.9.4 \ - crate://crates.io/walkdir/2.3.3 \ - crate://crates.io/want/0.3.1 \ - crate://crates.io/wasi/0.10.0+wasi-snapshot-preview1 \ - crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ - crate://crates.io/wasm-bindgen-backend/0.2.87 \ - crate://crates.io/wasm-bindgen-macro-support/0.2.87 \ - crate://crates.io/wasm-bindgen-macro/0.2.87 \ - crate://crates.io/wasm-bindgen-shared/0.2.87 \ - crate://crates.io/wasm-bindgen/0.2.87 \ - crate://crates.io/wildmatch/2.1.1 \ - crate://crates.io/winapi-build/0.1.1 \ - crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ - crate://crates.io/winapi-util/0.1.5 \ - crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ - crate://crates.io/winapi/0.2.8 \ - crate://crates.io/winapi/0.3.9 \ - crate://crates.io/windows-sys/0.48.0 \ - crate://crates.io/windows-targets/0.48.0 \ - crate://crates.io/windows/0.48.0 \ - crate://crates.io/windows_aarch64_gnullvm/0.48.0 \ - crate://crates.io/windows_aarch64_msvc/0.48.0 \ - crate://crates.io/windows_i686_gnu/0.48.0 \ - crate://crates.io/windows_i686_msvc/0.48.0 \ - crate://crates.io/windows_x86_64_gnu/0.48.0 \ - crate://crates.io/windows_x86_64_gnullvm/0.48.0 \ - crate://crates.io/windows_x86_64_msvc/0.48.0 \ - crate://crates.io/winnow/0.4.7 \ - crate://crates.io/ws2_32-sys/0.2.1 \ -" - -SRC_URI[addr2line-0.19.0.sha256sum] = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" -SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -SRC_URI[aho-corasick-1.0.2.sha256sum] = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" -SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" -SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" -SRC_URI[anstyle-1.0.1.sha256sum] = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" -SRC_URI[anstyle-parse-0.2.1.sha256sum] = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" -SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" -SRC_URI[anstyle-wincon-1.0.1.sha256sum] = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" -SRC_URI[anyhow-1.0.71.sha256sum] = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" -SRC_URI[async-recursion-1.0.4.sha256sum] = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" -SRC_URI[async-trait-0.1.68.sha256sum] = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" -SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" -SRC_URI[backtrace-0.3.67.sha256sum] = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" -SRC_URI[base64-0.13.1.sha256sum] = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" -SRC_URI[base64-0.21.2.sha256sum] = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" -SRC_URI[bindgen-0.69.4.sha256sum] = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" -SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -SRC_URI[bitflags-2.4.2.sha256sum] = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" -SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -SRC_URI[bumpalo-3.13.0.sha256sum] = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" -SRC_URI[byte-unit-4.0.19.sha256sum] = "da78b32057b8fdfc352504708feeba7216dcd65a2c9ab02978cbd288d1279b6c" -SRC_URI[bytes-1.4.0.sha256sum] = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" -SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" -SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -SRC_URI[cfg-if-0.1.10.sha256sum] = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" -SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -SRC_URI[chrono-0.4.26.sha256sum] = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" -SRC_URI[clang-sys-1.6.1.sha256sum] = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" -SRC_URI[clap-4.3.8.sha256sum] = "d9394150f5b4273a1763355bd1c2ec54cc5a2593f790587bcd6b2c947cfa9211" -SRC_URI[clap_builder-4.3.8.sha256sum] = "9a78fbdd3cc2914ddf37ba444114bc7765bbdcb55ec9cbe6fa054f0137400717" -SRC_URI[clap_derive-4.3.2.sha256sum] = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" -SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" -SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" -SRC_URI[colored-2.0.0.sha256sum] = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd" -SRC_URI[core-foundation-sys-0.8.4.sha256sum] = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" -SRC_URI[cpufeatures-0.2.8.sha256sum] = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" -SRC_URI[crossbeam-channel-0.5.8.sha256sum] = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" -SRC_URI[crossbeam-deque-0.8.3.sha256sum] = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" -SRC_URI[crossbeam-epoch-0.9.15.sha256sum] = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" -SRC_URI[crossbeam-utils-0.8.16.sha256sum] = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -SRC_URI[darling-0.20.1.sha256sum] = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" -SRC_URI[darling_core-0.20.1.sha256sum] = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" -SRC_URI[darling_macro-0.20.1.sha256sum] = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" -SRC_URI[dashmap-5.4.0.sha256sum] = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" -SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -SRC_URI[either-1.8.1.sha256sum] = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" -SRC_URI[env_logger-0.10.0.sha256sum] = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" -SRC_URI[equivalent-1.0.0.sha256sum] = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1" -SRC_URI[erased-serde-0.3.25.sha256sum] = "4f2b0c2380453a92ea8b6c8e5f64ecaafccddde8ceab55ff7a8ac1029f894569" -SRC_URI[errno-0.3.1.sha256sum] = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" -SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -SRC_URI[filetime-0.2.21.sha256sum] = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" -SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -SRC_URI[form_urlencoded-1.2.0.sha256sum] = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" -SRC_URI[fsevent-0.4.0.sha256sum] = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6" -SRC_URI[fsevent-sys-2.0.1.sha256sum] = "f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0" -SRC_URI[fuchsia-zircon-0.3.3.sha256sum] = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -SRC_URI[fuchsia-zircon-sys-0.3.3.sha256sum] = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" -SRC_URI[futures-0.3.28.sha256sum] = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" -SRC_URI[futures-channel-0.3.28.sha256sum] = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" -SRC_URI[futures-core-0.3.28.sha256sum] = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" -SRC_URI[futures-executor-0.3.28.sha256sum] = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" -SRC_URI[futures-io-0.3.28.sha256sum] = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" -SRC_URI[futures-macro-0.3.28.sha256sum] = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" -SRC_URI[futures-sink-0.3.28.sha256sum] = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" -SRC_URI[futures-task-0.3.28.sha256sum] = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" -SRC_URI[futures-util-0.3.28.sha256sum] = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" -SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -SRC_URI[getrandom-0.2.10.sha256sum] = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" -SRC_URI[gimli-0.27.3.sha256sum] = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" -SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" -SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -SRC_URI[hashbrown-0.14.0.sha256sum] = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" -SRC_URI[headers-0.3.8.sha256sum] = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" -SRC_URI[headers-core-0.2.0.sha256sum] = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" -SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -SRC_URI[hermit-abi-0.2.6.sha256sum] = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -SRC_URI[hermit-abi-0.3.1.sha256sum] = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" -SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -SRC_URI[hmac-0.12.1.sha256sum] = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -SRC_URI[http-0.2.9.sha256sum] = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" -SRC_URI[http-body-0.4.5.sha256sum] = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" -SRC_URI[httparse-1.8.0.sha256sum] = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" -SRC_URI[httpdate-1.0.2.sha256sum] = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" -SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" -SRC_URI[hyper-0.14.27.sha256sum] = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" -SRC_URI[hyper-openssl-0.9.2.sha256sum] = "d6ee5d7a8f718585d1c3c61dfde28ef5b0bb14734b4db13f5ada856cdc6c612b" -SRC_URI[hyper-proxy-0.9.1.sha256sum] = "ca815a891b24fdfb243fa3239c86154392b0953ee584aa1a2a1f66d20cbe75cc" -SRC_URI[iana-time-zone-0.1.57.sha256sum] = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" -SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -SRC_URI[ident_case-1.0.1.sha256sum] = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" -SRC_URI[idna-0.4.0.sha256sum] = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" -SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -SRC_URI[indexmap-2.0.0.sha256sum] = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" -SRC_URI[inotify-0.7.1.sha256sum] = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f" -SRC_URI[inotify-sys-0.1.5.sha256sum] = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" -SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -SRC_URI[iovec-0.1.4.sha256sum] = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -SRC_URI[is-terminal-0.4.7.sha256sum] = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" -SRC_URI[itertools-0.10.5.sha256sum] = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -SRC_URI[itoa-1.0.6.sha256sum] = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" -SRC_URI[js-sys-0.3.64.sha256sum] = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" -SRC_URI[kernel32-sys-0.2.2.sha256sum] = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" -SRC_URI[libc-0.2.153.sha256sum] = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" -SRC_URI[libloading-0.7.4.sha256sum] = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -SRC_URI[linked-hash-map-0.5.6.sha256sum] = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" -SRC_URI[linked_hash_set-0.1.4.sha256sum] = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" -SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" -SRC_URI[lock_api-0.4.10.sha256sum] = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" -SRC_URI[log-0.4.19.sha256sum] = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" -SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" -SRC_URI[memoffset-0.7.1.sha256sum] = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -SRC_URI[mime-0.3.17.sha256sum] = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -SRC_URI[miniz_oxide-0.6.2.sha256sum] = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" -SRC_URI[mio-0.6.23.sha256sum] = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" -SRC_URI[mio-0.8.11.sha256sum] = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -SRC_URI[mio-extras-2.0.6.sha256sum] = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19" -SRC_URI[miow-0.2.2.sha256sum] = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" -SRC_URI[net2-0.2.39.sha256sum] = "b13b648036a2339d06de780866fbdfda0dde886de7b3af2ddeba8b14f4ee34ac" -SRC_URI[nix-0.26.2.sha256sum] = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" -SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -SRC_URI[notify-4.0.17.sha256sum] = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257" -SRC_URI[ntapi-0.4.1.sha256sum] = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -SRC_URI[num-traits-0.2.15.sha256sum] = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -SRC_URI[num_cpus-1.15.0.sha256sum] = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" -SRC_URI[object-0.30.4.sha256sum] = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" -SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" -SRC_URI[openssl-0.10.55.sha256sum] = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" -SRC_URI[openssl-errors-0.2.0.sha256sum] = "79e3f2eccb96e50eb0e24fbbd8551e75c5c96a8a05f4bcbfca134339b7730ae5" -SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -SRC_URI[openssl-sys-0.9.90.sha256sum] = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" -SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -SRC_URI[parking_lot_core-0.9.8.sha256sum] = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" -SRC_URI[paste-1.0.12.sha256sum] = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" -SRC_URI[percent-encoding-2.3.0.sha256sum] = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" -SRC_URI[pin-project-lite-0.2.9.sha256sum] = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" -SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -SRC_URI[pkg-config-0.3.27.sha256sum] = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" -SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -SRC_URI[proc-macro2-1.0.63.sha256sum] = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" -SRC_URI[quote-1.0.28.sha256sum] = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" -SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -SRC_URI[rayon-1.7.0.sha256sum] = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" -SRC_URI[rayon-core-1.11.0.sha256sum] = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" -SRC_URI[redox_syscall-0.2.16.sha256sum] = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -SRC_URI[regex-1.8.4.sha256sum] = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" -SRC_URI[regex-syntax-0.7.2.sha256sum] = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" -SRC_URI[rustc-demangle-0.1.23.sha256sum] = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" -SRC_URI[rustc-hash-1.1.0.sha256sum] = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -SRC_URI[rustix-0.37.20.sha256sum] = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0" -SRC_URI[ryu-1.0.13.sha256sum] = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" -SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -SRC_URI[scopeguard-1.1.0.sha256sum] = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" -SRC_URI[sd-notify-0.4.1.sha256sum] = "621e3680f3e07db4c9c2c3fb07c6223ab2fab2e54bd3c04c3ae037990f428c32" -SRC_URI[semver-1.0.22.sha256sum] = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" -SRC_URI[serde-1.0.164.sha256sum] = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" -SRC_URI[serde_derive-1.0.164.sha256sum] = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" -SRC_URI[serde_json-1.0.99.sha256sum] = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3" -SRC_URI[serde_spanned-0.6.3.sha256sum] = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" -SRC_URI[serde_with-2.3.3.sha256sum] = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" -SRC_URI[serde_with_macros-2.3.3.sha256sum] = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" -SRC_URI[serial_test-1.0.0.sha256sum] = "538c30747ae860d6fb88330addbbd3e0ddbe46d662d032855596d8a8ca260611" -SRC_URI[serial_test_derive-1.0.0.sha256sum] = "079a83df15f85d89a68d64ae1238f142f172b1fa915d0d76b26a7cba1b659a69" -SRC_URI[sha1-0.10.5.sha256sum] = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" -SRC_URI[sha2-0.10.7.sha256sum] = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" -SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" -SRC_URI[slab-0.4.8.sha256sum] = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" -SRC_URI[smallvec-1.10.0.sha256sum] = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" -SRC_URI[socket2-0.4.9.sha256sum] = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" -SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" -SRC_URI[subtle-2.5.0.sha256sum] = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" -SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -SRC_URI[syn-2.0.22.sha256sum] = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616" -SRC_URI[sysinfo-0.27.8.sha256sum] = "a902e9050fca0a5d6877550b769abd2bd1ce8c04634b941dbe2809735e1a1e33" -SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" -SRC_URI[time-0.1.45.sha256sum] = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" -SRC_URI[time-0.3.22.sha256sum] = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" -SRC_URI[time-core-0.1.1.sha256sum] = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" -SRC_URI[time-macros-0.2.9.sha256sum] = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" -SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" -SRC_URI[tokio-1.28.2.sha256sum] = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2" -SRC_URI[tokio-macros-2.1.0.sha256sum] = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" -SRC_URI[tokio-openssl-0.6.3.sha256sum] = "c08f9ffb7809f1b20c1b398d92acf4cc719874b3b2b2d9ea2f09b4a80350878a" -SRC_URI[toml-0.7.5.sha256sum] = "1ebafdf5ad1220cb59e7d17cf4d2c72015297b75b19a10472f99b89225089240" -SRC_URI[toml_datetime-0.6.3.sha256sum] = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" -SRC_URI[toml_edit-0.19.11.sha256sum] = "266f016b7f039eec8a1a80dfe6156b633d208b9fccca5e4db1d6775b0c4e34a7" -SRC_URI[tower-layer-0.3.2.sha256sum] = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" -SRC_URI[tower-service-0.3.2.sha256sum] = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" -SRC_URI[tracing-0.1.37.sha256sum] = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" -SRC_URI[tracing-attributes-0.1.26.sha256sum] = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" -SRC_URI[tracing-core-0.1.31.sha256sum] = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" -SRC_URI[try-lock-0.2.4.sha256sum] = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" -SRC_URI[typenum-1.16.0.sha256sum] = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" -SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" -SRC_URI[unicode-ident-1.0.9.sha256sum] = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" -SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -SRC_URI[url-2.4.0.sha256sum] = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" -SRC_URI[utf8-width-0.1.6.sha256sum] = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1" -SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" -SRC_URI[uuid-1.4.0.sha256sum] = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be" -SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -SRC_URI[walkdir-2.3.3.sha256sum] = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" -SRC_URI[want-0.3.1.sha256sum] = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -SRC_URI[wasi-0.10.0+wasi-snapshot-preview1.sha256sum] = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" -SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -SRC_URI[wasm-bindgen-0.2.87.sha256sum] = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" -SRC_URI[wasm-bindgen-backend-0.2.87.sha256sum] = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" -SRC_URI[wasm-bindgen-macro-0.2.87.sha256sum] = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" -SRC_URI[wasm-bindgen-macro-support-0.2.87.sha256sum] = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" -SRC_URI[wasm-bindgen-shared-0.2.87.sha256sum] = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" -SRC_URI[wildmatch-2.1.1.sha256sum] = "ee583bdc5ff1cf9db20e9db5bb3ff4c3089a8f6b8b31aff265c9aba85812db86" -SRC_URI[winapi-0.2.8.sha256sum] = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" -SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -SRC_URI[winapi-build-0.1.1.sha256sum] = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" -SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -SRC_URI[windows-0.48.0.sha256sum] = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" -SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -SRC_URI[windows-targets-0.48.0.sha256sum] = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" -SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" -SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" -SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" -SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" -SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" -SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" -SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" -SRC_URI[winnow-0.4.7.sha256sum] = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448" -SRC_URI[ws2_32-sys-0.2.1.sha256sum] = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" - -# FIXME: update generateme with the real MD5 of the license file -LIC_FILES_CHKSUM = " \ - " - -SUMMARY = "The code used for Identity Service." -HOMEPAGE = "" -LICENSE = "CLOSED" - -# includes this file if it exists but does not fail -# this is useful for anything you may want to override from -# what cargo-bitbake generates. -include aziot-identityd-${PV}.inc -include aziot-identityd.inc diff --git a/recipes-azure-iot/azure-identityd/aziot-identityd_git.bb b/recipes-azure-iot/azure-identityd/aziot-identityd_git.bb new file mode 100644 index 000000000..f5da51d32 --- /dev/null +++ b/recipes-azure-iot/azure-identityd/aziot-identityd_git.bb @@ -0,0 +1,676 @@ +# Pinned to iot-identity-service for the wrynose migration: SRCREV is the upstream +# 1.6.0-rc.1 tag commit (the tip of main at pin time). +# +# The 1.5.6 crate set pinned bindgen 0.69.4 / clang-sys 1.6.1; clang-sys 1.6.1 +# predates oe-core's clang and cannot walk its libclang AST, so the tss2 type +# bindings (tpm/tss-minimal/types-sys) came out opaque (every TPM2 struct as a +# field-less `_address` blob) and aziot-identityd failed to compile. main pins +# bindgen 0.72.1 / clang-sys 1.8.1, which parse the same headers correctly. +# Crate list below regenerated from main's Cargo.lock; re-pin to a release tag +# once one ships that carries these crate versions. +inherit cargo + +# ~rc.1 sorts before a future 1.6.0 release; +git marks the git/SRCREV pin. +PV = "1.6.0~rc.1+git" + +SRC_URI += "gitsm://github.com/Azure/iot-identity-service.git;protocol=https;nobranch=1" +SRCREV = "1a7a6e70c3a20389fd24090bba201b7fdd7de582" +CARGO_SRC_DIR = "identity/aziot-identityd" + +SRC_URI += " \ + crate://crates.io/addr2line/0.25.1 \ + crate://crates.io/adler2/2.0.1 \ + crate://crates.io/ahash/0.7.8 \ + crate://crates.io/aho-corasick/1.1.4 \ + crate://crates.io/android_system_properties/0.1.5 \ + crate://crates.io/anstream/1.0.0 \ + crate://crates.io/anstyle/1.0.14 \ + crate://crates.io/anstyle-parse/1.0.0 \ + crate://crates.io/anstyle-query/1.1.5 \ + crate://crates.io/anstyle-wincon/3.0.11 \ + crate://crates.io/anyhow/1.0.102 \ + crate://crates.io/arrayvec/0.7.6 \ + crate://crates.io/async-recursion/1.1.1 \ + crate://crates.io/async-trait/0.1.89 \ + crate://crates.io/atomic-waker/1.1.2 \ + crate://crates.io/autocfg/1.5.0 \ + crate://crates.io/backtrace/0.3.76 \ + crate://crates.io/base64/0.22.1 \ + crate://crates.io/bindgen/0.72.1 \ + crate://crates.io/bitflags/2.11.1 \ + crate://crates.io/bitvec/1.0.1 \ + crate://crates.io/block-buffer/0.10.4 \ + crate://crates.io/block-buffer/0.12.0 \ + crate://crates.io/borsh/1.6.1 \ + crate://crates.io/borsh-derive/1.6.1 \ + crate://crates.io/bs58/0.5.1 \ + crate://crates.io/bumpalo/3.20.2 \ + crate://crates.io/byte-unit/5.2.0 \ + crate://crates.io/bytecheck/0.6.12 \ + crate://crates.io/bytecheck_derive/0.6.12 \ + crate://crates.io/bytes/1.11.1 \ + crate://crates.io/cc/1.2.62 \ + crate://crates.io/cexpr/0.6.0 \ + crate://crates.io/cfg-if/0.1.10 \ + crate://crates.io/cfg-if/1.0.4 \ + crate://crates.io/cfg_aliases/0.2.1 \ + crate://crates.io/chacha20/0.10.0 \ + crate://crates.io/chrono/0.4.44 \ + crate://crates.io/clang-sys/1.8.1 \ + crate://crates.io/clap/4.6.1 \ + crate://crates.io/clap_builder/4.6.0 \ + crate://crates.io/clap_derive/4.6.1 \ + crate://crates.io/clap_lex/1.1.0 \ + crate://crates.io/cmov/0.5.3 \ + crate://crates.io/colorchoice/1.0.5 \ + crate://crates.io/colored/3.1.1 \ + crate://crates.io/const-oid/0.10.2 \ + crate://crates.io/core-foundation-sys/0.8.7 \ + crate://crates.io/cpufeatures/0.2.17 \ + crate://crates.io/cpufeatures/0.3.0 \ + crate://crates.io/crypto-common/0.1.7 \ + crate://crates.io/crypto-common/0.2.2 \ + crate://crates.io/ctutils/0.4.2 \ + crate://crates.io/darling/0.23.0 \ + crate://crates.io/darling_core/0.23.0 \ + crate://crates.io/darling_macro/0.23.0 \ + crate://crates.io/deranged/0.5.8 \ + crate://crates.io/digest/0.10.7 \ + crate://crates.io/digest/0.11.3 \ + crate://crates.io/displaydoc/0.2.5 \ + crate://crates.io/dyn-clone/1.0.20 \ + crate://crates.io/either/1.15.0 \ + crate://crates.io/env_filter/1.0.1 \ + crate://crates.io/env_logger/0.11.10 \ + crate://crates.io/equivalent/1.0.2 \ + crate://crates.io/erased-serde/0.4.10 \ + crate://crates.io/file-id/0.2.3 \ + crate://crates.io/find-msvc-tools/0.1.9 \ + crate://crates.io/foldhash/0.1.5 \ + crate://crates.io/foreign-types/0.3.2 \ + crate://crates.io/foreign-types-shared/0.1.1 \ + crate://crates.io/form_urlencoded/1.2.2 \ + crate://crates.io/fsevent-sys/4.1.0 \ + crate://crates.io/funty/2.0.0 \ + crate://crates.io/futures-channel/0.3.32 \ + crate://crates.io/futures-core/0.3.32 \ + crate://crates.io/futures-executor/0.3.32 \ + crate://crates.io/futures-macro/0.3.32 \ + crate://crates.io/futures-task/0.3.32 \ + crate://crates.io/futures-util/0.3.32 \ + crate://crates.io/generic-array/0.14.7 \ + crate://crates.io/getrandom/0.2.17 \ + crate://crates.io/getrandom/0.4.2 \ + crate://crates.io/gimli/0.32.3 \ + crate://crates.io/glob/0.3.3 \ + crate://crates.io/hashbrown/0.12.3 \ + crate://crates.io/hashbrown/0.15.5 \ + crate://crates.io/hashbrown/0.17.1 \ + crate://crates.io/headers/0.4.1 \ + crate://crates.io/headers-core/0.3.0 \ + crate://crates.io/heck/0.5.0 \ + crate://crates.io/hex/0.4.3 \ + crate://crates.io/hmac/0.13.0 \ + crate://crates.io/http/1.4.0 \ + crate://crates.io/http-body/1.0.1 \ + crate://crates.io/http-body-util/0.1.3 \ + crate://crates.io/httparse/1.10.1 \ + crate://crates.io/httpdate/1.0.3 \ + crate://crates.io/hybrid-array/0.4.12 \ + crate://crates.io/hyper/1.9.0 \ + crate://crates.io/hyper-openssl/0.10.2 \ + crate://crates.io/hyper-proxy2/0.1.0 \ + crate://crates.io/hyper-util/0.1.20 \ + crate://crates.io/iana-time-zone/0.1.65 \ + crate://crates.io/iana-time-zone-haiku/0.1.2 \ + crate://crates.io/icu_collections/2.2.0 \ + crate://crates.io/icu_locale_core/2.2.0 \ + crate://crates.io/icu_normalizer/2.2.0 \ + crate://crates.io/icu_normalizer_data/2.2.0 \ + crate://crates.io/icu_properties/2.2.0 \ + crate://crates.io/icu_properties_data/2.2.0 \ + crate://crates.io/icu_provider/2.2.0 \ + crate://crates.io/id-arena/2.3.0 \ + crate://crates.io/ident_case/1.0.1 \ + crate://crates.io/idna/1.1.0 \ + crate://crates.io/idna_adapter/1.2.2 \ + crate://crates.io/indexmap/1.9.3 \ + crate://crates.io/indexmap/2.14.0 \ + crate://crates.io/inotify/0.11.1 \ + crate://crates.io/inotify-sys/0.1.5 \ + crate://crates.io/is_terminal_polyfill/1.70.2 \ + crate://crates.io/itertools/0.13.0 \ + crate://crates.io/itertools/0.14.0 \ + crate://crates.io/itoa/1.0.18 \ + crate://crates.io/jiff/0.2.24 \ + crate://crates.io/jiff-static/0.2.24 \ + crate://crates.io/js-sys/0.3.98 \ + crate://crates.io/kqueue/1.1.1 \ + crate://crates.io/kqueue-sys/1.1.2 \ + crate://crates.io/leb128fmt/0.1.0 \ + crate://crates.io/libc/0.2.186 \ + crate://crates.io/libloading/0.8.9 \ + crate://crates.io/linked-hash-map/0.5.6 \ + crate://crates.io/linked_hash_set/0.1.6 \ + crate://crates.io/litemap/0.8.2 \ + crate://crates.io/lock_api/0.4.14 \ + crate://crates.io/log/0.4.29 \ + crate://crates.io/memchr/2.8.0 \ + crate://crates.io/memoffset/0.9.1 \ + crate://crates.io/mime/0.3.17 \ + crate://crates.io/minimal-lexical/0.2.1 \ + crate://crates.io/miniz_oxide/0.8.9 \ + crate://crates.io/mio/1.2.0 \ + crate://crates.io/nix/0.31.3 \ + crate://crates.io/nom/7.1.3 \ + crate://crates.io/notify/8.2.0 \ + crate://crates.io/notify-debouncer-full/0.7.0 \ + crate://crates.io/notify-types/2.1.0 \ + crate://crates.io/ntapi/0.4.3 \ + crate://crates.io/num-conv/0.2.2 \ + crate://crates.io/num-traits/0.2.19 \ + crate://crates.io/objc2-core-foundation/0.3.2 \ + crate://crates.io/objc2-io-kit/0.3.2 \ + crate://crates.io/object/0.37.3 \ + crate://crates.io/once_cell/1.21.4 \ + crate://crates.io/once_cell_polyfill/1.70.2 \ + crate://crates.io/openssl/0.10.80 \ + crate://crates.io/openssl-errors/0.2.0 \ + crate://crates.io/openssl-macros/0.1.1 \ + crate://crates.io/openssl-sys/0.9.116 \ + crate://crates.io/parking_lot/0.12.5 \ + crate://crates.io/parking_lot_core/0.9.12 \ + crate://crates.io/paste/1.0.15 \ + crate://crates.io/percent-encoding/2.3.2 \ + crate://crates.io/pin-project/1.1.13 \ + crate://crates.io/pin-project-internal/1.1.13 \ + crate://crates.io/pin-project-lite/0.2.17 \ + crate://crates.io/pkg-config/0.3.33 \ + crate://crates.io/portable-atomic/1.13.1 \ + crate://crates.io/portable-atomic-util/0.2.7 \ + crate://crates.io/potential_utf/0.1.5 \ + crate://crates.io/powerfmt/0.2.0 \ + crate://crates.io/ppv-lite86/0.2.21 \ + crate://crates.io/prettyplease/0.2.37 \ + crate://crates.io/proc-macro-crate/3.5.0 \ + crate://crates.io/proc-macro2/1.0.106 \ + crate://crates.io/ptr_meta/0.1.4 \ + crate://crates.io/ptr_meta_derive/0.1.4 \ + crate://crates.io/quote/1.0.45 \ + crate://crates.io/r-efi/6.0.0 \ + crate://crates.io/radium/0.7.0 \ + crate://crates.io/rand/0.10.1 \ + crate://crates.io/rand/0.8.6 \ + crate://crates.io/rand_chacha/0.3.1 \ + crate://crates.io/rand_core/0.10.1 \ + crate://crates.io/rand_core/0.6.4 \ + crate://crates.io/redox_syscall/0.5.18 \ + crate://crates.io/ref-cast/1.0.25 \ + crate://crates.io/ref-cast-impl/1.0.25 \ + crate://crates.io/regex/1.12.3 \ + crate://crates.io/regex-automata/0.4.14 \ + crate://crates.io/regex-syntax/0.8.10 \ + crate://crates.io/rend/0.4.2 \ + crate://crates.io/rkyv/0.7.46 \ + crate://crates.io/rkyv_derive/0.7.46 \ + crate://crates.io/rust_decimal/1.42.0 \ + crate://crates.io/rustc-demangle/0.1.27 \ + crate://crates.io/rustc-hash/2.1.2 \ + crate://crates.io/rustversion/1.0.22 \ + crate://crates.io/same-file/1.0.6 \ + crate://crates.io/scc/2.4.0 \ + crate://crates.io/schemars/0.9.0 \ + crate://crates.io/schemars/1.2.1 \ + crate://crates.io/scopeguard/1.2.0 \ + crate://crates.io/sd-notify/0.4.1 \ + crate://crates.io/sdd/3.0.10 \ + crate://crates.io/seahash/4.1.0 \ + crate://crates.io/semver/1.0.28 \ + crate://crates.io/serde/1.0.228 \ + crate://crates.io/serde_core/1.0.228 \ + crate://crates.io/serde_derive/1.0.228 \ + crate://crates.io/serde_json/1.0.149 \ + crate://crates.io/serde_spanned/1.1.1 \ + crate://crates.io/serde_with/3.20.0 \ + crate://crates.io/serde_with_macros/3.20.0 \ + crate://crates.io/serial_test/3.4.0 \ + crate://crates.io/serial_test_derive/3.4.0 \ + crate://crates.io/sha1/0.10.6 \ + crate://crates.io/sha2/0.11.0 \ + crate://crates.io/shlex/1.3.0 \ + crate://crates.io/simdutf8/0.1.5 \ + crate://crates.io/slab/0.4.12 \ + crate://crates.io/smallvec/1.15.1 \ + crate://crates.io/socket2/0.6.3 \ + crate://crates.io/stable_deref_trait/1.2.1 \ + crate://crates.io/strsim/0.11.1 \ + crate://crates.io/syn/1.0.109 \ + crate://crates.io/syn/2.0.117 \ + crate://crates.io/synstructure/0.13.2 \ + crate://crates.io/sysinfo/0.38.4 \ + crate://crates.io/tap/1.0.1 \ + crate://crates.io/time/0.3.47 \ + crate://crates.io/time-core/0.1.8 \ + crate://crates.io/time-macros/0.2.27 \ + crate://crates.io/tinystr/0.8.3 \ + crate://crates.io/tinyvec/1.11.0 \ + crate://crates.io/tinyvec_macros/0.1.1 \ + crate://crates.io/tokio/1.52.3 \ + crate://crates.io/tokio-macros/2.7.0 \ + crate://crates.io/tokio-openssl/0.6.5 \ + crate://crates.io/toml/1.1.2+spec-1.1.0 \ + crate://crates.io/toml_datetime/1.1.1+spec-1.1.0 \ + crate://crates.io/toml_edit/0.25.11+spec-1.1.0 \ + crate://crates.io/toml_parser/1.1.2+spec-1.1.0 \ + crate://crates.io/toml_writer/1.1.1+spec-1.1.0 \ + crate://crates.io/tower-layer/0.3.3 \ + crate://crates.io/tower-service/0.3.3 \ + crate://crates.io/tracing/0.1.44 \ + crate://crates.io/tracing-core/0.1.36 \ + crate://crates.io/try-lock/0.2.5 \ + crate://crates.io/typeid/1.0.3 \ + crate://crates.io/typenum/1.20.0 \ + crate://crates.io/unicode-ident/1.0.24 \ + crate://crates.io/unicode-xid/0.2.6 \ + crate://crates.io/url/2.5.8 \ + crate://crates.io/utf8-width/0.1.8 \ + crate://crates.io/utf8_iter/1.0.4 \ + crate://crates.io/utf8parse/0.2.2 \ + crate://crates.io/uuid/1.23.1 \ + crate://crates.io/vcpkg/0.2.15 \ + crate://crates.io/version_check/0.9.5 \ + crate://crates.io/walkdir/2.5.0 \ + crate://crates.io/want/0.3.1 \ + crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ + crate://crates.io/wasip2/1.0.3+wasi-0.2.9 \ + crate://crates.io/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06 \ + crate://crates.io/wasm-bindgen/0.2.121 \ + crate://crates.io/wasm-bindgen-macro/0.2.121 \ + crate://crates.io/wasm-bindgen-macro-support/0.2.121 \ + crate://crates.io/wasm-bindgen-shared/0.2.121 \ + crate://crates.io/wasm-encoder/0.244.0 \ + crate://crates.io/wasm-metadata/0.244.0 \ + crate://crates.io/wasmparser/0.244.0 \ + crate://crates.io/wildmatch/2.6.1 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.11 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/windows/0.62.2 \ + crate://crates.io/windows-collections/0.3.2 \ + crate://crates.io/windows-core/0.62.2 \ + crate://crates.io/windows-future/0.3.2 \ + crate://crates.io/windows-implement/0.60.2 \ + crate://crates.io/windows-interface/0.59.3 \ + crate://crates.io/windows-link/0.2.1 \ + crate://crates.io/windows-numerics/0.3.1 \ + crate://crates.io/windows-result/0.4.1 \ + crate://crates.io/windows-strings/0.5.1 \ + crate://crates.io/windows-sys/0.60.2 \ + crate://crates.io/windows-sys/0.61.2 \ + crate://crates.io/windows-targets/0.53.5 \ + crate://crates.io/windows-threading/0.2.1 \ + crate://crates.io/windows_aarch64_gnullvm/0.53.1 \ + crate://crates.io/windows_aarch64_msvc/0.53.1 \ + crate://crates.io/windows_i686_gnu/0.53.1 \ + crate://crates.io/windows_i686_gnullvm/0.53.1 \ + crate://crates.io/windows_i686_msvc/0.53.1 \ + crate://crates.io/windows_x86_64_gnu/0.53.1 \ + crate://crates.io/windows_x86_64_gnullvm/0.53.1 \ + crate://crates.io/windows_x86_64_msvc/0.53.1 \ + crate://crates.io/winnow/1.0.3 \ + crate://crates.io/wit-bindgen/0.51.0 \ + crate://crates.io/wit-bindgen/0.57.1 \ + crate://crates.io/wit-bindgen-core/0.51.0 \ + crate://crates.io/wit-bindgen-rust/0.51.0 \ + crate://crates.io/wit-bindgen-rust-macro/0.51.0 \ + crate://crates.io/wit-component/0.244.0 \ + crate://crates.io/wit-parser/0.244.0 \ + crate://crates.io/writeable/0.6.3 \ + crate://crates.io/wyz/0.5.1 \ + crate://crates.io/yoke/0.8.2 \ + crate://crates.io/yoke-derive/0.8.2 \ + crate://crates.io/zerocopy/0.8.48 \ + crate://crates.io/zerocopy-derive/0.8.48 \ + crate://crates.io/zerofrom/0.1.8 \ + crate://crates.io/zerofrom-derive/0.1.7 \ + crate://crates.io/zerotrie/0.2.4 \ + crate://crates.io/zerovec/0.11.6 \ + crate://crates.io/zerovec-derive/0.11.3 \ + crate://crates.io/zmij/1.0.21 \ +" + +SRC_URI[addr2line-0.25.1.sha256sum] = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" +SRC_URI[adler2-2.0.1.sha256sum] = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" +SRC_URI[ahash-0.7.8.sha256sum] = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +SRC_URI[aho-corasick-1.1.4.sha256sum] = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +SRC_URI[anstream-1.0.0.sha256sum] = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" +SRC_URI[anstyle-1.0.14.sha256sum] = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" +SRC_URI[anstyle-parse-1.0.0.sha256sum] = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" +SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +SRC_URI[anyhow-1.0.102.sha256sum] = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" +SRC_URI[arrayvec-0.7.6.sha256sum] = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +SRC_URI[async-recursion-1.1.1.sha256sum] = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +SRC_URI[async-trait-0.1.89.sha256sum] = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +SRC_URI[atomic-waker-1.1.2.sha256sum] = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +SRC_URI[autocfg-1.5.0.sha256sum] = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +SRC_URI[backtrace-0.3.76.sha256sum] = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" +SRC_URI[base64-0.22.1.sha256sum] = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +SRC_URI[bindgen-0.72.1.sha256sum] = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" +SRC_URI[bitflags-2.11.1.sha256sum] = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" +SRC_URI[bitvec-1.0.1.sha256sum] = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +SRC_URI[block-buffer-0.12.0.sha256sum] = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" +SRC_URI[borsh-1.6.1.sha256sum] = "cfd1e3f8955a5d7de9fab72fc8373fade9fb8a703968cb200ae3dc6cf08e185a" +SRC_URI[borsh-derive-1.6.1.sha256sum] = "bfcfdc083699101d5a7965e49925975f2f55060f94f9a05e7187be95d530ca59" +SRC_URI[bs58-0.5.1.sha256sum] = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +SRC_URI[bumpalo-3.20.2.sha256sum] = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" +SRC_URI[byte-unit-5.2.0.sha256sum] = "8c6d47a4e2961fb8721bcfc54feae6455f2f64e7054f9bc67e875f0e77f4c58d" +SRC_URI[bytecheck-0.6.12.sha256sum] = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" +SRC_URI[bytecheck_derive-0.6.12.sha256sum] = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" +SRC_URI[bytes-1.11.1.sha256sum] = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +SRC_URI[cc-1.2.62.sha256sum] = "a1dce859f0832a7d088c4f1119888ab94ef4b5d6795d1ce05afb7fe159d79f98" +SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +SRC_URI[cfg-if-0.1.10.sha256sum] = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +SRC_URI[chacha20-0.10.0.sha256sum] = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +SRC_URI[chrono-0.4.44.sha256sum] = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" +SRC_URI[clang-sys-1.8.1.sha256sum] = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +SRC_URI[clap-4.6.1.sha256sum] = "1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51" +SRC_URI[clap_builder-4.6.0.sha256sum] = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" +SRC_URI[clap_derive-4.6.1.sha256sum] = "f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9" +SRC_URI[clap_lex-1.1.0.sha256sum] = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" +SRC_URI[cmov-0.5.3.sha256sum] = "3f88a43d011fc4a6876cb7344703e297c71dda42494fee094d5f7c76bf13f746" +SRC_URI[colorchoice-1.0.5.sha256sum] = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" +SRC_URI[colored-3.1.1.sha256sum] = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" +SRC_URI[const-oid-0.10.2.sha256sum] = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" +SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +SRC_URI[cpufeatures-0.3.0.sha256sum] = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +SRC_URI[crypto-common-0.2.2.sha256sum] = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" +SRC_URI[ctutils-0.4.2.sha256sum] = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e" +SRC_URI[darling-0.23.0.sha256sum] = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +SRC_URI[darling_core-0.23.0.sha256sum] = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +SRC_URI[darling_macro-0.23.0.sha256sum] = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" +SRC_URI[deranged-0.5.8.sha256sum] = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +SRC_URI[digest-0.11.3.sha256sum] = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" +SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +SRC_URI[dyn-clone-1.0.20.sha256sum] = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" +SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +SRC_URI[env_filter-1.0.1.sha256sum] = "32e90c2accc4b07a8456ea0debdc2e7587bdd890680d71173a15d4ae604f6eef" +SRC_URI[env_logger-0.11.10.sha256sum] = "0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a" +SRC_URI[equivalent-1.0.2.sha256sum] = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +SRC_URI[erased-serde-0.4.10.sha256sum] = "d2add8a07dd6a8d93ff627029c51de145e12686fbc36ecb298ac22e74cf02dec" +SRC_URI[file-id-0.2.3.sha256sum] = "e1fc6a637b6dc58414714eddd9170ff187ecb0933d4c7024d1abbd23a3cc26e9" +SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +SRC_URI[foldhash-0.1.5.sha256sum] = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +SRC_URI[form_urlencoded-1.2.2.sha256sum] = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +SRC_URI[fsevent-sys-4.1.0.sha256sum] = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +SRC_URI[funty-2.0.0.sha256sum] = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" +SRC_URI[futures-channel-0.3.32.sha256sum] = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +SRC_URI[futures-core-0.3.32.sha256sum] = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" +SRC_URI[futures-executor-0.3.32.sha256sum] = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +SRC_URI[futures-macro-0.3.32.sha256sum] = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +SRC_URI[futures-task-0.3.32.sha256sum] = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" +SRC_URI[futures-util-0.3.32.sha256sum] = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +SRC_URI[getrandom-0.4.2.sha256sum] = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +SRC_URI[gimli-0.32.3.sha256sum] = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" +SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" +SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +SRC_URI[hashbrown-0.15.5.sha256sum] = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +SRC_URI[hashbrown-0.17.1.sha256sum] = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +SRC_URI[headers-0.4.1.sha256sum] = "b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb" +SRC_URI[headers-core-0.3.0.sha256sum] = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" +SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +SRC_URI[hmac-0.13.0.sha256sum] = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f" +SRC_URI[http-1.4.0.sha256sum] = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +SRC_URI[http-body-1.0.1.sha256sum] = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +SRC_URI[http-body-util-0.1.3.sha256sum] = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +SRC_URI[httparse-1.10.1.sha256sum] = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" +SRC_URI[httpdate-1.0.3.sha256sum] = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +SRC_URI[hybrid-array-0.4.12.sha256sum] = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da" +SRC_URI[hyper-1.9.0.sha256sum] = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" +SRC_URI[hyper-openssl-0.10.2.sha256sum] = "527d4d619ca2c2aafa31ec139a3d1d60bf557bf7578a1f20f743637eccd9ca19" +SRC_URI[hyper-proxy2-0.1.0.sha256sum] = "9043b7b23fb0bc4a1c7014c27b50a4fc42cc76206f71d34fc0dfe5b28ddc3faf" +SRC_URI[hyper-util-0.1.20.sha256sum] = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +SRC_URI[icu_collections-2.2.0.sha256sum] = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" +SRC_URI[icu_locale_core-2.2.0.sha256sum] = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" +SRC_URI[icu_normalizer-2.2.0.sha256sum] = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" +SRC_URI[icu_normalizer_data-2.2.0.sha256sum] = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" +SRC_URI[icu_properties-2.2.0.sha256sum] = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" +SRC_URI[icu_properties_data-2.2.0.sha256sum] = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" +SRC_URI[icu_provider-2.2.0.sha256sum] = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" +SRC_URI[id-arena-2.3.0.sha256sum] = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" +SRC_URI[ident_case-1.0.1.sha256sum] = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +SRC_URI[idna-1.1.0.sha256sum] = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +SRC_URI[idna_adapter-1.2.2.sha256sum] = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" +SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +SRC_URI[indexmap-2.14.0.sha256sum] = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" +SRC_URI[inotify-0.11.1.sha256sum] = "bd5b3eaf1a28b758ac0faa5a4254e8ab2705605496f1b1f3fbbc3988ad73d199" +SRC_URI[inotify-sys-0.1.5.sha256sum] = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" +SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +SRC_URI[itoa-1.0.18.sha256sum] = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" +SRC_URI[jiff-0.2.24.sha256sum] = "f00b5dbd620d61dfdcb6007c9c1f6054ebd75319f163d886a9055cec1155073d" +SRC_URI[jiff-static-0.2.24.sha256sum] = "e000de030ff8022ea1da3f466fbb0f3a809f5e51ed31f6dd931c35181ad8e6d7" +SRC_URI[js-sys-0.3.98.sha256sum] = "67df7112613f8bfd9150013a0314e196f4800d3201ae742489d999db2f979f08" +SRC_URI[kqueue-1.1.1.sha256sum] = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a" +SRC_URI[kqueue-sys-1.1.2.sha256sum] = "07293a4e297ac234359b510362495713f75ea345d5307140414f20c69ffeb087" +SRC_URI[leb128fmt-0.1.0.sha256sum] = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" +SRC_URI[libc-0.2.186.sha256sum] = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" +SRC_URI[libloading-0.8.9.sha256sum] = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +SRC_URI[linked-hash-map-0.5.6.sha256sum] = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" +SRC_URI[linked_hash_set-0.1.6.sha256sum] = "984fb35d06508d1e69fc91050cceba9c0b748f983e6739fa2c7a9237154c52c8" +SRC_URI[litemap-0.8.2.sha256sum] = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" +SRC_URI[lock_api-0.4.14.sha256sum] = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +SRC_URI[log-0.4.29.sha256sum] = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +SRC_URI[memchr-2.8.0.sha256sum] = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +SRC_URI[memoffset-0.9.1.sha256sum] = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +SRC_URI[mime-0.3.17.sha256sum] = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +SRC_URI[mio-1.2.0.sha256sum] = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" +SRC_URI[nix-0.31.3.sha256sum] = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d" +SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +SRC_URI[notify-8.2.0.sha256sum] = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" +SRC_URI[notify-debouncer-full-0.7.0.sha256sum] = "c02b49179cfebc9932238d04d6079912d26de0379328872846118a0fa0dbb302" +SRC_URI[notify-types-2.1.0.sha256sum] = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a" +SRC_URI[ntapi-0.4.3.sha256sum] = "c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae" +SRC_URI[num-conv-0.2.2.sha256sum] = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" +SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +SRC_URI[objc2-core-foundation-0.3.2.sha256sum] = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +SRC_URI[objc2-io-kit-0.3.2.sha256sum] = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" +SRC_URI[object-0.37.3.sha256sum] = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" +SRC_URI[once_cell-1.21.4.sha256sum] = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" +SRC_URI[once_cell_polyfill-1.70.2.sha256sum] = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" +SRC_URI[openssl-0.10.80.sha256sum] = "a45fa2aa886c42762255da344f0a0d313e254066c46aad76f300c3d3da62d967" +SRC_URI[openssl-errors-0.2.0.sha256sum] = "79e3f2eccb96e50eb0e24fbbd8551e75c5c96a8a05f4bcbfca134339b7730ae5" +SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +SRC_URI[openssl-sys-0.9.116.sha256sum] = "f28a22dc7140cda5f096e5e7724a6962ca81a7f8bfd2979f9b18c11af56318c4" +SRC_URI[parking_lot-0.12.5.sha256sum] = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +SRC_URI[parking_lot_core-0.9.12.sha256sum] = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +SRC_URI[paste-1.0.15.sha256sum] = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +SRC_URI[percent-encoding-2.3.2.sha256sum] = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" +SRC_URI[pin-project-1.1.13.sha256sum] = "2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924" +SRC_URI[pin-project-internal-1.1.13.sha256sum] = "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b" +SRC_URI[pin-project-lite-0.2.17.sha256sum] = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +SRC_URI[pkg-config-0.3.33.sha256sum] = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" +SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" +SRC_URI[portable-atomic-util-0.2.7.sha256sum] = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" +SRC_URI[potential_utf-0.1.5.sha256sum] = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" +SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +SRC_URI[ppv-lite86-0.2.21.sha256sum] = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +SRC_URI[prettyplease-0.2.37.sha256sum] = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +SRC_URI[proc-macro-crate-3.5.0.sha256sum] = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +SRC_URI[ptr_meta-0.1.4.sha256sum] = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +SRC_URI[ptr_meta_derive-0.1.4.sha256sum] = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +SRC_URI[quote-1.0.45.sha256sum] = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +SRC_URI[r-efi-6.0.0.sha256sum] = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" +SRC_URI[radium-0.7.0.sha256sum] = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +SRC_URI[rand-0.10.1.sha256sum] = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" +SRC_URI[rand-0.8.6.sha256sum] = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" +SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +SRC_URI[rand_core-0.10.1.sha256sum] = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" +SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +SRC_URI[redox_syscall-0.5.18.sha256sum] = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +SRC_URI[ref-cast-1.0.25.sha256sum] = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +SRC_URI[ref-cast-impl-1.0.25.sha256sum] = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +SRC_URI[regex-1.12.3.sha256sum] = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +SRC_URI[regex-automata-0.4.14.sha256sum] = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +SRC_URI[regex-syntax-0.8.10.sha256sum] = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" +SRC_URI[rend-0.4.2.sha256sum] = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" +SRC_URI[rkyv-0.7.46.sha256sum] = "2297bf9c81a3f0dc96bc9521370b88f054168c29826a75e89c55ff196e7ed6a1" +SRC_URI[rkyv_derive-0.7.46.sha256sum] = "84d7b42d4b8d06048d3ac8db0eb31bcb942cbeb709f0b5f2b2ebde398d3038f5" +SRC_URI[rust_decimal-1.42.0.sha256sum] = "0c5108e3d4d903e21aac27f12ba5377b6b34f9f44b325e4894c7924169d06995" +SRC_URI[rustc-demangle-0.1.27.sha256sum] = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d" +SRC_URI[rustc-hash-2.1.2.sha256sum] = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" +SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +SRC_URI[scc-2.4.0.sha256sum] = "46e6f046b7fef48e2660c57ed794263155d713de679057f2d0c169bfc6e756cc" +SRC_URI[schemars-0.9.0.sha256sum] = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +SRC_URI[schemars-1.2.1.sha256sum] = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" +SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +SRC_URI[sd-notify-0.4.1.sha256sum] = "621e3680f3e07db4c9c2c3fb07c6223ab2fab2e54bd3c04c3ae037990f428c32" +SRC_URI[sdd-3.0.10.sha256sum] = "490dcfcbfef26be6800d11870ff2df8774fa6e86d047e3e8c8a76b25655e41ca" +SRC_URI[seahash-4.1.0.sha256sum] = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" +SRC_URI[semver-1.0.28.sha256sum] = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" +SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +SRC_URI[serde_json-1.0.149.sha256sum] = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +SRC_URI[serde_spanned-1.1.1.sha256sum] = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" +SRC_URI[serde_with-3.20.0.sha256sum] = "e72c1c2cb7b223fafb600a619537a871c2818583d619401b785e7c0b746ccde2" +SRC_URI[serde_with_macros-3.20.0.sha256sum] = "b90c488738ecb4fb0262f41f43bc40efc5868d9fb744319ddf5f5317f417bfac" +SRC_URI[serial_test-3.4.0.sha256sum] = "911bd979bf1070a3f3aa7b691a3b3e9968f339ceeec89e08c280a8a22207a32f" +SRC_URI[serial_test_derive-3.4.0.sha256sum] = "0a7d91949b85b0d2fb687445e448b40d322b6b3e4af6b44a29b21d9a5f33e6d9" +SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +SRC_URI[sha2-0.11.0.sha256sum] = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" +SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +SRC_URI[simdutf8-0.1.5.sha256sum] = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" +SRC_URI[slab-0.4.12.sha256sum] = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" +SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +SRC_URI[socket2-0.6.3.sha256sum] = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" +SRC_URI[stable_deref_trait-1.2.1.sha256sum] = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" +SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +SRC_URI[syn-2.0.117.sha256sum] = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +SRC_URI[sysinfo-0.38.4.sha256sum] = "92ab6a2f8bfe508deb3c6406578252e491d299cbbf3bc0529ecc3313aee4a52f" +SRC_URI[tap-1.0.1.sha256sum] = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +SRC_URI[time-0.3.47.sha256sum] = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +SRC_URI[time-core-0.1.8.sha256sum] = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" +SRC_URI[time-macros-0.2.27.sha256sum] = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +SRC_URI[tinystr-0.8.3.sha256sum] = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" +SRC_URI[tinyvec-1.11.0.sha256sum] = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" +SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +SRC_URI[tokio-1.52.3.sha256sum] = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" +SRC_URI[tokio-macros-2.7.0.sha256sum] = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" +SRC_URI[tokio-openssl-0.6.5.sha256sum] = "59df6849caa43bb7567f9a36f863c447d95a11d5903c9cc334ba32576a27eadd" +SRC_URI[toml-1.1.2+spec-1.1.0.sha256sum] = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee" +SRC_URI[toml_datetime-1.1.1+spec-1.1.0.sha256sum] = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +SRC_URI[toml_edit-0.25.11+spec-1.1.0.sha256sum] = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" +SRC_URI[toml_parser-1.1.2+spec-1.1.0.sha256sum] = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" +SRC_URI[toml_writer-1.1.1+spec-1.1.0.sha256sum] = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" +SRC_URI[tower-layer-0.3.3.sha256sum] = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" +SRC_URI[tower-service-0.3.3.sha256sum] = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" +SRC_URI[tracing-0.1.44.sha256sum] = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +SRC_URI[tracing-core-0.1.36.sha256sum] = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +SRC_URI[try-lock-0.2.5.sha256sum] = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +SRC_URI[typeid-1.0.3.sha256sum] = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" +SRC_URI[typenum-1.20.0.sha256sum] = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" +SRC_URI[unicode-ident-1.0.24.sha256sum] = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" +SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +SRC_URI[url-2.5.8.sha256sum] = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +SRC_URI[utf8-width-0.1.8.sha256sum] = "1292c0d970b54115d14f2492fe0170adf21d68a1de108eebc51c1df4f346a091" +SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +SRC_URI[uuid-1.23.1.sha256sum] = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" +SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +SRC_URI[want-0.3.1.sha256sum] = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" +SRC_URI[wasip2-1.0.3+wasi-0.2.9.sha256sum] = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" +SRC_URI[wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.sha256sum] = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +SRC_URI[wasm-bindgen-0.2.121.sha256sum] = "49ace1d07c165b0864824eee619580c4689389afa9dc9ed3a4c75040d82e6790" +SRC_URI[wasm-bindgen-macro-0.2.121.sha256sum] = "8e68e6f4afd367a562002c05637acb8578ff2dea1943df76afb9e83d177c8578" +SRC_URI[wasm-bindgen-macro-support-0.2.121.sha256sum] = "d95a9ec35c64b2a7cb35d3fead40c4238d0940c86d107136999567a4703259f2" +SRC_URI[wasm-bindgen-shared-0.2.121.sha256sum] = "c4e0100b01e9f0d03189a92b96772a1fb998639d981193d7dbab487302513441" +SRC_URI[wasm-encoder-0.244.0.sha256sum] = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +SRC_URI[wasm-metadata-0.244.0.sha256sum] = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +SRC_URI[wasmparser-0.244.0.sha256sum] = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +SRC_URI[wildmatch-2.6.1.sha256sum] = "29333c3ea1ba8b17211763463ff24ee84e41c78224c16b001cd907e663a38c68" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.11.sha256sum] = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-0.62.2.sha256sum] = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" +SRC_URI[windows-collections-0.3.2.sha256sum] = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" +SRC_URI[windows-core-0.62.2.sha256sum] = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +SRC_URI[windows-future-0.3.2.sha256sum] = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" +SRC_URI[windows-implement-0.60.2.sha256sum] = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +SRC_URI[windows-interface-0.59.3.sha256sum] = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +SRC_URI[windows-link-0.2.1.sha256sum] = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +SRC_URI[windows-numerics-0.3.1.sha256sum] = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" +SRC_URI[windows-result-0.4.1.sha256sum] = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +SRC_URI[windows-strings-0.5.1.sha256sum] = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +SRC_URI[windows-sys-0.60.2.sha256sum] = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +SRC_URI[windows-sys-0.61.2.sha256sum] = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +SRC_URI[windows-targets-0.53.5.sha256sum] = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +SRC_URI[windows-threading-0.2.1.sha256sum] = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" +SRC_URI[windows_aarch64_gnullvm-0.53.1.sha256sum] = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +SRC_URI[windows_aarch64_msvc-0.53.1.sha256sum] = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +SRC_URI[windows_i686_gnu-0.53.1.sha256sum] = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" +SRC_URI[windows_i686_gnullvm-0.53.1.sha256sum] = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +SRC_URI[windows_i686_msvc-0.53.1.sha256sum] = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +SRC_URI[windows_x86_64_gnu-0.53.1.sha256sum] = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +SRC_URI[windows_x86_64_gnullvm-0.53.1.sha256sum] = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" +SRC_URI[winnow-1.0.3.sha256sum] = "0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1" +SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +SRC_URI[wit-bindgen-0.57.1.sha256sum] = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" +SRC_URI[wit-bindgen-core-0.51.0.sha256sum] = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +SRC_URI[wit-bindgen-rust-0.51.0.sha256sum] = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +SRC_URI[wit-bindgen-rust-macro-0.51.0.sha256sum] = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +SRC_URI[wit-component-0.244.0.sha256sum] = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +SRC_URI[wit-parser-0.244.0.sha256sum] = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +SRC_URI[writeable-0.6.3.sha256sum] = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" +SRC_URI[wyz-0.5.1.sha256sum] = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +SRC_URI[yoke-0.8.2.sha256sum] = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" +SRC_URI[yoke-derive-0.8.2.sha256sum] = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" +SRC_URI[zerocopy-0.8.48.sha256sum] = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" +SRC_URI[zerocopy-derive-0.8.48.sha256sum] = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" +SRC_URI[zerofrom-0.1.8.sha256sum] = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" +SRC_URI[zerofrom-derive-0.1.7.sha256sum] = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" +SRC_URI[zerotrie-0.2.4.sha256sum] = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" +SRC_URI[zerovec-0.11.6.sha256sum] = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" +SRC_URI[zerovec-derive-0.11.3.sha256sum] = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" +SRC_URI[zmij-1.0.21.sha256sum] = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + +# FIXME: update generateme with the real MD5 of the license file +LIC_FILES_CHKSUM = " \ + " + +SUMMARY = "The code used for Identity Service." +HOMEPAGE = "" +LICENSE = "CLOSED" + +# includes this file if it exists but does not fail +# this is useful for anything you may want to override from +# what cargo-bitbake generates. +include aziot-identityd-${PV}.inc +include aziot-identityd.inc diff --git a/recipes-azure-iot/azure-iot-sdk-c/azure-iot-sdk-c_1.14.0.bb b/recipes-azure-iot/azure-iot-sdk-c/azure-iot-sdk-c_1.14.0.bb index 4f38e9853..be94ce38d 100644 --- a/recipes-azure-iot/azure-iot-sdk-c/azure-iot-sdk-c_1.14.0.bb +++ b/recipes-azure-iot/azure-iot-sdk-c/azure-iot-sdk-c_1.14.0.bb @@ -6,9 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=4283671594edec4c13aeb073c219237a" SRC_URI = "gitsm://github.com/Azure/azure-iot-sdk-c.git;branch=lts_03_2025;tag=LTS_03_2025;protocol=https" PV .= "+${SRCPV}" -CVE_PRODUCT="microsoft:azure-iot-sdk-c" - -S = "${WORKDIR}/git" +CVE_PRODUCT = "microsoft:azure-iot-sdk-c" # util-linux for uuid-dev DEPENDS = "util-linux curl openssl" @@ -18,6 +16,10 @@ inherit cmake EXTRA_OECMAKE += "-Duse_prov_client:BOOL=OFF" EXTRA_OECMAKE += "-Dskip_samples:BOOL=ON" +# cmake-native 4.x removed compat with cmake_minimum_required(VERSION <3.5), +# which the bundled azure-macro-utils-c submodule still declares. +EXTRA_OECMAKE += "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" + # fix compilation of services which depend on azure-iot-sdk-c (e.g. iot-hub-device-update) do_configure:prepend() { sed -i 's/${OPENSSL_LIBRARIES}/crypto ssl/g' ${S}/c-utility/CMakeLists.txt diff --git a/recipes-azure-iot/iot-hub-device-update/iot-hub-device-update/omnect_1.4.0.patch b/recipes-azure-iot/iot-hub-device-update/iot-hub-device-update/omnect_1.4.0.patch index 4faf4557d..2a59ec795 100644 --- a/recipes-azure-iot/iot-hub-device-update/iot-hub-device-update/omnect_1.4.0.patch +++ b/recipes-azure-iot/iot-hub-device-update/iot-hub-device-update/omnect_1.4.0.patch @@ -607,6 +607,25 @@ index dbd6d5b5..f0d96f74 100644 target_compile_definitions (${PROJECT_NAME} PRIVATE ADUC_CONF_FILE_PATH="/etc/adu/du-config.json") include (CTest) +diff --git a/src/diagnostics_component/diagnostics_devicename/inc/diagnostics_devicename.h b/src/diagnostics_component/diagnostics_devicename/inc/diagnostics_devicename.h +index e5affb15..a5614cdb 100644 +--- a/src/diagnostics_component/diagnostics_devicename/inc/diagnostics_devicename.h ++++ b/src/diagnostics_component/diagnostics_devicename/inc/diagnostics_devicename.h +@@ -6,7 +6,7 @@ + * Licensed under the MIT License. + */ + #ifndef DIAGNOSTICS_DEVICENAMES_H +-# define DIAGNOSTICS_DEVICENAMES_UTILS_H ++# define DIAGNOSTICS_DEVICENAMES_H + + # include + # include +@@ -36,4 +36,4 @@ void DiagnosticsComponent_DestroyDeviceName(void); + + EXTERN_C_END + +-#endif // DIAGNOSTICS_DEVICENAMES_UTILS_H ++#endif // DIAGNOSTICS_DEVICENAMES_H diff --git a/src/diagnostics_component/diagnostics_workflow/CMakeLists.txt b/src/diagnostics_component/diagnostics_workflow/CMakeLists.txt index dc064d3b..15c516fc 100644 --- a/src/diagnostics_component/diagnostics_workflow/CMakeLists.txt @@ -1859,6 +1878,18 @@ index b1c9ee0c..057a483a 100644 { Log_Error("statvfs failed, error: %d", errno); return nullptr; +diff --git a/src/utils/apiproto_utils/inc/aduc/apiproto.h b/src/utils/apiproto_utils/inc/aduc/apiproto.h +index 5e1b6eec..3fc2a9e9 100644 +--- a/src/utils/apiproto_utils/inc/aduc/apiproto.h ++++ b/src/utils/apiproto_utils/inc/aduc/apiproto.h +@@ -11,7 +11,6 @@ + + #include "aduc/c_utils.h" + #include +-#define _XOPEN_SOURCE 700 + #include + #include + diff --git a/src/utils/apiproto_utils/src/apiproto.c b/src/utils/apiproto_utils/src/apiproto.c index 07ef0759..bdf9dd88 100644 --- a/src/utils/apiproto_utils/src/apiproto.c diff --git a/recipes-azure-iot/iot-hub-device-update/iot-hub-device-update_1.4.0.bb b/recipes-azure-iot/iot-hub-device-update/iot-hub-device-update_1.4.0.bb index 2e613d917..84c843fd6 100644 --- a/recipes-azure-iot/iot-hub-device-update/iot-hub-device-update_1.4.0.bb +++ b/recipes-azure-iot/iot-hub-device-update/iot-hub-device-update_1.4.0.bb @@ -30,8 +30,6 @@ SRC_URI:append:omnect_grub = " file://swupdate_handler_v2_grub.sh" PV .= "+${SRCPV}" -S = "${WORKDIR}/git" - DEPENDS = " \ azure-iot-sdk-c \ boost \ @@ -86,30 +84,30 @@ do_install:append() { .agents[].manufacturer = $adu_deviceproperties_manufacturer | .agents[].model = $adu_deviceproperties_model | .agents[].additionalDeviceProperties.compatibilityid = $adu_deviceproperties_compatibility_id'\ - ${WORKDIR}/du-config.json > ${D}${sysconfdir}/adu/du-config.json + ${UNPACKDIR}/du-config.json > ${D}${sysconfdir}/adu/du-config.json chown adu:adu ${D}${sysconfdir}/adu/du-config.json chmod 0444 ${D}${sysconfdir}/adu/du-config.json - install -m 0444 -o adu -g adu ${WORKDIR}/du-diagnostics-config.json ${D}${sysconfdir}/adu/ + install -m 0444 -o adu -g adu ${UNPACKDIR}/du-diagnostics-config.json ${D}${sysconfdir}/adu/ # enable user adu to exec adu-shell chgrp adu ${D}${bindir}/adu-shell chmod 0550 ${D}${bindir}/adu-shell # create tmpfiles.d entry to (re)create dir + permissions - install -m 0644 -D ${WORKDIR}/iot-hub-device-update.tmpfilesd ${D}${libdir}/tmpfiles.d/iot-hub-device-update.conf + install -m 0644 -D ${UNPACKDIR}/iot-hub-device-update.tmpfilesd ${D}${libdir}/tmpfiles.d/iot-hub-device-update.conf # configure iot-hub-device-update as iot-identity-service client # allow adu client access to device_id secret created by manual provisioning - install -m 0600 -o aziotks -g aziotks ${WORKDIR}/iot-identity-service-keyd.template.toml ${D}${sysconfdir}/aziot/keyd/config.d/iot-hub-device-update.toml + install -m 0600 -o aziotks -g aziotks ${UNPACKDIR}/iot-identity-service-keyd.template.toml ${D}${sysconfdir}/aziot/keyd/config.d/iot-hub-device-update.toml # allow adu client provisioning via module identity - install -m 0600 -o aziotid -g aziotid ${WORKDIR}/iot-identity-service-identityd.template.toml ${D}${sysconfdir}/aziot/identityd/config.d/iot-hub-device-update.toml + install -m 0600 -o aziotid -g aziotid ${UNPACKDIR}/iot-identity-service-identityd.template.toml ${D}${sysconfdir}/aziot/identityd/config.d/iot-hub-device-update.toml # systemd install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/deviceupdate-agent.service ${D}${systemd_system_unitdir}/ - install -m 0644 ${WORKDIR}/deviceupdate-agent.timer ${D}${systemd_system_unitdir}/ + install -m 0644 ${UNPACKDIR}/deviceupdate-agent.service ${D}${systemd_system_unitdir}/ + install -m 0644 ${UNPACKDIR}/deviceupdate-agent.timer ${D}${systemd_system_unitdir}/ # user_consent install -d ${D}${sysconfdir}/omnect/consent @@ -119,14 +117,14 @@ do_install:append() { install -d ${D}${sysconfdir}/omnect/consent/swupdate install -m 0660 -o adu -g adu ${S}/src/extensions/step_handlers/swupdate_consent_handler/files/user_consent.json ${D}${sysconfdir}/omnect/consent/swupdate/ - install -m 0440 -D ${WORKDIR}/adu-bootloader-env ${D}${sysconfdir}/sudoers.d/adu-bootloader-env + install -m 0440 -D ${UNPACKDIR}/adu-bootloader-env ${D}${sysconfdir}/sudoers.d/adu-bootloader-env } do_install:append:omnect_grub() { # install the swupdate_v2 script only for devel images if ${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '0', 'true', 'false', d)}; then install -d ${D}${libdir}/swupdate - install -m 0755 ${WORKDIR}/swupdate_handler_v2_grub.sh ${D}${libdir}/swupdate/omnect-swupdate.sh + install -m 0755 ${UNPACKDIR}/swupdate_handler_v2_grub.sh ${D}${libdir}/swupdate/omnect-swupdate.sh fi } @@ -134,7 +132,7 @@ do_install:append:omnect_uboot() { # install the swupdate_v2 script only for devel images if ${@bb.utils.contains('OMNECT_RELEASE_IMAGE', '0', 'true', 'false', d)}; then install -d ${D}${libdir}/swupdate - install -m 0755 ${WORKDIR}/swupdate_handler_v2_u-boot.sh ${D}${libdir}/swupdate/omnect-swupdate.sh + install -m 0755 ${UNPACKDIR}/swupdate_handler_v2_u-boot.sh ${D}${libdir}/swupdate/omnect-swupdate.sh fi } diff --git a/recipes-azure-iot/libeis-utils/libeis-utils_0.7.0.bb b/recipes-azure-iot/libeis-utils/libeis-utils_0.7.0.bb index 01d62bda5..df9bbac3f 100644 --- a/recipes-azure-iot/libeis-utils/libeis-utils_0.7.0.bb +++ b/recipes-azure-iot/libeis-utils/libeis-utils_0.7.0.bb @@ -4,24 +4,24 @@ LIC_FILES_CHKSUM = "file://../../../LICENSE.md;md5=95a70c9e1af3b97d8bde6f7435d53 SRC_URI = " \ git://github.com/azure/iot-hub-device-update.git;protocol=https;nobranch=1;rev=93f072e1a5641d52b89c2b5c92740e9ec05835f2 \ - file://mindep.patch;patchdir=${WORKDIR}/git \ - file://eis-utils-cert-chain-buffer.patch;patchdir=${WORKDIR}/git \ - file://eis-utils-set-GatewayHostName.patch;patchdir=${WORKDIR}/git \ + file://mindep.patch;patchdir=${UNPACKDIR}/${BP} \ + file://eis-utils-cert-chain-buffer.patch;patchdir=${UNPACKDIR}/${BP} \ + file://eis-utils-set-GatewayHostName.patch;patchdir=${UNPACKDIR}/${BP} \ ${@bb.utils.contains('EXTRA_IMAGE_FEATURES', 'omnect-debug', 'file://eis-utils-verbose-connection-string.patch', '', d)} \ " -S = "${WORKDIR}/git/src/utils/eis_utils" +S = "${UNPACKDIR}/${BP}/src/utils/eis_utils" DEPENDS = "azure-iot-sdk-c" inherit cmake -EXTRA_OECMAKE += "-DCMAKE_MODULE_PATH=${WORKDIR}/git/cmake" +EXTRA_OECMAKE += "-DCMAKE_MODULE_PATH=${UNPACKDIR}/${BP}/cmake" do_configure:prepend() { mkdir -p ${S}/inc/aduc - cp -f ${WORKDIR}/git/src/adu_types/inc/aduc/adu_types.h ${S}/inc/aduc - cp -f ${WORKDIR}/git/src/utils/c_utils/inc/aduc/* ${S}/inc/aduc + cp -f ${UNPACKDIR}/${BP}/src/adu_types/inc/aduc/adu_types.h ${S}/inc/aduc + cp -f ${UNPACKDIR}/${BP}/src/utils/c_utils/inc/aduc/* ${S}/inc/aduc } do_install() { diff --git a/recipes-bsp/bootloader-versioned/bootloader-versioned.bb b/recipes-bsp/bootloader-versioned/bootloader-versioned.bb index 47f54afe0..040e25fe6 100644 --- a/recipes-bsp/bootloader-versioned/bootloader-versioned.bb +++ b/recipes-bsp/bootloader-versioned/bootloader-versioned.bb @@ -1,7 +1,10 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" +# file-only recipe: sources land in ${UNPACKDIR}, not the default ${UNPACKDIR}/${BP}. +S = "${UNPACKDIR}" + LICENSE = "MIT | Apache-2.0" -LIC_FILES_CHKSUM="\ +LIC_FILES_CHKSUM = "\ file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \ file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \ " diff --git a/recipes-bsp/bootloader-versioned/bootloader-versioned.grub.inc b/recipes-bsp/bootloader-versioned/bootloader-versioned.grub.inc index 1c1604cfd..ce551ff69 100644 --- a/recipes-bsp/bootloader-versioned/bootloader-versioned.grub.inc +++ b/recipes-bsp/bootloader-versioned/bootloader-versioned.grub.inc @@ -16,7 +16,7 @@ OMNECT_BOOTLOADER_CHECKSUM_FILES += "${LAYERDIR_efi-secure-boot}/recipes-bsp/shi inherit deploy omnect_bootloader_versioning do_install() { - install -m 0755 -D ${WORKDIR}/omnect_get_bootloader_version.grub.sh ${D}/usr/bin/omnect_get_bootloader_version.sh + install -m 0755 -D ${UNPACKDIR}/omnect_get_bootloader_version.grub.sh ${D}/usr/bin/omnect_get_bootloader_version.sh } do_deploy() { @@ -24,4 +24,5 @@ do_deploy() { } do_deploy[depends] += "virtual/bootloader:do_deploy " -# Note: version is written to boot partition by kas/patches/oe_bootimg_efi_wic.patch +# Note: version is written to boot partition by the wic bootimg-efi patch in +# recipes-support/wic/wic_%.bbappend diff --git a/recipes-bsp/bootloader-versioned/bootloader-versioned.u-boot.inc b/recipes-bsp/bootloader-versioned/bootloader-versioned.u-boot.inc index 949dbcfdc..3109646ae 100644 --- a/recipes-bsp/bootloader-versioned/bootloader-versioned.u-boot.inc +++ b/recipes-bsp/bootloader-versioned/bootloader-versioned.u-boot.inc @@ -25,7 +25,7 @@ OMNECT_BOOTLOADER_CHECKSUM_FILES_GLOB_IGNORE += "${LAYERDIR_omnect}/recipes-bsp/ inherit omnect_bootloader_versioning omnect_uboot_embedded_version do_compile() { - cp "${WORKDIR}/omnect_get_bootloader_version.sh.template" "${WORKDIR}/omnect_get_bootloader_version.sh" + cp "${UNPACKDIR}/omnect_get_bootloader_version.sh.template" "${WORKDIR}/omnect_get_bootloader_version.sh" sed -i -e 's,@@OMNECT_BOOTLOADER_EMBEDDED_VERSION_MAGIC@@,${OMNECT_BOOTLOADER_EMBEDDED_VERSION_MAGIC},g' \ -e 's,@@OMNECT_BOOTLOADER_EMBEDDED_VERSION_PARAMSIZE@@,${OMNECT_BOOTLOADER_EMBEDDED_VERSION_PARAMSIZE},g' \ -e 's,@@OMNECT_BOOTLOADER_EMBEDDED_VERSION_IMAGEOFFSET@@,${OMNECT_BOOTLOADER_EMBEDDED_VERSION_IMAGEOFFSET},g' \ diff --git a/recipes-bsp/grub/grub-efi_%.bbappend b/recipes-bsp/grub/grub-efi_%.bbappend index 71d28ded1..0b8f02b6f 100644 --- a/recipes-bsp/grub/grub-efi_%.bbappend +++ b/recipes-bsp/grub/grub-efi_%.bbappend @@ -11,18 +11,18 @@ SRC_URI += "\ do_compile:append:class-target() { sed -e "s/@@OMNECT_APPEND_1ST_BOOT@@/${OMNECT_APPEND_1ST_BOOT}/g" \ - ${WORKDIR}/omnect.inc.in > ${WORKDIR}/boot-menu.inc - [ ${OMNECT_RELEASE_IMAGE} -eq 1 ] && sed -ie "s/^timeout=\(.\)/timeout=0/g" ${WORKDIR}/grub-efi.cfg + ${UNPACKDIR}/omnect.inc.in > ${UNPACKDIR}/boot-menu.inc + [ ${OMNECT_RELEASE_IMAGE} -eq 1 ] && sed -ie "s/^timeout=\(.\)/timeout=0/g" ${UNPACKDIR}/grub-efi.cfg - grub-script-check ${WORKDIR}/grub-efi.cfg - grub-script-check ${WORKDIR}/efi-secure-boot.inc - grub-script-check ${WORKDIR}/boot-menu.inc + grub-script-check ${UNPACKDIR}/grub-efi.cfg + grub-script-check ${UNPACKDIR}/efi-secure-boot.inc + grub-script-check ${UNPACKDIR}/boot-menu.inc } do_install:append:class-target() { # we need to replace the standard grubenv file with our own one, because # we use a bigger file - install -m 0644 ${WORKDIR}/grubenv ${D}${EFI_BOOT_PATH}/grubenv + install -m 0644 ${UNPACKDIR}/grubenv ${D}${EFI_BOOT_PATH}/grubenv } GRUB_BUILDIN:append = " echo sleep" diff --git a/recipes-bsp/u-boot/u-boot-scr.bb b/recipes-bsp/u-boot/u-boot-scr.bb index 99dce1098..a0082824a 100644 --- a/recipes-bsp/u-boot/u-boot-scr.bb +++ b/recipes-bsp/u-boot/u-boot-scr.bb @@ -1,7 +1,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" LICENSE = "MIT | Apache-2.0" -LIC_FILES_CHKSUM="\ +LIC_FILES_CHKSUM = "\ file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \ file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \ " diff --git a/recipes-bsp/u-boot/u-boot/omnect_env.env b/recipes-bsp/u-boot/u-boot/omnect_env.env index 63c816fe6..be509c390 100644 --- a/recipes-bsp/u-boot/u-boot/omnect_env.env +++ b/recipes-bsp/u-boot/u-boot/omnect_env.env @@ -12,6 +12,7 @@ boot_targets=mmc0 mmc1 distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done omnect_update_flow=\ +rstinfo; \ printenv; \ env exists omnect_os_bootpart || echo "initializing omnect_os_bootpart=2" && setenv omnect_os_bootpart 2 && saveenv; \ if test "${omnect_bootloader_updated}" = "1"; then echo "bootloader updated.";fi; \ diff --git a/recipes-bsp/u-boot/u-boot/omnect_env.patch b/recipes-bsp/u-boot/u-boot/omnect_env.patch index 73d4c19bc..cd9bb7960 100644 --- a/recipes-bsp/u-boot/u-boot/omnect_env.patch +++ b/recipes-bsp/u-boot/u-boot/omnect_env.patch @@ -1,8 +1,7 @@ diff --git a/include/env_default.h b/include/env_default.h -index 2ca4a087d3..659487c0b5 100644 --- a/include/env_default.h +++ b/include/env_default.h -@@ -11,6 +11,7 @@ +@@ -12,6 +12,7 @@ #include #include @@ -11,15 +10,14 @@ index 2ca4a087d3..659487c0b5 100644 #ifdef DEFAULT_ENV_INSTANCE_EMBEDDED env_t embedded_environment __UBOOT_ENV_SECTION__(environment) = { diff --git a/include/env_flags.h b/include/env_flags.h -index d785f87cdc..eb793b28cb 100644 --- a/include/env_flags.h +++ b/include/env_flags.h -@@ -7,6 +7,8 @@ - #ifndef __ENV_FLAGS_H__ - #define __ENV_FLAGS_H__ +@@ -9,6 +9,8 @@ +#include + enum env_flags_vartype { env_flags_vartype_string, env_flags_vartype_decimal, + env_flags_vartype_hex, + env_flags_vartype_bool, diff --git a/recipes-connectivity/networkmanager/networkmanager_%.bbappend b/recipes-connectivity/networkmanager/networkmanager_%.bbappend index 367d06ed0..4c454054e 100644 --- a/recipes-connectivity/networkmanager/networkmanager_%.bbappend +++ b/recipes-connectivity/networkmanager/networkmanager_%.bbappend @@ -11,8 +11,8 @@ PACKAGECONFIG:append = " modemmanager" PACKAGECONFIG:remove = "dnsmasq vala" do_install:append() { - install -D -m 0600 ${WORKDIR}/NetworkManager.conf ${D}${sysconfdir}/NetworkManager/ - install -D -m 0600 ${WORKDIR}/cellular.generic ${D}${sysconfdir}/NetworkManager/system-connections/cellular.generic + install -D -m 0600 ${UNPACKDIR}/NetworkManager.conf ${D}${sysconfdir}/NetworkManager/ + install -D -m 0600 ${UNPACKDIR}/cellular.generic ${D}${sysconfdir}/NetworkManager/system-connections/cellular.generic } ALTERNATIVE_PRIORITY[resolv-conf] = "10" diff --git a/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend b/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend index c7f3b7c9f..cd05d9f43 100644 --- a/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend +++ b/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend @@ -6,8 +6,8 @@ SRC_URI += "\ " do_install:append() { - install -m 0644 ${WORKDIR}/wpa_supplicant.conf ${D}${sysconfdir}/wpa_supplicant.conf - install -m 0644 ${WORKDIR}/wpa_supplicant@.service ${D}${systemd_system_unitdir}/wpa_supplicant@.service + install -m 0644 ${UNPACKDIR}/wpa_supplicant.conf ${D}${sysconfdir}/wpa_supplicant.conf + install -m 0644 ${UNPACKDIR}/wpa_supplicant@.service ${D}${systemd_system_unitdir}/wpa_supplicant@.service } inherit useradd diff --git a/recipes-core/base-files/base-files_%.bbappend b/recipes-core/base-files/base-files_%.bbappend index d5b584d7d..ce8dfb073 100644 --- a/recipes-core/base-files/base-files_%.bbappend +++ b/recipes-core/base-files/base-files_%.bbappend @@ -2,6 +2,6 @@ FILESEXTRAPATHS:prepend := "${LAYERDIR_omnect}/files/device_caps:" SRC_URI += "file://${MACHINE}.json" do_install:append() { sed -i 's/^export PS1=\(.*\)$/[ -z \"\$PS1\" ] \&\& export PS1=\1/' ${D}/etc/skel/.bashrc - install -m 0644 -D ${WORKDIR}/${MACHINE}.json ${D}${sysconfdir}/omnect/device_caps.json + install -m 0644 -D ${UNPACKDIR}/${MACHINE}.json ${D}${sysconfdir}/omnect/device_caps.json } FILES_${PN} += "${sysconfdir}/omnect/device_caps.json" diff --git a/recipes-core/dropbear/dropbear/Fix-inappropriate-fifo-truncate.patch b/recipes-core/dropbear/dropbear/Fix-inappropriate-fifo-truncate.patch deleted file mode 100644 index 3aed55c6d..000000000 --- a/recipes-core/dropbear/dropbear/Fix-inappropriate-fifo-truncate.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/scp.c 2022-11-14 14:30:00.000000000 +0000 -+++ b/scp.c 2024-06-18 09:55:15.228015031 +0000 -@@ -1051,7 +1051,8 @@ - wrerr = YES; - wrerrno = errno; - } -- if (wrerr == NO && ftruncate(ofd, size) != 0) { -+ if (wrerr == NO && (!exists || S_ISREG(stb.st_mode)) && -+ ftruncate(ofd, size) != 0) { - run_err("%s: truncate: %s", np, strerror(errno)); - wrerr = DISPLAYED; - } diff --git a/recipes-core/dropbear/dropbear_%.bbappend b/recipes-core/dropbear/dropbear_%.bbappend deleted file mode 100644 index 7b849b6bb..000000000 --- a/recipes-core/dropbear/dropbear_%.bbappend +++ /dev/null @@ -1,5 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" -SRC_URI += "file://Fix-inappropriate-fifo-truncate.patch" - -# ignore patch-status in do_patch_qa -ERROR_QA:remove = "patch-status" diff --git a/recipes-core/systemd/systemd_%.bbappend b/recipes-core/systemd/systemd_%.bbappend index 9988c0fda..4631e77e4 100644 --- a/recipes-core/systemd/systemd_%.bbappend +++ b/recipes-core/systemd/systemd_%.bbappend @@ -22,9 +22,9 @@ do_install:append() { if ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'true', 'false', d)}; then # enable dhcp for wlan devices - install -m 0644 ${WORKDIR}/80-wlan.network ${D}${systemd_unitdir}/network + install -m 0644 ${UNPACKDIR}/80-wlan.network ${D}${systemd_unitdir}/network # prevent renaming wlan0 - install -m 0644 ${WORKDIR}/80-wlan0.link ${D}${systemd_unitdir}/network + install -m 0644 ${UNPACKDIR}/80-wlan0.link ${D}${systemd_unitdir}/network fi # persistent /var/log @@ -89,7 +89,7 @@ do_install:append() { do_install:append:omnect_pstore() { install -d ${D}${sysconfdir}/systemd/system/ install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/sys-fs-pstore.mount ${D}${systemd_system_unitdir}/sys-fs-pstore.mount + install -m 0644 ${UNPACKDIR}/sys-fs-pstore.mount ${D}${systemd_system_unitdir}/sys-fs-pstore.mount ln -rs ${D}${systemd_system_unitdir}/sys-fs-pstore.mount ${D}${sysconfdir}/systemd/system/sysinit.target.wants/sys-fs-pstore.mount } diff --git a/recipes-devtools/bindgen/bindgen-0.60.1.inc b/recipes-devtools/bindgen/bindgen-0.60.1.inc deleted file mode 100644 index 805549f37..000000000 --- a/recipes-devtools/bindgen/bindgen-0.60.1.inc +++ /dev/null @@ -1,56 +0,0 @@ -# generated recipe with cargo-bitbake 0.3.16 are not compatible with scarthgap per se. -# we have to include the sha256sum for all package -# (output of yocto build error when missing:) - -SRC_URI[aho-corasick-0.7.15.sha256sum] = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5" -SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -SRC_URI[autocfg-1.0.1.sha256sum] = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" -SRC_URI[bitflags-1.2.1.sha256sum] = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" -SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -SRC_URI[clang-sys-1.3.3.sha256sum] = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" -SRC_URI[clap-3.0.4.sha256sum] = "d01c9347757e131122b19cd19a05c85805b68c2352a97b623efdc3c295290299" -SRC_URI[diff-0.1.12.sha256sum] = "0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499" -SRC_URI[either-1.6.1.sha256sum] = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" -SRC_URI[env_logger-0.9.0.sha256sum] = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" -SRC_URI[getrandom-0.2.3.sha256sum] = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" -SRC_URI[glob-0.3.0.sha256sum] = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" -SRC_URI[hashbrown-0.11.2.sha256sum] = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" -SRC_URI[indexmap-1.7.0.sha256sum] = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" -SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" -SRC_URI[libc-0.2.98.sha256sum] = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790" -SRC_URI[libloading-0.7.0.sha256sum] = "6f84d96438c15fcd6c3f244c8fce01d1e2b9c6b5623e9c711dc9286d8fc92d6a" -SRC_URI[log-0.4.14.sha256sum] = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" -SRC_URI[memchr-2.4.1.sha256sum] = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" -SRC_URI[minimal-lexical-0.1.4.sha256sum] = "9c64630dcdd71f1a64c435f54885086a0de5d6a12d104d69b165fb7d5286d677" -SRC_URI[nom-7.0.0.sha256sum] = "7ffd9d26838a953b4af82cbeb9f1592c6798916983959be223a7124e992742c1" -SRC_URI[os_str_bytes-6.0.0.sha256sum] = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64" -SRC_URI[peeking_take_while-0.1.2.sha256sum] = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" -SRC_URI[ppv-lite86-0.2.10.sha256sum] = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" -SRC_URI[proc-macro2-1.0.28.sha256sum] = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612" -SRC_URI[quote-1.0.9.sha256sum] = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" -SRC_URI[rand-0.8.4.sha256sum] = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" -SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -SRC_URI[rand_core-0.6.3.sha256sum] = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" -SRC_URI[rand_hc-0.3.1.sha256sum] = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" -SRC_URI[redox_syscall-0.2.9.sha256sum] = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" -SRC_URI[regex-syntax-0.6.25.sha256sum] = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" -SRC_URI[regex-1.4.6.sha256sum] = "2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759" -SRC_URI[remove_dir_all-0.5.3.sha256sum] = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -SRC_URI[rustc-hash-1.1.0.sha256sum] = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -SRC_URI[shlex-1.0.0.sha256sum] = "42a568c8f2cd051a4d283bd6eb0343ac214c1b0f1ac19f93e1175b2dee38c73d" -SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" -SRC_URI[tempfile-3.2.0.sha256sum] = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" -SRC_URI[termcolor-1.1.2.sha256sum] = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" -SRC_URI[textwrap-0.14.2.sha256sum] = "0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80" -SRC_URI[unicode-xid-0.2.2.sha256sum] = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" -SRC_URI[version_check-0.9.3.sha256sum] = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" -SRC_URI[wasi-0.10.2+wasi-snapshot-preview1.sha256sum] = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" -SRC_URI[which-4.2.2.sha256sum] = "ea187a8ef279bc014ec368c27a920da2024d2a711109bfbe3440585d5cf27ad9" -SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" diff --git a/recipes-devtools/bindgen/bindgen-0.72.1.inc b/recipes-devtools/bindgen/bindgen-0.72.1.inc new file mode 100644 index 000000000..ba7aadd4f --- /dev/null +++ b/recipes-devtools/bindgen/bindgen-0.72.1.inc @@ -0,0 +1,93 @@ +# cargo-bitbake 0.3.16 omits per-package sha256sums; required by the bitbake +# crate fetcher, so they are listed here. + +SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +SRC_URI[annotate-snippets-0.11.4.sha256sum] = "24e35ed54e5ea7997c14ed4c70ba043478db1112e98263b3b035907aa197d991" +SRC_URI[anstyle-1.0.10.sha256sum] = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +SRC_URI[autocfg-1.4.0.sha256sum] = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[bitflags-2.2.1.sha256sum] = "24a6904aef64d73cf10ab17ebace7befb918b82164785cb89907993be7f83813" +SRC_URI[block-0.1.6.sha256sum] = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" +SRC_URI[cc-1.2.2.sha256sum] = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc" +SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[clang-sys-1.8.1.sha256sum] = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +SRC_URI[clap-4.1.4.sha256sum] = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76" +SRC_URI[clap_complete-4.2.0.sha256sum] = "01c22dcfb410883764b29953103d9ef7bb8fe21b3fa1158bc99986c2067294bd" +SRC_URI[clap_derive-4.1.0.sha256sum] = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" +SRC_URI[clap_lex-0.3.1.sha256sum] = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" +SRC_URI[either-1.13.0.sha256sum] = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +SRC_URI[env_logger-0.10.0.sha256sum] = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +SRC_URI[env_logger-0.8.4.sha256sum] = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" +SRC_URI[errno-0.3.10.sha256sum] = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +SRC_URI[fastrand-1.9.0.sha256sum] = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +SRC_URI[getrandom-0.2.15.sha256sum] = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[hermit-abi-0.3.9.sha256sum] = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +SRC_URI[hermit-abi-0.4.0.sha256sum] = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +SRC_URI[is-terminal-0.4.13.sha256sum] = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" +SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +SRC_URI[libc-0.2.167.sha256sum] = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" +SRC_URI[libloading-0.8.6.sha256sum] = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +SRC_URI[log-0.4.22.sha256sum] = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +SRC_URI[malloc_buf-0.0.6.sha256sum] = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +SRC_URI[memchr-2.7.4.sha256sum] = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +SRC_URI[objc-0.2.7.sha256sum] = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +SRC_URI[once_cell-1.20.2.sha256sum] = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +SRC_URI[os_str_bytes-6.4.1.sha256sum] = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" +SRC_URI[owo-colors-4.1.0.sha256sum] = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56" +SRC_URI[prettyplease-0.2.25.sha256sum] = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +SRC_URI[proc-macro-error-1.0.4.sha256sum] = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +SRC_URI[proc-macro-error-attr-1.0.4.sha256sum] = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +SRC_URI[proc-macro2-1.0.92.sha256sum] = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +SRC_URI[quickcheck-1.0.3.sha256sum] = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" +SRC_URI[quote-1.0.37.sha256sum] = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +SRC_URI[regex-1.11.1.sha256sum] = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +SRC_URI[regex-automata-0.4.9.sha256sum] = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +SRC_URI[regex-syntax-0.8.5.sha256sum] = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +SRC_URI[rustc-hash-2.1.0.sha256sum] = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +SRC_URI[rustix-0.37.27.sha256sum] = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +SRC_URI[similar-2.6.0.sha256sum] = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" +SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +SRC_URI[syn-2.0.90.sha256sum] = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +SRC_URI[tempfile-3.6.0.sha256sum] = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +SRC_URI[unicode-ident-1.0.14.sha256sum] = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +SRC_URI[unicode-width-0.1.14.sha256sum] = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" +SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" diff --git a/recipes-devtools/bindgen/bindgen.inc b/recipes-devtools/bindgen/bindgen.inc index 03ff91738..608377e33 100644 --- a/recipes-devtools/bindgen/bindgen.inc +++ b/recipes-devtools/bindgen/bindgen.inc @@ -1 +1 @@ -BBCLASSEXTEND="native nativesdk" +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-devtools/bindgen/bindgen_0.60.1.bb b/recipes-devtools/bindgen/bindgen_0.60.1.bb deleted file mode 100644 index 34ee3eaab..000000000 --- a/recipes-devtools/bindgen/bindgen_0.60.1.bb +++ /dev/null @@ -1,88 +0,0 @@ -# Auto-Generated by cargo-bitbake 0.3.16-alpha.0 -# -inherit cargo - -# If this is git based prefer versioned ones if they exist -# DEFAULT_PREFERENCE = "-1" - -# how to get bindgen could be as easy as but default to a git checkout: -# SRC_URI += "crate://crates.io/bindgen/0.60.1" -SRC_URI += "git://github.com/rust-lang/rust-bindgen.git;protocol=https;nobranch=1" -SRCREV = "9ca5f856a35deddde0575002d76d1db4430e6c42" -S = "${WORKDIR}/git" -CARGO_SRC_DIR = "" - - -# please note if you have entries that do not begin with crate:// -# you must change them to how that package can be fetched -SRC_URI += " \ - crate://crates.io/aho-corasick/0.7.15 \ - crate://crates.io/atty/0.2.14 \ - crate://crates.io/autocfg/1.0.1 \ - crate://crates.io/bitflags/1.2.1 \ - crate://crates.io/cexpr/0.6.0 \ - crate://crates.io/cfg-if/1.0.0 \ - crate://crates.io/clang-sys/1.3.3 \ - crate://crates.io/clap/3.0.4 \ - crate://crates.io/diff/0.1.12 \ - crate://crates.io/either/1.6.1 \ - crate://crates.io/env_logger/0.9.0 \ - crate://crates.io/getrandom/0.2.3 \ - crate://crates.io/glob/0.3.0 \ - crate://crates.io/hashbrown/0.11.2 \ - crate://crates.io/hermit-abi/0.1.19 \ - crate://crates.io/humantime/2.1.0 \ - crate://crates.io/indexmap/1.7.0 \ - crate://crates.io/lazy_static/1.4.0 \ - crate://crates.io/lazycell/1.3.0 \ - crate://crates.io/libc/0.2.98 \ - crate://crates.io/libloading/0.7.0 \ - crate://crates.io/log/0.4.14 \ - crate://crates.io/memchr/2.4.1 \ - crate://crates.io/minimal-lexical/0.1.4 \ - crate://crates.io/nom/7.0.0 \ - crate://crates.io/os_str_bytes/6.0.0 \ - crate://crates.io/peeking_take_while/0.1.2 \ - crate://crates.io/ppv-lite86/0.2.10 \ - crate://crates.io/proc-macro2/1.0.28 \ - crate://crates.io/quote/1.0.9 \ - crate://crates.io/rand/0.8.4 \ - crate://crates.io/rand_chacha/0.3.1 \ - crate://crates.io/rand_core/0.6.3 \ - crate://crates.io/rand_hc/0.3.1 \ - crate://crates.io/redox_syscall/0.2.9 \ - crate://crates.io/regex-syntax/0.6.25 \ - crate://crates.io/regex/1.4.6 \ - crate://crates.io/remove_dir_all/0.5.3 \ - crate://crates.io/rustc-hash/1.1.0 \ - crate://crates.io/shlex/1.0.0 \ - crate://crates.io/strsim/0.10.0 \ - crate://crates.io/tempfile/3.2.0 \ - crate://crates.io/termcolor/1.1.2 \ - crate://crates.io/textwrap/0.14.2 \ - crate://crates.io/unicode-xid/0.2.2 \ - crate://crates.io/version_check/0.9.3 \ - crate://crates.io/wasi/0.10.2+wasi-snapshot-preview1 \ - crate://crates.io/which/4.2.2 \ - crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ - crate://crates.io/winapi-util/0.1.5 \ - crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ - crate://crates.io/winapi/0.3.9 \ -" - - - -# FIXME: update generateme with the real MD5 of the license file -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=0b9a98cb3dcdefcceb145324693fda9b \ -" - -SUMMARY = "Automatically generates Rust FFI bindings to C and C++ libraries." -HOMEPAGE = "https://rust-lang.github.io/rust-bindgen/" -LICENSE = "BSD-3-Clause" - -# includes this file if it exists but does not fail -# this is useful for anything you may want to override from -# what cargo-bitbake generates. -include bindgen-${PV}.inc -include bindgen.inc diff --git a/recipes-devtools/bindgen/bindgen_0.72.1.bb b/recipes-devtools/bindgen/bindgen_0.72.1.bb new file mode 100644 index 000000000..f0238ee7b --- /dev/null +++ b/recipes-devtools/bindgen/bindgen_0.72.1.bb @@ -0,0 +1,122 @@ +# Auto-Generated by cargo-bitbake 0.3.16-alpha.0 +# +# Bumped 0.60.1 -> 0.72.1 for the wrynose migration: iot-identity-service main is +# Rust edition 2024, where extern blocks must be written `unsafe extern "C"`. +# bindgen 0.60.1 emits old-style `extern "C"` blocks, so the generated +# keys.generated.rs failed to compile ("extern blocks must be unsafe"). 0.72.1 +# emits the `unsafe extern` form and is the version aziot's ci/install-build-deps.sh +# pins. The bindgen binary now lives in the bindgen-cli workspace member, hence +# CARGO_SRC_DIR. Crate list regenerated from the workspace Cargo.lock. +inherit cargo + +SRC_URI += "git://github.com/rust-lang/rust-bindgen.git;protocol=https;nobranch=1" +SRCREV = "d874de8d646d9b8a3e7ba2db2bcd52f2fba8f1f5" +CARGO_SRC_DIR = "bindgen-cli" + +SRC_URI += " \ + crate://crates.io/aho-corasick/1.1.3 \ + crate://crates.io/annotate-snippets/0.11.4 \ + crate://crates.io/anstyle/1.0.10 \ + crate://crates.io/autocfg/1.4.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/bitflags/2.2.1 \ + crate://crates.io/block/0.1.6 \ + crate://crates.io/cc/1.2.2 \ + crate://crates.io/cexpr/0.6.0 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/clang-sys/1.8.1 \ + crate://crates.io/clap/4.1.4 \ + crate://crates.io/clap_complete/4.2.0 \ + crate://crates.io/clap_derive/4.1.0 \ + crate://crates.io/clap_lex/0.3.1 \ + crate://crates.io/either/1.13.0 \ + crate://crates.io/env_logger/0.10.0 \ + crate://crates.io/env_logger/0.8.4 \ + crate://crates.io/errno/0.3.10 \ + crate://crates.io/fastrand/1.9.0 \ + crate://crates.io/getrandom/0.2.15 \ + crate://crates.io/glob/0.3.1 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/hermit-abi/0.3.9 \ + crate://crates.io/hermit-abi/0.4.0 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/io-lifetimes/1.0.11 \ + crate://crates.io/is-terminal/0.4.13 \ + crate://crates.io/itertools/0.13.0 \ + crate://crates.io/libc/0.2.167 \ + crate://crates.io/libloading/0.8.6 \ + crate://crates.io/linux-raw-sys/0.3.8 \ + crate://crates.io/log/0.4.22 \ + crate://crates.io/malloc_buf/0.0.6 \ + crate://crates.io/memchr/2.7.4 \ + crate://crates.io/minimal-lexical/0.2.1 \ + crate://crates.io/nom/7.1.3 \ + crate://crates.io/objc/0.2.7 \ + crate://crates.io/once_cell/1.20.2 \ + crate://crates.io/os_str_bytes/6.4.1 \ + crate://crates.io/owo-colors/4.1.0 \ + crate://crates.io/prettyplease/0.2.25 \ + crate://crates.io/proc-macro-error/1.0.4 \ + crate://crates.io/proc-macro-error-attr/1.0.4 \ + crate://crates.io/proc-macro2/1.0.92 \ + crate://crates.io/quickcheck/1.0.3 \ + crate://crates.io/quote/1.0.37 \ + crate://crates.io/rand/0.8.5 \ + crate://crates.io/rand_core/0.6.4 \ + crate://crates.io/redox_syscall/0.3.5 \ + crate://crates.io/regex/1.11.1 \ + crate://crates.io/regex-automata/0.4.9 \ + crate://crates.io/regex-syntax/0.8.5 \ + crate://crates.io/rustc-hash/2.1.0 \ + crate://crates.io/rustix/0.37.27 \ + crate://crates.io/shlex/1.3.0 \ + crate://crates.io/similar/2.6.0 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/syn/1.0.109 \ + crate://crates.io/syn/2.0.90 \ + crate://crates.io/tempfile/3.6.0 \ + crate://crates.io/termcolor/1.2.0 \ + crate://crates.io/unicode-ident/1.0.14 \ + crate://crates.io/unicode-width/0.1.14 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/winapi/0.3.9 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.5 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-sys/0.52.0 \ + crate://crates.io/windows-targets/0.48.5 \ + crate://crates.io/windows-targets/0.52.6 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ + crate://crates.io/windows_aarch64_gnullvm/0.52.6 \ + crate://crates.io/windows_aarch64_msvc/0.48.5 \ + crate://crates.io/windows_aarch64_msvc/0.52.6 \ + crate://crates.io/windows_i686_gnu/0.48.5 \ + crate://crates.io/windows_i686_gnu/0.52.6 \ + crate://crates.io/windows_i686_gnullvm/0.52.6 \ + crate://crates.io/windows_i686_msvc/0.48.5 \ + crate://crates.io/windows_i686_msvc/0.52.6 \ + crate://crates.io/windows_x86_64_gnu/0.48.5 \ + crate://crates.io/windows_x86_64_gnu/0.52.6 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ + crate://crates.io/windows_x86_64_gnullvm/0.52.6 \ + crate://crates.io/windows_x86_64_msvc/0.48.5 \ + crate://crates.io/windows_x86_64_msvc/0.52.6 \ +" + +# FIXME: update generateme with the real MD5 of the license file +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=0b9a98cb3dcdefcceb145324693fda9b \ +" + +SUMMARY = "Automatically generates Rust FFI bindings to C and C++ libraries." +HOMEPAGE = "https://rust-lang.github.io/rust-bindgen/" +LICENSE = "BSD-3-Clause" + +# includes this file if it exists but does not fail +# this is useful for anything you may want to override from +# what cargo-bitbake generates. +include bindgen-${PV}.inc +include bindgen.inc diff --git a/recipes-devtools/cargo-cyclonedx/cargo-cyclonedx.inc b/recipes-devtools/cargo-cyclonedx/cargo-cyclonedx.inc index e5983a76f..0bcb6896b 100644 --- a/recipes-devtools/cargo-cyclonedx/cargo-cyclonedx.inc +++ b/recipes-devtools/cargo-cyclonedx/cargo-cyclonedx.inc @@ -4,4 +4,8 @@ LIC_FILES_CHKSUM = " \ file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \ " +# Override cargo-bitbake's generated S = "${WORKDIR}/git", which oe-core's +# do_qa_unpack now rejects (git unpacks to ${UNPACKDIR}/${BP}). +S = "${UNPACKDIR}/${BP}" + BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-devtools/cbindgen/cbindgen-0.24.3.inc b/recipes-devtools/cbindgen/cbindgen-0.24.3.inc deleted file mode 100644 index 73c1609f3..000000000 --- a/recipes-devtools/cbindgen/cbindgen-0.24.3.inc +++ /dev/null @@ -1,47 +0,0 @@ -# generated recipe with cargo-bitbake 0.3.16 are not compatible with scarthgap per se. -# we have to include the sha256sum for all package -# (output of yocto build error when missing:) - -SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" -SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -SRC_URI[clap-3.1.6.sha256sum] = "d8c93436c21e4698bacadf42917db28b23017027a4deccb35dbe47a7e7840123" -SRC_URI[fastrand-1.7.0.sha256sum] = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" -SRC_URI[hashbrown-0.11.2.sha256sum] = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -SRC_URI[heck-0.4.0.sha256sum] = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" -SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -SRC_URI[indexmap-1.8.0.sha256sum] = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" -SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -SRC_URI[itoa-1.0.1.sha256sum] = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" -SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -SRC_URI[libc-0.2.121.sha256sum] = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f" -SRC_URI[lock_api-0.4.6.sha256sum] = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b" -SRC_URI[log-0.4.16.sha256sum] = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8" -SRC_URI[memchr-2.4.1.sha256sum] = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" -SRC_URI[os_str_bytes-6.0.0.sha256sum] = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64" -SRC_URI[parking_lot-0.11.2.sha256sum] = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -SRC_URI[parking_lot_core-0.8.5.sha256sum] = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" -SRC_URI[proc-macro2-1.0.36.sha256sum] = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" -SRC_URI[quote-1.0.17.sha256sum] = "632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58" -SRC_URI[redox_syscall-0.2.12.sha256sum] = "8ae183fc1b06c149f0c1793e1eb447c8b04bfe46d48e9e48bfb8d2d7ed64ecf0" -SRC_URI[remove_dir_all-0.5.3.sha256sum] = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -SRC_URI[ryu-1.0.9.sha256sum] = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" -SRC_URI[scopeguard-1.1.0.sha256sum] = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" -SRC_URI[serde-1.0.136.sha256sum] = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" -SRC_URI[serde_derive-1.0.136.sha256sum] = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" -SRC_URI[serde_json-1.0.79.sha256sum] = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" -SRC_URI[serial_test-0.5.1.sha256sum] = "e0bccbcf40c8938196944a3da0e133e031a33f4d6b72db3bda3cc556e361905d" -SRC_URI[serial_test_derive-0.5.1.sha256sum] = "b2acd6defeddb41eb60bb468f8825d0cfd0c2a76bc03bfd235b6a1dc4f6a1ad5" -SRC_URI[smallvec-1.8.0.sha256sum] = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" -SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" -SRC_URI[syn-1.0.89.sha256sum] = "ea297be220d52398dcc07ce15a209fce436d361735ac1db700cab3b6cdfb9f54" -SRC_URI[tempfile-3.3.0.sha256sum] = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" -SRC_URI[termcolor-1.1.3.sha256sum] = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" -SRC_URI[textwrap-0.15.0.sha256sum] = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" -SRC_URI[toml-0.5.8.sha256sum] = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" -SRC_URI[unicode-xid-0.2.2.sha256sum] = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" -SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" diff --git a/recipes-devtools/cbindgen/cbindgen-0.29.2.inc b/recipes-devtools/cbindgen/cbindgen-0.29.2.inc new file mode 100644 index 000000000..b9ee090cc --- /dev/null +++ b/recipes-devtools/cbindgen/cbindgen-0.29.2.inc @@ -0,0 +1,75 @@ +# cargo-bitbake 0.3.16 omits per-package sha256sums; required by the bitbake +# crate fetcher, so they are listed here. + +SRC_URI[anstream-0.6.19.sha256sum] = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" +SRC_URI[anstyle-1.0.11.sha256sum] = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" +SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +SRC_URI[anstyle-query-1.1.3.sha256sum] = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" +SRC_URI[anstyle-wincon-3.0.9.sha256sum] = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" +SRC_URI[autocfg-1.5.0.sha256sum] = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +SRC_URI[bitflags-2.9.1.sha256sum] = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +SRC_URI[cfg-if-1.0.1.sha256sum] = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +SRC_URI[clap-4.5.41.sha256sum] = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9" +SRC_URI[clap_builder-4.5.41.sha256sum] = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d" +SRC_URI[clap_lex-0.7.5.sha256sum] = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" +SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" +SRC_URI[dashmap-5.5.3.sha256sum] = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" +SRC_URI[equivalent-1.0.2.sha256sum] = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +SRC_URI[errno-0.3.13.sha256sum] = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" +SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +SRC_URI[getrandom-0.3.3.sha256sum] = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +SRC_URI[indexmap-2.5.0.sha256sum] = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +SRC_URI[is_terminal_polyfill-1.70.1.sha256sum] = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +SRC_URI[itoa-1.0.15.sha256sum] = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +SRC_URI[lazy_static-1.5.0.sha256sum] = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +SRC_URI[libc-0.2.174.sha256sum] = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +SRC_URI[linux-raw-sys-0.9.4.sha256sum] = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" +SRC_URI[lock_api-0.4.13.sha256sum] = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" +SRC_URI[log-0.4.27.sha256sum] = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +SRC_URI[memchr-2.7.5.sha256sum] = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" +SRC_URI[once_cell-1.21.3.sha256sum] = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +SRC_URI[once_cell_polyfill-1.70.1.sha256sum] = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" +SRC_URI[parking_lot-0.12.4.sha256sum] = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" +SRC_URI[parking_lot_core-0.9.11.sha256sum] = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" +SRC_URI[pretty_assertions-1.4.1.sha256sum] = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" +SRC_URI[proc-macro2-1.0.95.sha256sum] = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +SRC_URI[quote-1.0.40.sha256sum] = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +SRC_URI[redox_syscall-0.5.13.sha256sum] = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" +SRC_URI[rustix-1.0.8.sha256sum] = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" +SRC_URI[ryu-1.0.20.sha256sum] = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +SRC_URI[serde_json-1.0.140.sha256sum] = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +SRC_URI[serde_spanned-1.0.0.sha256sum] = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" +SRC_URI[serial_test-2.0.0.sha256sum] = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d" +SRC_URI[serial_test_derive-2.0.0.sha256sum] = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" +SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +SRC_URI[syn-2.0.104.sha256sum] = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +SRC_URI[tempfile-3.20.0.sha256sum] = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +SRC_URI[toml-0.9.2.sha256sum] = "ed0aee96c12fa71097902e0bb061a5e1ebd766a6636bb605ba401c45c1650eac" +SRC_URI[toml_datetime-0.7.0.sha256sum] = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" +SRC_URI[toml_parser-1.0.1.sha256sum] = "97200572db069e74c512a14117b296ba0a80a30123fbbb5aa1f4a348f639ca30" +SRC_URI[toml_writer-1.0.2.sha256sum] = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" +SRC_URI[unicode-ident-1.0.18.sha256sum] = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +SRC_URI[wasi-0.14.2+wasi-0.2.4.sha256sum] = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +SRC_URI[windows-sys-0.59.0.sha256sum] = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +SRC_URI[winnow-0.7.12.sha256sum] = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" +SRC_URI[wit-bindgen-rt-0.39.0.sha256sum] = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +SRC_URI[yansi-1.0.1.sha256sum] = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" diff --git a/recipes-devtools/cbindgen/cbindgen.inc b/recipes-devtools/cbindgen/cbindgen.inc index 03ff91738..608377e33 100644 --- a/recipes-devtools/cbindgen/cbindgen.inc +++ b/recipes-devtools/cbindgen/cbindgen.inc @@ -1 +1 @@ -BBCLASSEXTEND="native nativesdk" +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-devtools/cbindgen/cbindgen_0.24.3.bb b/recipes-devtools/cbindgen/cbindgen_0.24.3.bb deleted file mode 100644 index 52275fd4d..000000000 --- a/recipes-devtools/cbindgen/cbindgen_0.24.3.bb +++ /dev/null @@ -1,79 +0,0 @@ -# Auto-Generated by cargo-bitbake 0.3.16-alpha.0 -# -inherit cargo - -# If this is git based prefer versioned ones if they exist -# DEFAULT_PREFERENCE = "-1" - -# how to get cbindgen could be as easy as but default to a git checkout: -# SRC_URI += "crate://crates.io/cbindgen/0.24.3" -SRC_URI += "git://github.com/eqrion/cbindgen.git;protocol=https;nobranch=1" -SRCREV = "f43ccfc047a1a160267f32355c5e5e7154a2665a" -S = "${WORKDIR}/git" -CARGO_SRC_DIR = "" - - -# please note if you have entries that do not begin with crate:// -# you must change them to how that package can be fetched -SRC_URI += " \ - crate://crates.io/atty/0.2.14 \ - crate://crates.io/autocfg/1.1.0 \ - crate://crates.io/bitflags/1.3.2 \ - crate://crates.io/cfg-if/1.0.0 \ - crate://crates.io/clap/3.1.6 \ - crate://crates.io/fastrand/1.7.0 \ - crate://crates.io/hashbrown/0.11.2 \ - crate://crates.io/heck/0.4.0 \ - crate://crates.io/hermit-abi/0.1.19 \ - crate://crates.io/indexmap/1.8.0 \ - crate://crates.io/instant/0.1.12 \ - crate://crates.io/itoa/1.0.1 \ - crate://crates.io/lazy_static/1.4.0 \ - crate://crates.io/libc/0.2.121 \ - crate://crates.io/lock_api/0.4.6 \ - crate://crates.io/log/0.4.16 \ - crate://crates.io/memchr/2.4.1 \ - crate://crates.io/os_str_bytes/6.0.0 \ - crate://crates.io/parking_lot/0.11.2 \ - crate://crates.io/parking_lot_core/0.8.5 \ - crate://crates.io/proc-macro2/1.0.36 \ - crate://crates.io/quote/1.0.17 \ - crate://crates.io/redox_syscall/0.2.12 \ - crate://crates.io/remove_dir_all/0.5.3 \ - crate://crates.io/ryu/1.0.9 \ - crate://crates.io/scopeguard/1.1.0 \ - crate://crates.io/serde/1.0.136 \ - crate://crates.io/serde_derive/1.0.136 \ - crate://crates.io/serde_json/1.0.79 \ - crate://crates.io/serial_test/0.5.1 \ - crate://crates.io/serial_test_derive/0.5.1 \ - crate://crates.io/smallvec/1.8.0 \ - crate://crates.io/strsim/0.10.0 \ - crate://crates.io/syn/1.0.89 \ - crate://crates.io/tempfile/3.3.0 \ - crate://crates.io/termcolor/1.1.3 \ - crate://crates.io/textwrap/0.15.0 \ - crate://crates.io/toml/0.5.8 \ - crate://crates.io/unicode-xid/0.2.2 \ - crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ - crate://crates.io/winapi-util/0.1.5 \ - crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ - crate://crates.io/winapi/0.3.9 \ -" - - - -# FIXME: update generateme with the real MD5 of the license file -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=9741c346eef56131163e13b9db1241b3 \ -" - -SUMMARY = "A tool for generating C bindings to Rust code." -HOMEPAGE = "https://github.com/eqrion/cbindgen/" -LICENSE = "MPL-2.0" - -# includes this file if it exists but does not fail -# this is useful for anything you may want to override from -# what cargo-bitbake generates. -include cbindgen-${PV}.inc -include cbindgen.inc diff --git a/recipes-devtools/cbindgen/cbindgen_0.29.2.bb b/recipes-devtools/cbindgen/cbindgen_0.29.2.bb new file mode 100644 index 000000000..0c86c6eea --- /dev/null +++ b/recipes-devtools/cbindgen/cbindgen_0.29.2.bb @@ -0,0 +1,101 @@ +# Auto-Generated by cargo-bitbake 0.3.16-alpha.0 +# +# Bumped 0.24.3 -> 0.29.2 for the wrynose migration: iot-identity-service main is +# Rust edition 2024, which cbindgen 0.24.3's syn 1.x cannot parse ("expected path" +# when generating aziot-keys.h). 0.29.2 is the version aziot's +# ci/install-build-deps.sh pins. Crate list regenerated from cbindgen's Cargo.lock. +inherit cargo + +SRC_URI += "git://github.com/eqrion/cbindgen.git;protocol=https;nobranch=1" +SRCREV = "76f41c090c0587d940a0ef81a41c8b995f074926" +CARGO_SRC_DIR = "" + +SRC_URI += " \ + crate://crates.io/anstream/0.6.19 \ + crate://crates.io/anstyle/1.0.11 \ + crate://crates.io/anstyle-parse/0.2.7 \ + crate://crates.io/anstyle-query/1.1.3 \ + crate://crates.io/anstyle-wincon/3.0.9 \ + crate://crates.io/autocfg/1.5.0 \ + crate://crates.io/bitflags/2.9.1 \ + crate://crates.io/cfg-if/1.0.1 \ + crate://crates.io/clap/4.5.41 \ + crate://crates.io/clap_builder/4.5.41 \ + crate://crates.io/clap_lex/0.7.5 \ + crate://crates.io/colorchoice/1.0.4 \ + crate://crates.io/dashmap/5.5.3 \ + crate://crates.io/diff/0.1.13 \ + crate://crates.io/equivalent/1.0.2 \ + crate://crates.io/errno/0.3.13 \ + crate://crates.io/fastrand/2.3.0 \ + crate://crates.io/getrandom/0.3.3 \ + crate://crates.io/hashbrown/0.14.5 \ + crate://crates.io/heck/0.5.0 \ + crate://crates.io/indexmap/2.5.0 \ + crate://crates.io/is_terminal_polyfill/1.70.1 \ + crate://crates.io/itoa/1.0.15 \ + crate://crates.io/lazy_static/1.5.0 \ + crate://crates.io/libc/0.2.174 \ + crate://crates.io/linux-raw-sys/0.9.4 \ + crate://crates.io/lock_api/0.4.13 \ + crate://crates.io/log/0.4.27 \ + crate://crates.io/memchr/2.7.5 \ + crate://crates.io/once_cell/1.21.3 \ + crate://crates.io/once_cell_polyfill/1.70.1 \ + crate://crates.io/parking_lot/0.12.4 \ + crate://crates.io/parking_lot_core/0.9.11 \ + crate://crates.io/pretty_assertions/1.4.1 \ + crate://crates.io/proc-macro2/1.0.95 \ + crate://crates.io/quote/1.0.40 \ + crate://crates.io/r-efi/5.3.0 \ + crate://crates.io/redox_syscall/0.5.13 \ + crate://crates.io/rustix/1.0.8 \ + crate://crates.io/ryu/1.0.20 \ + crate://crates.io/scopeguard/1.2.0 \ + crate://crates.io/serde/1.0.228 \ + crate://crates.io/serde_core/1.0.228 \ + crate://crates.io/serde_derive/1.0.228 \ + crate://crates.io/serde_json/1.0.140 \ + crate://crates.io/serde_spanned/1.0.0 \ + crate://crates.io/serial_test/2.0.0 \ + crate://crates.io/serial_test_derive/2.0.0 \ + crate://crates.io/smallvec/1.15.1 \ + crate://crates.io/strsim/0.11.1 \ + crate://crates.io/syn/2.0.104 \ + crate://crates.io/tempfile/3.20.0 \ + crate://crates.io/toml/0.9.2 \ + crate://crates.io/toml_datetime/0.7.0 \ + crate://crates.io/toml_parser/1.0.1 \ + crate://crates.io/toml_writer/1.0.2 \ + crate://crates.io/unicode-ident/1.0.18 \ + crate://crates.io/utf8parse/0.2.2 \ + crate://crates.io/wasi/0.14.2+wasi-0.2.4 \ + crate://crates.io/windows-sys/0.59.0 \ + crate://crates.io/windows-targets/0.52.6 \ + crate://crates.io/windows_aarch64_gnullvm/0.52.6 \ + crate://crates.io/windows_aarch64_msvc/0.52.6 \ + crate://crates.io/windows_i686_gnu/0.52.6 \ + crate://crates.io/windows_i686_gnullvm/0.52.6 \ + crate://crates.io/windows_i686_msvc/0.52.6 \ + crate://crates.io/windows_x86_64_gnu/0.52.6 \ + crate://crates.io/windows_x86_64_gnullvm/0.52.6 \ + crate://crates.io/windows_x86_64_msvc/0.52.6 \ + crate://crates.io/winnow/0.7.12 \ + crate://crates.io/wit-bindgen-rt/0.39.0 \ + crate://crates.io/yansi/1.0.1 \ +" + +# FIXME: update generateme with the real MD5 of the license file +LIC_FILES_CHKSUM = " \ + file://LICENSE;md5=9741c346eef56131163e13b9db1241b3 \ +" + +SUMMARY = "A tool for generating C bindings to Rust code." +HOMEPAGE = "https://github.com/eqrion/cbindgen/" +LICENSE = "MPL-2.0" + +# includes this file if it exists but does not fail +# this is useful for anything you may want to override from +# what cargo-bitbake generates. +include cbindgen-${PV}.inc +include cbindgen.inc diff --git a/recipes-devtools/msft-gsl/msft-gsl_2.0.0.bb b/recipes-devtools/msft-gsl/msft-gsl_2.0.0.bb index 78f49a7a0..765bacb6d 100644 --- a/recipes-devtools/msft-gsl/msft-gsl_2.0.0.bb +++ b/recipes-devtools/msft-gsl/msft-gsl_2.0.0.bb @@ -10,8 +10,6 @@ SRC_URI = "gitsm://github.com/microsoft/GSL.git;protocol=https;branch=main;rev=1 PV .= "+${SRCPV}" -S = "${WORKDIR}/git" - inherit cmake EXTRA_OECMAKE += "-DGSL_TEST=OFF" diff --git a/recipes-devtools/rust/cargo_1.93.0.bb b/recipes-devtools/rust/cargo_1.93.0.bb deleted file mode 100644 index 6232e5040..000000000 --- a/recipes-devtools/rust/cargo_1.93.0.bb +++ /dev/null @@ -1,73 +0,0 @@ -SUMMARY = "Cargo, a package manager for Rust." -HOMEPAGE = "https://crates.io" -LICENSE = "MIT | Apache-2.0" -SECTION = "devel" - -DEPENDS = "openssl zlib curl ca-certificates libssh2" - -LIC_FILES_CHKSUM = " \ - file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d \ - file://LICENSE-APACHE;md5=71b224ca933f0676e26d5c2e2271331c \ - file://LICENSE-THIRD-PARTY;md5=f257ad009884cb88a3a87d6920e7180a \ -" - -require rust-source.inc -require rust-snapshots.inc - -S = "${RUSTSRC}/src/tools/cargo" -CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor" - -inherit cargo pkgconfig - -DEBUG_PREFIX_MAP += "-fdebug-prefix-map=${RUSTSRC}/vendor=${TARGET_DBGSRC_DIR}" - -do_cargo_setup_snapshot () { - ${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig - # Need to use uninative's loader if enabled/present since the library paths - # are used internally by rust and result in symbol mismatches if we don't - if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then - patchelf-uninative ${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo --set-interpreter ${UNINATIVE_LOADER} - fi -} - -addtask cargo_setup_snapshot after do_unpack before do_configure -do_cargo_setup_snapshot[dirs] += "${WORKDIR}/${CARGO_SNAPSHOT}" -do_cargo_setup_snapshot[vardepsexclude] += "UNINATIVE_LOADER" - - -do_compile:prepend () { - export RUSTC_BOOTSTRAP="1" -} - -do_install () { - install -d "${D}${bindir}" - install -m 755 "${B}/target/${CARGO_TARGET_SUBDIR}/cargo" "${D}${bindir}" -} - -do_install:append:class-nativesdk() { - # To quote the cargo docs, "Cargo also sets the dynamic library path when compiling - # and running binaries with commands like `cargo run` and `cargo test`". Sadly it - # sets to libdir but not base_libdir leading to symbol mismatches depending on the - # host OS. Fully set LD_LIBRARY_PATH to contain both to avoid this. - create_wrapper ${D}/${bindir}/cargo LD_LIBRARY_PATH=${libdir}:${base_libdir} -} - -# Disabled due to incompatibility with libgit2 0.28.x (https://github.com/rust-lang/git2-rs/issues/458, https://bugs.gentoo.org/707746#c1) -# as shipped by Yocto Dunfell. -# According to https://github.com/rust-lang/git2-rs/issues/458#issuecomment-522567539, there are no compatibility guarantees between -# libgit2-sys and arbitrary system libgit2 versions, so better keep this turned off. -#export LIBGIT2_SYS_USE_PKG_CONFIG = "1" - -# Needed for pkg-config to be used -export LIBSSH2_SYS_USE_PKG_CONFIG = "1" - -# When building cargo-native we don't have cargo-native to use and depend on, -# so we must use the locally set up snapshot to bootstrap the build. -BASEDEPENDS:remove:class-native = "cargo-native" -CARGO:class-native = "${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo" - -DEPENDS:append:class-nativesdk = " nativesdk-rust" -RUSTLIB:append:class-nativesdk = " -L ${STAGING_DIR_HOST}/${SDKPATHNATIVE}/usr/lib/rustlib/${RUST_HOST_SYS}/lib" -RUSTLIB_DEP:class-nativesdk = "" - -BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-devtools/rust/libstd-rs_1.93.0.bb b/recipes-devtools/rust/libstd-rs_1.93.0.bb deleted file mode 100644 index 0a359a9c4..000000000 --- a/recipes-devtools/rust/libstd-rs_1.93.0.bb +++ /dev/null @@ -1,57 +0,0 @@ -SUMMARY = "Rust standard libaries" -HOMEPAGE = "http://www.rust-lang.org" -SECTION = "devel" -LICENSE = "(MIT | Apache-2.0)" -LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=11a3899825f4376896e438c8c753f8dc" - -require rust-source.inc - -# The dummy crate named `sysroot` represents the standard library target. -# -# See fd4c81f4c19e ("Add a `sysroot` crate to represent the standard library crates") -# https://github.com/rust-lang/rust/pull/108865/ -S = "${RUSTSRC}/library/sysroot" - -RUSTLIB_DEP = "" -inherit cargo - -CVE_PRODUCT = "rust" - -DEPENDS:append:libc-musl = " libunwind" -# rv32 does not have libunwind ported yet -DEPENDS:remove:riscv32 = "libunwind" -DEPENDS:remove:riscv64 = "libunwind" - -# Embed bitcode in order to allow compiling both with and without LTO -RUSTFLAGS += "-Cembed-bitcode=yes" -# Needed so cargo can find libbacktrace -RUSTFLAGS += "-L ${STAGING_LIBDIR} -C link-arg=-Wl,-soname,libstd.so" -# ref: https://github.com/rust-lang/rust/issues/133857 -RUSTFLAGS += "-Zforce-unstable-if-unmarked" - -CARGO_FEATURES ?= "panic-unwind backtrace" -CARGO_BUILD_FLAGS += "--features '${CARGO_FEATURES}'" -CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor" - -do_compile:prepend () { - export CARGO_TARGET_DIR="${B}" - # For Rust 1.13.0 and newer - export RUSTC_BOOTSTRAP="1" -} - -do_install () { - mkdir -p ${D}${rustlibdir} - - # With the incremental build support added in 1.24, the libstd deps directory also includes dependency - # files that get installed. Those are really only needed to incrementally rebuild the libstd library - # itself and don't need to be installed. - rm -f ${B}/${RUST_TARGET_SYS}/${BUILD_DIR}/deps/*.d - cp ${B}/${RUST_TARGET_SYS}/${BUILD_DIR}/deps/* ${D}${rustlibdir} -} - -BBCLASSEXTEND = "nativesdk" - -# Since 1.70.0 upgrade this fails to build with gold: -# http://errors.yoctoproject.org/Errors/Details/708194/ -# ld: error: version script assignment of to symbol __rust_alloc_error_handler_should_panic failed: symbol not defined -LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd', '', d)}" diff --git a/recipes-devtools/rust/rust-llvm_1.93.0.bb b/recipes-devtools/rust/rust-llvm_1.93.0.bb deleted file mode 100644 index af4d820be..000000000 --- a/recipes-devtools/rust/rust-llvm_1.93.0.bb +++ /dev/null @@ -1,96 +0,0 @@ -FILESEXTRAPATHS:prepend := "${LAYERDIR_core}/recipes-devtools/rust/rust-llvm:" - -SUMMARY = "LLVM compiler framework (packaged with rust)" -LICENSE ?= "Apache-2.0-with-LLVM-exception" -HOMEPAGE = "http://www.rust-lang.org" - -# check src/llvm-project/llvm/CMakeLists.txt for llvm version in use -# -LLVM_RELEASE = "21.1.8" - -require rust-source.inc - -SRC_URI += "file://0002-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \ - file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \ - file://0003-llvm-fix-include-benchmarks.patch;striplevel=2" - -S = "${RUSTSRC}/src/llvm-project/llvm" - -LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe" - -inherit cmake - -DEPENDS += "ninja-native rust-llvm-native" - -ARM_INSTRUCTION_SET:armv5 = "arm" -ARM_INSTRUCTION_SET:armv4t = "arm" - -# rustc_llvm with debug info is not recognized as a valid crate that's -# generated by rust-llvm-native. -CFLAGS:remove = "-g" -CXXFLAGS:remove = "-g" - -LLVM_DIR = "llvm${LLVM_RELEASE}" - -RUST_LLVM_TARGETS ?= "ARM;AArch64;Mips;PowerPC;RISCV;X86" - -EXTRA_OECMAKE = " \ - -DCMAKE_BUILD_TYPE=Release \ - -DLLVM_TARGETS_TO_BUILD='${RUST_LLVM_TARGETS}' \ - -DLLVM_BUILD_DOCS=OFF \ - -DLLVM_ENABLE_TERMINFO=OFF \ - -DLLVM_ENABLE_ZLIB=OFF \ - -DLLVM_ENABLE_ZSTD=OFF \ - -DLLVM_ENABLE_LIBXML2=OFF \ - -DLLVM_ENABLE_FFI=OFF \ - -DLLVM_INSTALL_UTILS=ON \ - -DLLVM_BUILD_EXAMPLES=OFF \ - -DLLVM_INCLUDE_EXAMPLES=OFF \ - -DLLVM_BUILD_TESTS=OFF \ - -DLLVM_INCLUDE_TESTS=OFF \ - -DLLVM_TARGET_ARCH=${TARGET_ARCH} \ - -DCMAKE_INSTALL_PREFIX:PATH=${libdir}/llvm-rust \ -" - -# Forcibly disable the detection of these packages as otherwise -# it will look at the host Python install -EXTRA_OECMAKE += "\ - -DPY_PYGMENTS_FOUND=OFF \ - -DPY_PYGMENTS_LEXERS_C_CPP_FOUND=OFF \ - -DPY_YAML_FOUND=OFF \ -" - -EXTRA_OECMAKE:append:class-target = "\ - -DLLVM_BUILD_TOOLS=OFF \ - -DLLVM_TABLEGEN=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-tblgen \ - -DLLVM_CONFIG_PATH=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config \ -" - -EXTRA_OECMAKE:append:class-nativesdk = "\ - -DLLVM_BUILD_TOOLS=OFF \ - -DLLVM_TABLEGEN=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-tblgen \ - -DLLVM_CONFIG_PATH=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config \ -" - -# The debug symbols are huge here (>2GB) so suppress them since they -# provide almost no value. If you really need them then override this -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" - -export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config" - -do_install:append () { - # we don't need any of this stuff to build Rust - rm -rf "${D}/usr/lib/cmake" -} - -PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liblto" - -# Add the extra locations to avoid the complaints about unpackaged files -FILES:${PN}-bugpointpasses = "${libdir}/llvm-rust/lib/BugpointPasses.so" -FILES:${PN}-llvmhello = "${libdir}/llvm-rust/lib/LLVMHello.so" -FILES:${PN}-liblto = "${libdir}/llvm-rust/lib/libLTO.so.*" -FILES:${PN}-staticdev =+ "${libdir}/llvm-rust/*/*.a" -FILES:${PN} += "${libdir}/libLLVM*.so.* ${libdir}/llvm-rust/lib/*.so.* ${libdir}/llvm-rust/bin" -FILES:${PN}-dev += "${datadir}/llvm ${libdir}/llvm-rust/lib/*.so ${libdir}/llvm-rust/include ${libdir}/llvm-rust/share ${libdir}/llvm-rust/lib/cmake" - -BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-devtools/rust/rust-snapshots.inc b/recipes-devtools/rust/rust-snapshots.inc deleted file mode 100644 index 64819e5f0..000000000 --- a/recipes-devtools/rust/rust-snapshots.inc +++ /dev/null @@ -1,26 +0,0 @@ -## This is information on the rust-snapshot (binary) used to build our current release. -## snapshot info is taken from rust/src/stage0.json -## Rust is self-hosting and bootstraps itself with a pre-built previous version of itself. -## The exact (previous) version that has been used is specified in the source tarball. -## The version is replicated here. -## TODO: find a way to add additional SRC_URIs based on the contents of an -## earlier SRC_URI. -RS_VERSION = "1.92.0" -CARGO_VERSION = "1.92.0" - -# TODO: Add hashes for other architecture toolchains as well. Make a script? -SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "5f106805ed86ebf8df287039e53a45cf974391ef4d088c2760776b05b8e48b5d" -SRC_URI[rustc-snapshot-x86_64.sha256sum] = "78b2dd9c6b1fcd2621fa81c611cf5e2d6950690775038b585c64f364422886e0" -SRC_URI[cargo-snapshot-x86_64.sha256sum] = "e5e12be2c7126a7036c8adf573078a28b92611f5767cc9bd0a6f7c83081df103" - -# currently we only build on x86 machines, we should groom this, as soon we support building on arch64 systems like mac - -SRC_URI += " \ - https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \ - https://static.rust-lang.org/dist/${RUSTC_SNAPSHOT}.tar.xz;name=rustc-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \ - https://static.rust-lang.org/dist/${CARGO_SNAPSHOT}.tar.xz;name=cargo-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \ -" - -RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${RUST_BUILD_ARCH}-unknown-linux-gnu" -RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${RUST_BUILD_ARCH}-unknown-linux-gnu" -CARGO_SNAPSHOT = "cargo-${CARGO_VERSION}-${RUST_BUILD_ARCH}-unknown-linux-gnu" diff --git a/recipes-devtools/rust/rust-source.inc b/recipes-devtools/rust/rust-source.inc deleted file mode 100644 index b6b7a5ad2..000000000 --- a/recipes-devtools/rust/rust-source.inc +++ /dev/null @@ -1,7 +0,0 @@ -SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz;name=rust" -SRC_URI[rust.sha256sum] = "e30d898272c587a22f77679f03c5e8192b5645c7c9ccc3407ad1106761507cea" - -RUSTSRC = "${WORKDIR}/rustc-${PV}-src" - -UPSTREAM_CHECK_URI = "https://forge.rust-lang.org/infra/other-installation-methods.html" -UPSTREAM_CHECK_REGEX = "rustc-(?P\d+(\.\d+)+)-src" diff --git a/recipes-devtools/rust/rust_1.93.0.bb b/recipes-devtools/rust/rust_1.93.0.bb deleted file mode 100644 index dab725e37..000000000 --- a/recipes-devtools/rust/rust_1.93.0.bb +++ /dev/null @@ -1,371 +0,0 @@ -SUMMARY = "Rust compiler and runtime libaries" -HOMEPAGE = "http://www.rust-lang.org" -SECTION = "devel" -LICENSE = "(MIT | Apache-2.0)" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=11a3899825f4376896e438c8c753f8dc" - -inherit rust -inherit cargo_common - -DEPENDS += "file-native ninja-native python3-native" -DEPENDS:append:class-native = " rust-llvm-native" -DEPENDS:append:class-nativesdk = " nativesdk-rust-llvm" - -DEPENDS += "rust-llvm (=${PV})" - -RDEPENDS:${PN}:append:class-target = " gcc g++ binutils" - -# Otherwise we'll depend on what we provide -INHIBIT_DEFAULT_RUST_DEPS:class-native = "1" -# We don't need to depend on gcc-native because yocto assumes it exists -PROVIDES:class-native = "virtual/${TARGET_PREFIX}rust" - -# GCC 13 doesn't support -fcanon-prefix-map (GCC 14+) -DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map" - -S = "${RUSTSRC}" - -# Use at your own risk, accepted values are stable, beta and nightly -RUST_CHANNEL ?= "stable" -PV .= "${@bb.utils.contains('RUST_CHANNEL', 'stable', '', '-${RUST_CHANNEL}', d)}" - -export FORCE_CRATE_HASH="${BB_TASKHASH}" - -RUST_ALTERNATE_EXE_PATH ?= "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config" -RUST_ALTERNATE_EXE_PATH_NATIVE = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config" - -# We don't want to use bitbakes vendoring because the rust sources do their -# own vendoring. -CARGO_DISABLE_BITBAKE_VENDORING = "1" - -# We can't use RUST_BUILD_SYS here because that may be "musl" if -# TCLIBC="musl". Snapshots are always -unknown-linux-gnu -setup_cargo_environment () { - # The first step is to build bootstrap and some early stage tools, - # these are build for the same target as the snapshot, e.g. - # x86_64-unknown-linux-gnu. - # Later stages are build for the native target (i.e. target.x86_64-linux) - cargo_common_do_configure -} - -inherit rust-target-config - -do_rust_setup_snapshot () { - for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do - "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig - done - - # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo - # and fail without it there. - mkdir -p ${RUSTSRC}/build/${BUILD_SYS} - ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0 - - # Need to use uninative's loader if enabled/present since the library paths - # are used internally by rust and result in symbol mismatches if we don't - if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then - for bin in cargo rustc rustdoc; do - patchelf-uninative ${WORKDIR}/rust-snapshot/bin/$bin --set-interpreter ${UNINATIVE_LOADER} - done - fi -} -addtask rust_setup_snapshot after do_unpack before do_configure -addtask do_test_compile after do_configure do_rust_gen_targets -do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot" -do_rust_setup_snapshot[vardepsexclude] += "UNINATIVE_LOADER" - -# there is a need to enable some more rust tools for the project -# We can extend a list of more tools via this variable -RUST_ENABLE_EXTRA_TOOLS ?= "rust-demangler" - -python do_configure() { - import json - import configparser - - # toml is rather similar to standard ini like format except it likes values - # that look more JSON like. So for our purposes simply escaping all values - # as JSON seem to work fine. - - e = lambda s: json.dumps(s) - - config = configparser.RawConfigParser() - - # [target.ARCH-poky-linux] - host_section = "target.{}".format(d.getVar('RUST_HOST_SYS')) - config.add_section(host_section) - - llvm_config_target = d.expand("${RUST_ALTERNATE_EXE_PATH}") - llvm_config_build = d.expand("${RUST_ALTERNATE_EXE_PATH_NATIVE}") - config.set(host_section, "llvm-config", e(llvm_config_target)) - - config.set(host_section, "cxx", e(d.expand("${RUST_TARGET_CXX}"))) - config.set(host_section, "cc", e(d.expand("${RUST_TARGET_CC}"))) - config.set(host_section, "linker", e(d.expand("${RUST_TARGET_CCLD}"))) - if "musl" in host_section: - config.set(host_section, "musl-root", e(d.expand("${STAGING_DIR_HOST}${exec_prefix}"))) - - # If we don't do this rust-native will compile it's own llvm for BUILD. - # [target.${BUILD_ARCH}-unknown-linux-gnu] - build_section = "target.{}".format(d.getVar('RUST_BUILD_SYS')) - if build_section != host_section: - config.add_section(build_section) - - config.set(build_section, "llvm-config", e(llvm_config_build)) - - config.set(build_section, "cxx", e(d.expand("${RUST_BUILD_CXX}"))) - config.set(build_section, "cc", e(d.expand("${RUST_BUILD_CC}"))) - config.set(build_section, "linker", e(d.expand("${RUST_BUILD_CCLD}"))) - - target_section = "target.{}".format(d.getVar('RUST_TARGET_SYS')) - if target_section != host_section and target_section != build_section: - config.add_section(target_section) - - config.set(target_section, "llvm-config", e(llvm_config_target)) - - config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}"))) - config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}"))) - config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}"))) - - # [llvm] - config.add_section("llvm") - config.set("llvm", "static-libstdcpp", e(False)) - config.set("llvm", "download-ci-llvm", e(False)) - if "llvm" in (d.getVar('TC_CXX_RUNTIME') or ""): - config.set("llvm", "use-libcxx", e(True)) - - # [rust] - config.add_section("rust") - config.set("rust", "rpath", e(True)) - config.set("rust", "remap-debuginfo", e(True)) - config.set("rust", "channel", e(d.expand("${RUST_CHANNEL}"))) - # Don't install LLVM tools (llvm-cov, etc.) - they're not built for target - config.set("rust", "llvm-tools", e(False)) - - # Whether or not to optimize the compiler and standard library - config.set("rust", "optimize", e(True)) - - # Emits extraneous output from tests to ensure that failures of the test - # harness are debuggable just from logfiles - config.set("rust", "verbose-tests", e(True)) - - # [build] - config.add_section("build") - config.set("build", "submodules", e(False)) - config.set("build", "docs", e(False)) - config.set("build", "tools", e(d.getVar("RUST_ENABLE_EXTRA_TOOLS").split())) - - rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc") - config.set("build", "rustc", e(rustc)) - - cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo") - config.set("build", "cargo", e(cargo)) - - config.set("build", "vendor", e(True)) - - config.set("build", "target", e([d.getVar("RUST_TARGET_SYS")])) - - config.set("build", "host", e([d.getVar("RUST_HOST_SYS")])) - - # We can't use BUILD_SYS since that is something the rust snapshot knows - # nothing about when trying to build some stage0 tools (like fabricate) - config.set("build", "build", e(d.getVar("RUST_BUILD_SYS"))) - - # [install] - config.add_section("install") - # ./x.py install doesn't have any notion of "destdir" - # but we can prepend ${D} to all the directories instead - config.set("install", "prefix", e(d.getVar("D") + d.getVar("prefix"))) - config.set("install", "bindir", e(d.getVar("D") + d.getVar("bindir"))) - config.set("install", "libdir", e(d.getVar("D") + d.getVar("libdir"))) - config.set("install", "datadir", e(d.getVar("D") + d.getVar("datadir"))) - config.set("install", "mandir", e(d.getVar("D") + d.getVar("mandir"))) - config.set("install", "sysconfdir", e(d.getVar("D") + d.getVar("sysconfdir"))) - - with open("config.toml", "w") as f: - f.write('change-id = 131075\n\n') - config.write(f) - - # set up ${WORKDIR}/cargo_home - bb.build.exec_func("setup_cargo_environment", d) -} - -rust_runx () { - echo "COMPILE ${PN}" "$@" - - # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a - # wide range of targets (not just TARGET). Yocto's settings for them will - # be inappropriate, avoid using. - unset CFLAGS - unset LDFLAGS - unset CXXFLAGS - unset CPPFLAGS - - export RUSTFLAGS="${RUST_DEBUG_REMAP}" - - # Copy the natively built llvm-config into the target so we can run it. Horrible, - # but works! - if [ ${RUST_ALTERNATE_EXE_PATH_NATIVE} != ${RUST_ALTERNATE_EXE_PATH} -a ! -f ${RUST_ALTERNATE_EXE_PATH} ]; then - mkdir -p `dirname ${RUST_ALTERNATE_EXE_PATH}` - cp ${RUST_ALTERNATE_EXE_PATH_NATIVE} ${RUST_ALTERNATE_EXE_PATH} - if [ -e ${STAGING_LIBDIR_NATIVE}/libc++.so.1 ]; then - chrpath -r \$ORIGIN/../../../../../`basename ${STAGING_DIR_NATIVE}`${libdir_native} ${RUST_ALTERNATE_EXE_PATH} - else - chrpath -d ${RUST_ALTERNATE_EXE_PATH} - fi - fi - - oe_cargo_fix_env - - python3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose -} -rust_runx[vardepsexclude] += "PARALLEL_MAKE" - -require rust-source.inc -require rust-snapshots.inc - -INSANE_SKIP:${PN}:class-native = "already-stripped" -FILES:${PN} += "${libdir}/rustlib" -FILES:${PN} += "${libdir}/*.so" -FILES:${PN}-dev = "" - -do_compile () { -} - -do_test_compile[dirs] = "${B}" -do_test_compile () { - rust_runx build src/tools/remote-test-server --target "${RUST_TARGET_SYS}" -} - -ALLOW_EMPTY:${PN} = "1" - -PACKAGES =+ "${PN}-rustdoc ${PN}-tools-clippy ${PN}-tools-rustfmt" -FILES:${PN}-rustdoc = "${bindir}/rustdoc" -FILES:${PN}-tools-clippy = "${bindir}/cargo-clippy ${bindir}/clippy-driver" -FILES:${PN}-tools-rustfmt = "${bindir}/rustfmt" -RDEPENDS:${PN}-rustdoc = "${PN}" -RDEPENDS:${PN}-tools-clippy = "${PN}" -RDEPENDS:${PN}-tools-rustfmt = "${PN}" - -SUMMARY:${PN}-tools-clippy = "A collection of lints to catch common mistakes and improve your Rust code" -SUMMARY:${PN}-tools-rustfmt = "A tool for formatting Rust code according to style guidelines" - -do_install () { - rust_do_install -} - -rust_do_install() { - rust_runx install -} - -rust_do_install:class-nativesdk() { - export PSEUDO_UNLOAD=1 - rust_runx install - rust_runx install clippy - rust_runx install rustfmt - unset PSEUDO_UNLOAD - - install -d ${D}${bindir} - for i in cargo-clippy clippy-driver rustfmt; do - cp build/${RUST_BUILD_SYS}/stage2-tools/${RUST_HOST_SYS}/release/$i ${D}${bindir} - chrpath -r "\$ORIGIN/../lib" ${D}${bindir}/$i - done - - chown root:root ${D}/ -R - rm ${D}${libdir}/rustlib/uninstall.sh - rm ${D}${libdir}/rustlib/install.log - rm ${D}${libdir}/rustlib/manifest* -} - -EXTRA_TOOLS ?= "cargo-clippy clippy-driver rustfmt" -rust_do_install:class-target() { - export PSEUDO_UNLOAD=1 - rust_runx install - rust_runx install clippy - rust_runx install rustfmt - unset PSEUDO_UNLOAD - - install -d ${D}${bindir} - for i in ${EXTRA_TOOLS}; do - cp build/${RUST_BUILD_SYS}/stage2-tools/${RUST_HOST_SYS}/release/$i ${D}${bindir} - chrpath -r "\$ORIGIN/../lib" ${D}${bindir}/$i - done - - install -d ${D}${libdir}/rustlib/${RUST_HOST_SYS} - install -m 0644 ${WORKDIR}/rust-targets/${RUST_HOST_SYS}.json ${D}${libdir}/rustlib/${RUST_HOST_SYS}/target.json - - chown root:root ${D}/ -R - rm ${D}${libdir}/rustlib/uninstall.sh - rm ${D}${libdir}/rustlib/install.log - rm ${D}${libdir}/rustlib/manifest* -} - -addtask do_update_snapshot after do_patch -do_update_snapshot[nostamp] = "1" - -# Run with `bitbake -c update_snapshot rust` to update `rust-snapshot.inc` -# with the checksums for the rust snapshot associated with this rustc-src -# tarball. -python do_update_snapshot() { - import json - import re - import sys - - from collections import defaultdict - - with open(os.path.join(d.getVar("S"), "src", "stage0.json")) as f: - j = json.load(f) - - config_dist_server = j['config']['dist_server'] - compiler_date = j['compiler']['date'] - compiler_version = j['compiler']['version'] - - src_uri = defaultdict(list) - for k, v in j['checksums_sha256'].items(): - m = re.search(f"dist/{compiler_date}/(?P.*)-{compiler_version}-(?P.*)-unknown-linux-gnu\\.tar\\.xz", k) - if m: - component = m.group('component') - arch = m.group('arch') - src_uri[arch].append(f"SRC_URI[{component}-snapshot-{arch}.sha256sum] = \"{v}\"") - - snapshot = """\ -## This is information on the rust-snapshot (binary) used to build our current release. -## snapshot info is taken from rust/src/stage0.json -## Rust is self-hosting and bootstraps itself with a pre-built previous version of itself. -## The exact (previous) version that has been used is specified in the source tarball. -## The version is replicated here. - -SNAPSHOT_VERSION = "%s" - -""" % compiler_version - - for arch, components in src_uri.items(): - snapshot += "\n".join(components) + "\n\n" - - snapshot += """\ -SRC_URI += " \\ - ${RUST_DIST_SERVER}/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \\ - ${RUST_DIST_SERVER}/dist/${RUSTC_SNAPSHOT}.tar.xz;name=rustc-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \\ - ${RUST_DIST_SERVER}/dist/${CARGO_SNAPSHOT}.tar.xz;name=cargo-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \\ -" - -RUST_DIST_SERVER = "%s" - -RUST_STD_SNAPSHOT = "rust-std-${SNAPSHOT_VERSION}-${RUST_BUILD_ARCH}-unknown-linux-gnu" -RUSTC_SNAPSHOT = "rustc-${SNAPSHOT_VERSION}-${RUST_BUILD_ARCH}-unknown-linux-gnu" -CARGO_SNAPSHOT = "cargo-${SNAPSHOT_VERSION}-${RUST_BUILD_ARCH}-unknown-linux-gnu" -""" % config_dist_server - - with open(os.path.join(d.getVar("THISDIR"), "rust-snapshot.inc"), "w") as f: - f.write(snapshot) -} - -RUSTLIB_DEP:class-nativesdk = "" - -# musl builds include libunwind.a -INSANE_SKIP:${PN} = "staticdev" - -BBCLASSEXTEND = "native nativesdk" - -# Since 1.70.0 upgrade this fails to build with gold: -# http://errors.yoctoproject.org/Errors/Details/708196/ -# ld: error: version script assignment of to symbol __rust_alloc_error_handler_should_panic failed: symbol not defined -LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd', '', d)}" diff --git a/recipes-devtools/toml-cli/toml-cli.inc b/recipes-devtools/toml-cli/toml-cli.inc new file mode 100644 index 000000000..3fa08f4ac --- /dev/null +++ b/recipes-devtools/toml-cli/toml-cli.inc @@ -0,0 +1,3 @@ +# Override cargo-bitbake's generated S = "${WORKDIR}/git", which oe-core's +# do_qa_unpack now rejects (git unpacks to ${UNPACKDIR}/${BP}). +S = "${UNPACKDIR}/${BP}" diff --git a/recipes-kernel/linux/files/crc32c-intel_module.cfg b/recipes-kernel/linux/files/crc32c-intel_module.cfg deleted file mode 100644 index c500b4f55..000000000 --- a/recipes-kernel/linux/files/crc32c-intel_module.cfg +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_CRC32C_INTEL=m diff --git a/recipes-kernel/linux/files/wireguard.cfg b/recipes-kernel/linux/files/wireguard.cfg index c808b68c5..ef36975e1 100644 --- a/recipes-kernel/linux/files/wireguard.cfg +++ b/recipes-kernel/linux/files/wireguard.cfg @@ -1,9 +1,7 @@ -CONFIG_CRYPTO_POLY1305_NEON=m CONFIG_NET_UDP_TUNNEL=m CONFIG_WIREGUARD=m # CONFIG_WIREGUARD_DEBUG is not set CONFIG_CRYPTO_LIB_CHACHA=m CONFIG_CRYPTO_LIB_CURVE25519=m -CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m CONFIG_CRYPTO_LIB_POLY1305=m CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m diff --git a/recipes-mac/AppArmor/apparmor_%.bbappend b/recipes-mac/AppArmor/apparmor_%.bbappend new file mode 100644 index 000000000..2fa5df756 --- /dev/null +++ b/recipes-mac/AppArmor/apparmor_%.bbappend @@ -0,0 +1,13 @@ +# apparmor's do_install hardcodes perl artifacts in two spots: a sed on the SWIG +# wrapper (libraries/libapparmor/swig/perl/libapparmor_wrap.c) and a find under +# ${libdir}/perl5. We build --without-perl (PACKAGECONFIG:remove:pn-apparmor = "perl" +# in omnect-os-distro.conf), so neither path exists and both commands abort do_install. +# Create the paths in :prepend so both no-op; with --without-perl nothing is built or +# installed into them, and the empty perl5 dir is not packaged (no FILES entry). +do_install:prepend() { + if ! ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then + install -d ${B}/libraries/libapparmor/swig/perl ${D}${libdir}/perl5 + [ -e ${B}/libraries/libapparmor/swig/perl/libapparmor_wrap.c ] || \ + : > ${B}/libraries/libapparmor/swig/perl/libapparmor_wrap.c + fi +} diff --git a/recipes-omnect/bootloader_env/bootloader-env.bb b/recipes-omnect/bootloader_env/bootloader-env.bb index 5c759a8a3..bba28decf 100644 --- a/recipes-omnect/bootloader_env/bootloader-env.bb +++ b/recipes-omnect/bootloader_env/bootloader-env.bb @@ -1,5 +1,8 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" +# file-only recipe: sources land in ${UNPACKDIR}, not the default ${UNPACKDIR}/${BP}. +S = "${UNPACKDIR}" + # for usage in intramfs only LICENSE = "MIT | Apache-2.0" @@ -16,9 +19,9 @@ RDEPENDS:${PN}:append:omnect_grub = " grub-editenv" RDEPENDS:${PN}:append:omnect_uboot = " libubootenv-bin" do_install:omnect_grub() { - install -m 0700 -D ${WORKDIR}/bootloader_env_grub.sh ${D}${sbindir}/bootloader_env.sh + install -m 0700 -D ${UNPACKDIR}/bootloader_env_grub.sh ${D}${sbindir}/bootloader_env.sh } do_install:omnect_uboot() { - install -m 0700 -D ${WORKDIR}/bootloader_env_u-boot.sh ${D}${sbindir}/bootloader_env.sh + install -m 0700 -D ${UNPACKDIR}/bootloader_env_u-boot.sh ${D}${sbindir}/bootloader_env.sh } diff --git a/recipes-omnect/grub-env/grub-env.bb b/recipes-omnect/grub-env/grub-env.bb index 31f1b08f6..a9855af22 100644 --- a/recipes-omnect/grub-env/grub-env.bb +++ b/recipes-omnect/grub-env/grub-env.bb @@ -1,5 +1,8 @@ FILESEXTRAPATHS:prepend := "${LAYERDIR_omnect}/files/:" +# file-only recipe: sources land in ${UNPACKDIR}, not the default ${UNPACKDIR}/${BP}. +S = "${UNPACKDIR}" + # for usage in intramfs flash-mode only LICENSE = "MIT | Apache-2.0" @@ -15,5 +18,5 @@ SRC_URI = "\ do_install[depends] += "grub-efi:do_deploy" do_install() { - install -m 0644 -D ${WORKDIR}/grubenv ${D}${sysconfdir}/omnect/grubenv.in + install -m 0644 -D ${UNPACKDIR}/grubenv ${D}${sysconfdir}/omnect/grubenv.in } diff --git a/recipes-omnect/images/omnect-os-image.bb b/recipes-omnect/images/omnect-os-image.bb index e3a0e9697..edc08d176 100644 --- a/recipes-omnect/images/omnect-os-image.bb +++ b/recipes-omnect/images/omnect-os-image.bb @@ -44,7 +44,7 @@ IMAGE_LINGUAS = "en-us" IMAGE_BASENAME = "omnect-os" -IMAGE_LINK_NAME= "${IMAGE_BASENAME}${IMAGE_MACHINE_SUFFIX}" +IMAGE_LINK_NAME = "${IMAGE_BASENAME}${IMAGE_MACHINE_SUFFIX}" IMAGE_NAME = "${DISTRO_NAME}_${DISTRO_VERSION}_${MACHINE}" diff --git a/recipes-omnect/images/omnect-os-initramfs.bb b/recipes-omnect/images/omnect-os-initramfs.bb index bf8287811..d6d5711da 100644 --- a/recipes-omnect/images/omnect-os-initramfs.bb +++ b/recipes-omnect/images/omnect-os-initramfs.bb @@ -13,6 +13,12 @@ inherit omnect_initramfs IMAGE_NAME = "${OMNECT_INITRAMFS_IMAGE_NAME}" +# This image is a cpio unpacked into RAM, not a read-write filesystem, so the default +# 1.3 free-space overhead is meaningless here - it only inflated the INITRAMFS_MAXSIZE +# check (the wrynose component growth then tipped it over 128M). Size the check to the +# real content; INITRAMFS_MAXSIZE stays as the RAM guard. +IMAGE_OVERHEAD_FACTOR = "1" + FLASH_MODE_X_PACKAGES = " \ bmaptool \ dhcpcd \ diff --git a/recipes-omnect/initrdscripts/omnect-os-initramfs-scripts.bb b/recipes-omnect/initrdscripts/omnect-os-initramfs-scripts.bb index c90787e28..a4f58a326 100644 --- a/recipes-omnect/initrdscripts/omnect-os-initramfs-scripts.bb +++ b/recipes-omnect/initrdscripts/omnect-os-initramfs-scripts.bb @@ -1,5 +1,8 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/omnect-os-initramfs:" +# file-only recipe: sources land in ${UNPACKDIR}, not the default ${UNPACKDIR}/${BP}. +S = "${UNPACKDIR}" + LICENSE = "MIT | Apache-2.0" LIC_FILES_CHKSUM = "\ @@ -27,12 +30,12 @@ DEPENDS = "bc-native" RDEPENDS:${PN} = "bash" do_install() { - install -m 0755 -D ${WORKDIR}/common-sh ${D}/init.d/05-common_sh - install -m 0755 -D ${WORKDIR}/rootblk-dev ${D}/init.d/10-rootblk_dev + install -m 0755 -D ${UNPACKDIR}/common-sh ${D}/init.d/05-common_sh + install -m 0755 -D ${UNPACKDIR}/rootblk-dev ${D}/init.d/10-rootblk_dev - install -m 0755 -D ${WORKDIR}/factory-reset ${D}/init.d/86-factory_reset + install -m 0755 -D ${UNPACKDIR}/factory-reset ${D}/init.d/86-factory_reset - install -m 0755 -D ${WORKDIR}/flash-mode-1 ${D}/init.d/87-flash_mode_1 + install -m 0755 -D ${UNPACKDIR}/flash-mode-1 ${D}/init.d/87-flash_mode_1 # set variables templates sed -i -e 's|^\(UBOOT_ENV1_START\)="UNDEFINED"|\1="${OMNECT_PART_OFFSET_UBOOT_ENV1}"|' \ -e 's|^\(UBOOT_ENV2_START\)="UNDEFINED"|\1="${OMNECT_PART_OFFSET_UBOOT_ENV2}"|' \ @@ -44,7 +47,7 @@ do_install() { fi if ${@bb.utils.contains('DISTRO_FEATURES', 'flash-mode-2', 'true', 'false', d)}; then - install -m 0755 -D ${WORKDIR}/flash-mode-2 ${D}/init.d/87-flash_mode_2 + install -m 0755 -D ${UNPACKDIR}/flash-mode-2 ${D}/init.d/87-flash_mode_2 # bitbake doesn't parse bash arithmetic expression, so we use bc dd_zero_size=$(echo "${OMNECT_PART_OFFSET_BOOT} + ${OMNECT_PART_SIZE_BOOT}" | bc) sed -i -e "s/@@DD_ZERO_SIZE@@/${dd_zero_size}/g" \ @@ -52,29 +55,29 @@ do_install() { ${D}/init.d/87-flash_mode_2 fi if ${@bb.utils.contains('DISTRO_FEATURES', 'flash-mode-3', 'true', 'false', d)}; then - install -m 0755 -D ${WORKDIR}/flash-mode-3 ${D}/init.d/87-flash_mode_3 + install -m 0755 -D ${UNPACKDIR}/flash-mode-3 ${D}/init.d/87-flash_mode_3 fi if ${@bb.utils.contains('DISTRO_FEATURES', 'resize-data', 'true', 'false', d)}; then - install -m 0755 -D ${WORKDIR}/resize-data ${D}/init.d/88-resize_data + install -m 0755 -D ${UNPACKDIR}/resize-data ${D}/init.d/88-resize_data fi - install -m 0755 -D ${WORKDIR}/fs-mount ${D}/init.d/89-fs_mount + install -m 0755 -D ${UNPACKDIR}/fs-mount ${D}/init.d/89-fs_mount if ${@bb.utils.contains('DISTRO_FEATURES', 'persistent-var-log', 'true', 'false', d)}; then - install -m 0755 -D ${WORKDIR}/persistent-var-log ${D}/init.d/90-persistent_var_log + install -m 0755 -D ${UNPACKDIR}/persistent-var-log ${D}/init.d/90-persistent_var_log fi - install -m 0755 -D ${WORKDIR}/omnect-device-service-setup ${D}/init.d/95-omnect_device_service_setup - install -m 0755 -D ${WORKDIR}/fs-link ${D}/init.d/96-fs_link + install -m 0755 -D ${UNPACKDIR}/omnect-device-service-setup ${D}/init.d/95-omnect_device_service_setup + install -m 0755 -D ${UNPACKDIR}/fs-link ${D}/init.d/96-fs_link } do_install:append:mx8mm-nxp-bsp () { - install -m 0755 -D ${WORKDIR}/imx-sdma ${D}/init.d/90-imx_sdma + install -m 0755 -D ${UNPACKDIR}/imx-sdma ${D}/init.d/90-imx_sdma } do_install:append:omnect_grub () { - install -m 0755 -D ${WORKDIR}/grub-sh ${D}/init.d/09-bootloader_sh + install -m 0755 -D ${UNPACKDIR}/grub-sh ${D}/init.d/09-bootloader_sh } do_install:append:omnect_uboot () { - install -m 0755 -D ${WORKDIR}/uboot-sh ${D}/init.d/09-bootloader_sh + install -m 0755 -D ${UNPACKDIR}/uboot-sh ${D}/init.d/09-bootloader_sh } FILES:${PN} = "\ diff --git a/recipes-omnect/initrdscripts/omnect-os-initramfs/common-sh b/recipes-omnect/initrdscripts/omnect-os-initramfs/common-sh index 06682bee2..8233b7295 100644 --- a/recipes-omnect/initrdscripts/omnect-os-initramfs/common-sh +++ b/recipes-omnect/initrdscripts/omnect-os-initramfs/common-sh @@ -355,7 +355,7 @@ flash_mode_setup_network() { # get network interface up while true; do - ifconfig ${if_name} up >/dev/null 2>&1 + ip link set ${if_name} up >/dev/null 2>&1 if [ $? -eq 0 ]; then break; fi msg "Waiting for ${if_name} ..." sleep 1 diff --git a/recipes-omnect/initrdscripts/omnect-os-initramfs/fs-mount b/recipes-omnect/initrdscripts/omnect-os-initramfs/fs-mount index 996b12090..8cafd3ff2 100644 --- a/recipes-omnect/initrdscripts/omnect-os-initramfs/fs-mount +++ b/recipes-omnect/initrdscripts/omnect-os-initramfs/fs-mount @@ -47,7 +47,12 @@ run_fs_mount() setup_data_partition "${ROOTFS_DIR}" "${data_opts}" || return 1 # mount tmpfs - run_cmd mount -t tmpfs -o mode=0755,nodev,nosuid,strictatime tmpfs ${ROOTFS_DIR}/run || return 1 + # /run is mounted by the initramfs-framework and relocated onto the rootfs + # (mount --move /run ${ROOTFS_DIR}/run) in its finish module before switch_root. + # Mounting our own tmpfs on ${ROOTFS_DIR}/run here would be shadowed by that + # move (losing anything written to it), so we only re-apply our hardened + # options to the framework's /run instead. + run_cmd mount -o remount,mode=0755,nodev,nosuid,strictatime /run run_cmd mount -t tmpfs -o defaults tmpfs ${ROOTFS_DIR}/var/volatile || return 1 # mount boot diff --git a/recipes-omnect/initrdscripts/omnect-os-initramfs/omnect-device-service-setup b/recipes-omnect/initrdscripts/omnect-os-initramfs/omnect-device-service-setup index f93156b92..c61e68b89 100644 --- a/recipes-omnect/initrdscripts/omnect-os-initramfs/omnect-device-service-setup +++ b/recipes-omnect/initrdscripts/omnect-os-initramfs/omnect-device-service-setup @@ -6,7 +6,10 @@ omnect_device_service_group="not set yet" omnect_device_service_user="not set yet" -omnect_run_dir="${ROOTFS_DIR}/run/omnect-device-service" +# write into the framework's /run, which its finish module relocates onto the +# rootfs (mount --move /run ${ROOTFS_DIR}/run) before switch_root; a tmpfs of our +# own on ${ROOTFS_DIR}/run would be shadowed by that move +omnect_run_dir="/run/omnect-device-service" omnect_os_initramfs_json="${omnect_run_dir}/omnect-os-initramfs.json" omnect_device_service_setup_enabled() { diff --git a/recipes-omnect/omnect-base-files/omnect-base-files.bb b/recipes-omnect/omnect-base-files/omnect-base-files.bb index d63f9136c..00296996d 100644 --- a/recipes-omnect/omnect-base-files/omnect-base-files.bb +++ b/recipes-omnect/omnect-base-files/omnect-base-files.bb @@ -1,4 +1,7 @@ SUMMARY = "omnect Base Files" + +# file-only recipe: sources land in ${UNPACKDIR}, not the default ${UNPACKDIR}/${BP}. +S = "${UNPACKDIR}" DESCRIPTION = "Provide omnect Base Files." LICENSE = "MIT" LIC_FILES_CHKSUM = "\ @@ -41,18 +44,18 @@ FILES:${PN} = "\ " do_install() { - install -m 0644 -D ${WORKDIR}/etc/bashrc ${D}/etc/bashrc - install -m 0755 -D ${WORKDIR}/usr/bin/omnect_extra_bootargs.sh ${D}/usr/bin/omnect_extra_bootargs.sh - install -m 0755 -D ${WORKDIR}/usr/bin/omnect_get_deviceid.sh ${D}/usr/bin/omnect_get_deviceid.sh + install -m 0644 -D ${UNPACKDIR}/etc/bashrc ${D}/etc/bashrc + install -m 0755 -D ${UNPACKDIR}/usr/bin/omnect_extra_bootargs.sh ${D}/usr/bin/omnect_extra_bootargs.sh + install -m 0755 -D ${UNPACKDIR}/usr/bin/omnect_get_deviceid.sh ${D}/usr/bin/omnect_get_deviceid.sh if ${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'true', 'false', d)}; then - install -m 0755 -D ${WORKDIR}/usr/bin/omnect_get_dps_tpm_enrollment.sh ${D}/usr/bin/omnect_get_dps_tpm_enrollment.sh + install -m 0755 -D ${UNPACKDIR}/usr/bin/omnect_get_dps_tpm_enrollment.sh ${D}/usr/bin/omnect_get_dps_tpm_enrollment.sh fi - install -m 0644 -D ${WORKDIR}/etc/sudoers.d/001_omnect ${D}/etc/sudoers.d/001_omnect - install -m 0644 -D ${WORKDIR}/etc/profile.d/omnect_profile.sh ${D}/etc/profile.d/omnect_profile.sh - install -m 0644 -D ${WORKDIR}/etc/profile.d/omnect_prompt.sh ${D}/etc/profile.d/omnect_prompt.sh + install -m 0644 -D ${UNPACKDIR}/etc/sudoers.d/001_omnect ${D}/etc/sudoers.d/001_omnect + install -m 0644 -D ${UNPACKDIR}/etc/profile.d/omnect_profile.sh ${D}/etc/profile.d/omnect_profile.sh + install -m 0644 -D ${UNPACKDIR}/etc/profile.d/omnect_prompt.sh ${D}/etc/profile.d/omnect_prompt.sh if ${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'true', 'false', d)}; then - install -m 0644 -D ${WORKDIR}/etc/profile.d/tpm2tools.sh ${D}/etc/profile.d/tpm2tools.sh + install -m 0644 -D ${UNPACKDIR}/etc/profile.d/tpm2tools.sh ${D}/etc/profile.d/tpm2tools.sh fi # install mountpoints diff --git a/recipes-omnect/omnect-device-service/omnect-device-service.inc b/recipes-omnect/omnect-device-service/omnect-device-service.inc index db24b94df..df0ba60e6 100644 --- a/recipes-omnect/omnect-device-service/omnect-device-service.inc +++ b/recipes-omnect/omnect-device-service/omnect-device-service.inc @@ -1,5 +1,9 @@ FILESEXTRAPATHS:prepend := "${LAYERDIR_omnect}/files:${THISDIR}/${PN}:" +# Override cargo-bitbake's generated S = "${WORKDIR}/git", which oe-core's +# do_qa_unpack now rejects (git unpacks to ${UNPACKDIR}/${BP}). +S = "${UNPACKDIR}/${BP}" + SRC_URI += "\ file://factory-reset.json \ file://iot-identity-service-keyd.template.toml \ @@ -14,6 +18,13 @@ python() { pv = d.getVar('PV') pv = pv[:128] d.setVar('PV', pv) + + # cargo-bitbake emits the crate path overrides under ${WORKDIR}, but wrynose's git + # fetcher unpacks destsuffix= sources under ${UNPACKDIR}. Repoint every override here + # (operating on the unexpanded value) so a version bump that regenerates the .bb can't + # reintroduce the stale prefix. + paths = d.getVar('EXTRA_OECARGO_PATHS', False) or "" + d.setVar('EXTRA_OECARGO_PATHS', paths.replace('${WORKDIR}/', '${UNPACKDIR}/')) } # overwrite LICENSE and LIC_FILES_CHKSUM from cargo-bitbake generated recipe @@ -64,17 +75,17 @@ do_install:append() { install -m 0640 -D ${S}/sudo/omnect-device-service ${D}${sysconfdir}/sudoers.d/omnect-device-service # allow omnect-device-service access to device_id secret created by manual provisioning - install -m 0600 -o aziotks -g aziotks ${WORKDIR}/iot-identity-service-keyd.template.toml ${D}${sysconfdir}/aziot/keyd/config.d/omnect-device-service.toml + install -m 0600 -o aziotks -g aziotks ${UNPACKDIR}/iot-identity-service-keyd.template.toml ${D}${sysconfdir}/aziot/keyd/config.d/omnect-device-service.toml # allow omnect-device-service provisioning via module identity - install -m 0600 -o aziotid -g aziotid ${WORKDIR}/iot-identity-service-identityd.template.toml ${D}${sysconfdir}/aziot/identityd/config.d/omnect-device-service.toml + install -m 0600 -o aziotid -g aziotid ${UNPACKDIR}/iot-identity-service-identityd.template.toml ${D}${sysconfdir}/aziot/identityd/config.d/omnect-device-service.toml # create tmpfiles.d entry to (re)create dir + permissions - install -m 0644 -D ${WORKDIR}/omnect-device-service.tmpfilesd ${D}${libdir}/tmpfiles.d/omnect-device-service.conf + install -m 0644 -D ${UNPACKDIR}/omnect-device-service.tmpfilesd ${D}${libdir}/tmpfiles.d/omnect-device-service.conf # factory-reset install -d -D ${D}${sysconfdir}/omnect/ - install -m 0444 -D ${WORKDIR}/factory-reset.json ${D}${sysconfdir}/omnect/ + install -m 0444 -D ${UNPACKDIR}/factory-reset.json ${D}${sysconfdir}/omnect/ install -m 0777 -d ${D}${sysconfdir}/omnect/factory-reset.d } diff --git a/recipes-omnect/omnect-device-service/omnect-device-service_0.44.0.bb b/recipes-omnect/omnect-device-service/omnect-device-service_0.44.1.bb similarity index 99% rename from recipes-omnect/omnect-device-service/omnect-device-service_0.44.0.bb rename to recipes-omnect/omnect-device-service/omnect-device-service_0.44.1.bb index ec7279798..e4a3593ec 100644 --- a/recipes-omnect/omnect-device-service/omnect-device-service_0.44.0.bb +++ b/recipes-omnect/omnect-device-service/omnect-device-service_0.44.1.bb @@ -6,11 +6,13 @@ inherit cargo # DEFAULT_PREFERENCE = "-1" # how to get omnect-device-service could be as easy as but default to a git checkout: -# SRC_URI += "crate://crates.io/omnect-device-service/0.44.0" +# SRC_URI += "crate://crates.io/omnect-device-service/0.44.1" SRC_URI += "git://github.com/omnect/omnect-device-service.git;protocol=https;nobranch=1;branch=main" -SRCREV = "4d6be836f1b47d55e7479eae28d251b6a64348f2" +SRCREV = "2a83cefca1230c1616ee7d5655d6f6a159a991db" S = "${WORKDIR}/git" CARGO_SRC_DIR = "" +CARGO_BUILD_FLAGS += "-p omnect-device-service" + # please note if you have entries that do not begin with crate:// # you must change them to how that package can be fetched @@ -47,6 +49,7 @@ SRC_URI += " \ crate://crates.io/base64/0.21.7 \ crate://crates.io/base64/0.22.1 \ crate://crates.io/bindgen/0.71.1 \ + crate://crates.io/bindgen/0.72.1 \ crate://crates.io/bitflags/1.3.2 \ crate://crates.io/bitflags/2.13.0 \ crate://crates.io/block-buffer/0.10.4 \ @@ -512,15 +515,16 @@ SRCREV_FORMAT .= "_aziot-keyd-config" SRCREV_aziot-keyd-config = "1.5.5" EXTRA_OECARGO_PATHS += "${WORKDIR}/aziot-keyd-config" SRCREV_FORMAT .= "_azure-iot-sdk" -SRCREV_azure-iot-sdk = "0.14.1" +SRCREV_azure-iot-sdk = "0.14.2" EXTRA_OECARGO_PATHS += "${WORKDIR}/azure-iot-sdk" SRCREV_FORMAT .= "_azure-iot-sdk-sys" -SRCREV_azure-iot-sdk-sys = "0.6.3" +SRCREV_azure-iot-sdk-sys = "0.6.4" EXTRA_OECARGO_PATHS += "${WORKDIR}/azure-iot-sdk-sys" SRC_URI[base64-0.13.1.sha256sum] = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" SRC_URI[base64-0.21.7.sha256sum] = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" SRC_URI[base64-0.22.1.sha256sum] = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" SRC_URI[bindgen-0.71.1.sha256sum] = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" +SRC_URI[bindgen-0.72.1.sha256sum] = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" SRC_URI[bitflags-2.13.0.sha256sum] = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" diff --git a/recipes-omnect/omnect-first-boot/omnect-first-boot.bb b/recipes-omnect/omnect-first-boot/omnect-first-boot.bb index 5bfdd6f3f..9b5860b25 100644 --- a/recipes-omnect/omnect-first-boot/omnect-first-boot.bb +++ b/recipes-omnect/omnect-first-boot/omnect-first-boot.bb @@ -1,5 +1,8 @@ DESCRIPTION = "omnect-first-boot is a service executed on first boot of device (or after factory-reset)" +# file-only recipe: sources land in ${UNPACKDIR}, not the default ${UNPACKDIR}/${BP}. +S = "${UNPACKDIR}" + LICENSE = "MIT | Apache-2.0" LIC_FILES_CHKSUM = " \ file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \ @@ -18,8 +21,8 @@ SRC_URI += "\ RDEPENDS:${PN} += "bash" do_install() { - install -m 0644 -D ${WORKDIR}/omnect-first-boot.service ${D}${systemd_system_unitdir}/omnect-first-boot.service - install -m 0755 -D ${WORKDIR}/omnect_first_boot.sh ${D}${bindir}/omnect_first_boot.sh + install -m 0644 -D ${UNPACKDIR}/omnect-first-boot.service ${D}${systemd_system_unitdir}/omnect-first-boot.service + install -m 0755 -D ${UNPACKDIR}/omnect_first_boot.sh ${D}${bindir}/omnect_first_boot.sh } SYSTEMD_SERVICE:${PN} = " \ diff --git a/recipes-omnect/omnect-wifi-commissioning/omnect-wifi-commissioning.bb b/recipes-omnect/omnect-wifi-commissioning/omnect-wifi-commissioning.bb index 5b54bbb30..a300a922f 100644 --- a/recipes-omnect/omnect-wifi-commissioning/omnect-wifi-commissioning.bb +++ b/recipes-omnect/omnect-wifi-commissioning/omnect-wifi-commissioning.bb @@ -1,5 +1,8 @@ DESCRIPTION = "Oneshot service that starts/configures wifi commissioning from /etc/omnect/device_caps.json" +# file-only recipe: sources land in ${UNPACKDIR}, not the default ${UNPACKDIR}/${BP}. +S = "${UNPACKDIR}" + LICENSE = "MIT | Apache-2.0" LIC_FILES_CHKSUM = " \ file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \ @@ -19,8 +22,8 @@ SRC_URI += "\ RDEPENDS:${PN} += "jq wpa-supplicant" do_install() { - install -m 0644 -D ${WORKDIR}/omnect-wifi-commissioning.service ${D}${systemd_system_unitdir}/omnect-wifi-commissioning.service - install -m 0755 -D ${WORKDIR}/omnect-wifi-commissioning-start.sh ${D}${bindir}/omnect-wifi-commissioning-start.sh + install -m 0644 -D ${UNPACKDIR}/omnect-wifi-commissioning.service ${D}${systemd_system_unitdir}/omnect-wifi-commissioning.service + install -m 0755 -D ${UNPACKDIR}/omnect-wifi-commissioning-start.sh ${D}${bindir}/omnect-wifi-commissioning-start.sh } SYSTEMD_SERVICE:${PN} = "omnect-wifi-commissioning.service" diff --git a/recipes-omnect/tpm-udev/tpm-udev.bb b/recipes-omnect/tpm-udev/tpm-udev.bb index fdd15886b..b868a5dc4 100644 --- a/recipes-omnect/tpm-udev/tpm-udev.bb +++ b/recipes-omnect/tpm-udev/tpm-udev.bb @@ -1,5 +1,8 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" +# file-only recipe: sources land in ${UNPACKDIR}, not the default ${UNPACKDIR}/${BP}. +S = "${UNPACKDIR}" + LICENSE = "MIT | Apache-2.0" LIC_FILES_CHKSUM = " \ file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \ @@ -12,7 +15,7 @@ SRC_URI = "\ do_install() { install -d ${D}${sysconfdir}/udev/rules.d - install -m 0644 ${WORKDIR}/tpm.rules ${D}${sysconfdir}/udev/rules.d/ + install -m 0644 ${UNPACKDIR}/tpm.rules ${D}${sysconfdir}/udev/rules.d/ } inherit useradd diff --git a/recipes-omnect/wifi-commissioning-service/wifi-commissioning-service.inc b/recipes-omnect/wifi-commissioning-service/wifi-commissioning-service.inc index dc903a54a..19e624051 100644 --- a/recipes-omnect/wifi-commissioning-service/wifi-commissioning-service.inc +++ b/recipes-omnect/wifi-commissioning-service/wifi-commissioning-service.inc @@ -1,5 +1,9 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:" +# Override cargo-bitbake's generated S = "${WORKDIR}/git", which oe-core's +# do_qa_unpack now rejects (git unpacks to ${UNPACKDIR}/${BP}). +S = "${UNPACKDIR}/${BP}" + # Overwrite LICENSE from cargo-bitbake LICENSE = "MIT | Apache-2.0" LIC_FILES_CHKSUM = " \ @@ -11,8 +15,7 @@ CARGO_BUILD_FLAGS += "--locked --features systemd" # BLE is compiled in when the platform can use bluetooth (device_caps-derived). CARGO_BUILD_FLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', ' --features ble', '', d)}" -# Build dependencies -DEPENDS += "pkgconfig-native dbus" +DEPENDS += "dbus" # Runtime dependencies RDEPENDS:${PN} += "bash wpa-supplicant" @@ -57,7 +60,7 @@ FILES:${PN} += "\ ${systemd_system_unitdir}/wifi-commissioning-service@.socket \ " -inherit cargo_cyclonedx useradd +inherit cargo_cyclonedx pkgconfig useradd USERADD_PACKAGES = "${PN}" GROUPADD_PARAM:${PN} = "-r wifi_commissioning" diff --git a/recipes-support/wic/wic/populate-esp-from-omnect-secure-boot-artifacts.patch b/recipes-support/wic/wic/populate-esp-from-omnect-secure-boot-artifacts.patch new file mode 100644 index 000000000..b2203c3b0 --- /dev/null +++ b/recipes-support/wic/wic/populate-esp-from-omnect-secure-boot-artifacts.patch @@ -0,0 +1,56 @@ +wic: populate the ESP from omnect signed secure-boot artifacts + +omnect's genericx86-64 image boots a signed grub (UEFI secure boot). The ESP +must be filled from the signed binaries deployed to DEPLOY_DIR_IMAGE +(OMNECT_GRUB_EFI_SB_FILES: bootx64.efi, grubx64.efi, grub.cfg, .p7b, ...) plus +the omnect bootloader version and extra-bootargs, instead of the stock +plain-kernel-into-ESP install. The stock grub-efi loader block that follows then +finds bootx64.efi and grub.cfg already present (satisfying its boot*.efi check). + +Ported from meta-omnect's former kas patch against oe-core's in-tree +scripts/lib/wic (bootimg-efi.py); wrynose moved wic into the standalone wic +recipe, renaming the plugin to src/wic/plugins/source/bootimg_efi.py. + +Upstream-Status: Inappropriate [omnect-specific secure boot] + +diff --git a/src/wic/plugins/source/bootimg_efi.py b/src/wic/plugins/source/bootimg_efi.py +index 69aa38b..60f0fbb 100644 +--- a/src/wic/plugins/source/bootimg_efi.py ++++ b/src/wic/plugins/source/bootimg_efi.py +@@ -304,20 +304,22 @@ class BootimgEFIPlugin(SourcePlugin): + + hdddir = "%s/hdd/boot" % cr_workdir + +- kernel = get_bitbake_var("KERNEL_IMAGETYPE") +- if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": +- if get_bitbake_var("INITRAMFS_IMAGE"): +- kernel = "%s-%s.bin" % \ +- (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME")) +- +- if source_params.get('create-unified-kernel-image') == "true": +- raise WicError("create-unified-kernel-image is no longer supported. Please use uki.bbclass.") +- +- if source_params.get('install-kernel-into-boot-dir') != 'false': +- install_cmd = "install -v -p -m 0644 %s/%s %s/%s" % \ +- (staging_kernel_dir, kernel, hdddir, kernel) +- out = exec_cmd(install_cmd) +- logger.debug("Installed kernel files:\n%s" % out) ++ # omnect: the ESP is populated from the signed secure-boot artifacts deployed to ++ # DEPLOY_DIR_IMAGE (grub is verified, no plain kernel in the ESP). The stock ++ # grub-efi loader block below then finds bootx64.efi/grub.cfg already in place. ++ deploy_dir_img = get_bitbake_var("DEPLOY_DIR_IMAGE") ++ bootloader_version_install_cmd = "install -m 0644 -D %s/omnect_bootloader_version %s/EFI/BOOT/omnect_bootloader_version" % (deploy_dir_img, hdddir) ++ exec_cmd(bootloader_version_install_cmd) ++ omnect_extra_bootargs_install_cmd = "install -m 644 -D %s/omnect_extra_bootargs_omnect %s/omnect_extra_bootargs_omnect" % (deploy_dir_img, hdddir) ++ exec_cmd(omnect_extra_bootargs_install_cmd) ++ ++ grub_efi_sb_files = get_bitbake_var("OMNECT_GRUB_EFI_SB_FILES") ++ # get rid of multiple spaces ++ grub_efi_sb_files = ' '.join(grub_efi_sb_files.split()); ++ grub_efi_sb_files = grub_efi_sb_files.split() ++ for grub_efi_sb_file in grub_efi_sb_files: ++ efi_install_cmd = "install -m 0644 -D %s/%s %s/EFI/BOOT/%s" % (deploy_dir_img, grub_efi_sb_file, hdddir, grub_efi_sb_file) ++ exec_cmd(efi_install_cmd) + + if get_bitbake_var("IMAGE_EFI_BOOT_FILES"): + for src_path, dst_path in cls.install_task: diff --git a/recipes-support/wic/wic_%.bbappend b/recipes-support/wic/wic_%.bbappend new file mode 100644 index 000000000..f2dc0dd81 --- /dev/null +++ b/recipes-support/wic/wic_%.bbappend @@ -0,0 +1,7 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +# wrynose split wic out of oe-core into this standalone recipe, so meta-omnect's ESP +# population (formerly kas/patches/oe_bootimg_efi_wic.patch against the in-tree +# scripts/lib/wic) now has to be a recipe patch. Only the bootimg-efi plugin is +# touched, which only genericx86-64 (secure boot) uses; inert for u-boot machines. +SRC_URI += "file://populate-esp-from-omnect-secure-boot-artifacts.patch" diff --git a/wic/omnect-os.rpi4.wks.in b/wic/omnect-os.rpi4.wks.in deleted file mode 100644 index d3ff8d99e..000000000 --- a/wic/omnect-os.rpi4.wks.in +++ /dev/null @@ -1,3 +0,0 @@ -include omnect-os.rpi.wks.inc - -bootloader --ptable gpt