require conf/distro/poky.conf require include/time64.inc # Discrete version values. YOCTO_MAJOR = "5" YOCTO_MINOR = "0" DEY_RELEASE = "2" DEY_BUILD = "1" # Firmware version of the system. DEY_FIRMWARE_VERSION ?= "${YOCTO_MAJOR}.${YOCTO_MINOR}.${DEY_RELEASE}.${DEY_BUILD}" # Distribution info. DISTRO = "dey" DISTRO_NAME = "Digi Embedded Yocto" DISTRO_VERSION = "${YOCTO_MAJOR}.${YOCTO_MINOR}-r${DEY_RELEASE}" SDK_VENDOR = "-deysdk" MAINTAINER = "Digi Support " TARGET_VENDOR = "-dey" POKY_DEFAULT_EXTRA_RDEPENDS = "packagegroup-dey-core" POKY_DEFAULT_EXTRA_RRECOMMENDS = "" # # Rework distro features for DEY distribution # MACHINE_DISTRO_FEATURES_ADD ?= "" MACHINE_DISTRO_FEATURES_REMOVE ?= "" DISTRO_FEATURES:append = " cellular gstreamer pam ${MACHINE_DISTRO_FEATURES_ADD}" DISTRO_FEATURES:remove = "3g nfc nfs ptest zeroconf ${MACHINE_DISTRO_FEATURES_REMOVE}" GRAPHICAL_BACKEND = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', \ bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \ bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'fb', d), d), d)}" # Recovery initramfs image name. RECOVERY_INITRAMFS_IMAGE ?= "dey-image-recovery-initramfs" # Add initramfs into FIT image INITRAMFS_IMAGE = '${@bb.utils.contains("KERNEL_IMAGETYPE", "fitImage", "${RECOVERY_INITRAMFS_IMAGE}", "", d)}' # DEY image features (alphabetical order) FEATURE_PACKAGES_dey-audio = "packagegroup-dey-audio" FEATURE_PACKAGES_dey-bluetooth = "packagegroup-dey-bluetooth" FEATURE_PACKAGES_dey-debug = "packagegroup-dey-debug" FEATURE_PACKAGES_dey-examples = "packagegroup-dey-examples" FEATURE_PACKAGES_dey-flutter = "packagegroup-dey-flutter" FEATURE_PACKAGES_dey-gstreamer = "packagegroup-dey-gstreamer" FEATURE_PACKAGES_dey-lvgl = "packagegroup-dey-lvgl" FEATURE_PACKAGES_dey-network = "packagegroup-dey-network" FEATURE_PACKAGES_dey-qt = "packagegroup-dey-qt" FEATURE_PACKAGES_dey-trustfence = "packagegroup-dey-trustfence" FEATURE_PACKAGES_dey-webkit = "packagegroup-dey-webkit" FEATURE_PACKAGES_dey-wireless = "packagegroup-dey-wireless" # Our layer only provides version 5.41, which we want to keep because # it was used for Bluetooth certification. However by default the newer # 5.72 version should be used, which is provided by the poky layer. PREFERRED_VERSION_bluez5 ?= "5.72" # Latest version of libgpiod (2.1.1) breaks API compatibility with previously # used version 1.6.3, causing libdigiapix compilation errors. Until we port # libdigiapix to 2.1.1, use 1.6.4 instead, which is also available in poky to # ensure compatibility with the old API. PREFERRED_VERSION_libgpiod ?= "1.6.4" # Starting in wpewebkit 2.46.1, our ConnectCore demo is broken due to clicks # not being registered in the demo's main area. This doesn't happen in 2.44.4, # so use that version while we look for a fix in the newer version. PREFERRED_VERSION_wpewebkit ?= "2.44.4" # There's a generic opencl-headers recipe in the thud branch of # meta-openembedded, but we should use the package provided by the imx-gpu-viv # recipe in case there are NXP-specific changes in it PREFERRED_PROVIDER_opencl-headers ?= "imx-gpu-viv" # Use the FDO backend for WPE WebKit PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo" SDKPATHINSTALL = "/opt/${DISTRO}/${SDK_VERSION}/${MACHINE}" # Some packages need this (e.g. gstreamer1.0-plugins-ugly) LICENSE_FLAGS_ACCEPTED += "commercial" # Use systemd init manager by default INIT_MANAGER = "systemd" # Enable examples for some QT packages PACKAGECONFIG:append:class-target:pn-qtbase = " examples" PACKAGECONFIG:append:class-target:pn-qtdeclarative = " examples" PACKAGECONFIG:append:class-target:pn-qtquick3d = " examples" PACKAGECONFIG:append:class-target:pn-qtwebengine = " examples" # Remove unnecessary libarchive configurations to trim down the recovery image, # while keeping the "zlib" one to make sure our file update mechanism still # works (libarchive needs to be able to handle .tar.gz files, every other # format can be omitted). PACKAGECONFIG:remove:class-target:pn-libarchive = "bz2 xz lzo zstd acl xattr" # cryptsetup still works as expected in our eMMC partition encryption use case # when udev support is disabled, so remove it to avoid dragging a bunch of # dependencies into the recovery and trustfence initramfs. PACKAGECONFIG:remove:class-target:pn-cryptsetup = "udev" # gstreamer's rsvg plugin is enabled by default in all of our platforms where # gstreamer1.0-plugins-bad is used, which is most of them. This plugin depends # on librsvg, a small library implemented in Rust. For some of our platforms, # it's the only package in our default DEY images that requires bitbake to # generate the Rust compiler, which is a lengthy process. Disable the gstreamer # rsvg plugin to remove this dependency and the Rust compiler overhead. PACKAGECONFIG:remove:pn-gstreamer1.0-plugins-bad = "rsvg"