meta-digi: rework distro features configuration

Instead of changing POKY_DEFAULT_DISTRO_FEATURES, do the distro features
configuration directly in the DISTRO_FEATURES variable. Also, add a couple
of variables (MACHINE_DISTRO_FEATURES_ADD/REMOVE) that allow machines
for extra tweaking the distro features.

While on it, clean up some distro features:

  - pulseaudio: already added by DISTRO_FEATURES_BACKFILL
  - bluez5, splashscreen, initrd, gplv3: not used (dead code)

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit is contained in:
Javier Viguera 2023-03-22 11:46:53 +01:00
parent c30b947408
commit c01c394806
9 changed files with 20 additions and 75 deletions

View File

@ -144,29 +144,9 @@ XBEE_TTY ?= "ttySTM2"
# ========================================================================= # =========================================================================
ALSA_LIST = "" ALSA_LIST = ""
# ========================================================================= # Per-machine DISTRO_FEATURES customization
# DISTRO features MACHINE_DISTRO_FEATURES_ADD = "efi optee"
# ========================================================================= MACHINE_DISTRO_FEATURES_REMOVE = "gstreamer opengl vulkan wayland x11"
DISTRO_FEATURES:remove = " opengl "
DISTRO_FEATURES:remove = " x11 "
# add support of optee
DISTRO_FEATURES:append = " optee "
# add support of splashscreen
#DISTRO_FEATURES:append = " splashscreen "
# add support of systemd
DISTRO_FEATURES:append = " systemd "
# add support of efi
DISTRO_FEATURES:append = " efi "
# add support of InitRD installation package
DISTRO_FEATURES:append = " initrd "
# add support to pulseaudio
DISTRO_FEATURES:append = "pulseaudio"
# Disable use of vendorfs partition # Disable use of vendorfs partition
ST_VENDORFS = "0" ST_VENDORFS = "0"

View File

@ -148,36 +148,9 @@ XBEE_TTY ?= "ttySTM2"
# ========================================================================= # =========================================================================
ALSA_LIST = "" ALSA_LIST = ""
# ========================================================================= # Per-machine DISTRO_FEATURES customization
# DISTRO features MACHINE_DISTRO_FEATURES_ADD = "efi optee"
# ========================================================================= MACHINE_DISTRO_FEATURES_REMOVE = "vulkan x11"
DISTRO_FEATURES:append = " opengl"
DISTRO_FEATURES:remove = " x11 "
DISTRO_FEATURES:append = " gplv3 "
# add support of gstreamer
DISTRO_FEATURES:append = " gstreamer "
# add support of optee
DISTRO_FEATURES:append = " optee "
# add support of splashscreen
DISTRO_FEATURES:append = " splashscreen "
# add support of wayland
DISTRO_FEATURES:append = " wayland pam "
# add support of systemd
DISTRO_FEATURES:append = " systemd "
# add support of efi
DISTRO_FEATURES:append = " efi "
# add support of InitRD installation package
DISTRO_FEATURES:append = " initrd "
# add support to pulseaudio
DISTRO_FEATURES:append = "pulseaudio"
# Disable use of vendorfs partition # Disable use of vendorfs partition
ST_VENDORFS = "0" ST_VENDORFS = "0"

View File

@ -33,9 +33,8 @@ MACHINE_FEATURES += "accel-graphics wifi bluetooth pci"
# TrustFence # TrustFence
TRUSTFENCE_SIGN_MODE = "HAB" TRUSTFENCE_SIGN_MODE = "HAB"
# Adding 'wayland' along with 'x11' enables the xwayland backend # Per-machine DISTRO_FEATURES customization
# Adding pam is required for SELinux functionality MACHINE_DISTRO_FEATURES_REMOVE = "vulkan"
DISTRO_FEATURES:append = " wayland pam"
# SWUpdate sw-description configuration # SWUpdate sw-description configuration
BOOTFS_EXT ?= ".boot.vfat" BOOTFS_EXT ?= ".boot.vfat"

View File

@ -47,6 +47,9 @@ MKUBIFS_ARGS ?= "-m 2048 -e 126976 -c 8191"
# TrustFence # TrustFence
TRUSTFENCE_SIGN_MODE = "HAB" TRUSTFENCE_SIGN_MODE = "HAB"
# Per-machine DISTRO_FEATURES customization
MACHINE_DISTRO_FEATURES_REMOVE = "vulkan wayland"
# SWUpdate sw-description configuration # SWUpdate sw-description configuration
BOOTFS_EXT ?= ".boot.ubifs" BOOTFS_EXT ?= ".boot.ubifs"
ROOTFS_EXT ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", ".squashfs", ".ubifs", d)}' ROOTFS_EXT ?= '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", ".squashfs", ".ubifs", d)}'

View File

@ -52,10 +52,6 @@ MACHINE_FEATURES += "accel-graphics wifi bluetooth cryptochip mca optee"
# TrustFence # TrustFence
TRUSTFENCE_SIGN_MODE = "HAB" TRUSTFENCE_SIGN_MODE = "HAB"
# Adding 'wayland' along with 'x11' enables the xwayland backend
# Vulkan is necessary for wayland to build
DISTRO_FEATURES:append = " wayland vulkan systemd pam"
# SWUpdate sw-description configuration # SWUpdate sw-description configuration
BOOTFS_EXT ?= ".boot.vfat" BOOTFS_EXT ?= ".boot.vfat"
ROOTFS_EXT ?= ".ext4.gz" ROOTFS_EXT ?= ".ext4.gz"

View File

@ -69,10 +69,6 @@ MACHINE_FEATURES += "accel-graphics wifi bluetooth cryptochip pci mca"
# TrustFence # TrustFence
TRUSTFENCE_SIGN_MODE = "AHAB" TRUSTFENCE_SIGN_MODE = "AHAB"
# Adding 'wayland' along with 'x11' enables the xwayland backend
# Vulkan is necessary for wayland to build
DISTRO_FEATURES:append = " wayland vulkan systemd pam"
# SWUpdate sw-description configuration # SWUpdate sw-description configuration
BOOTFS_EXT ?= ".boot.vfat" BOOTFS_EXT ?= ".boot.vfat"
ROOTFS_EXT ?= ".ext4.gz" ROOTFS_EXT ?= ".ext4.gz"

View File

@ -62,8 +62,8 @@ BT_TTY ?= "ttyLP0"
# Add additional firmware # Add additional firmware
MACHINE_FIRMWARE:append = " ethos-u-firmware" MACHINE_FIRMWARE:append = " ethos-u-firmware"
# Adding 'wayland' along with 'x11' enables the xwayland backend # Per-machine DISTRO_FEATURES customization
DISTRO_FEATURES:append = " wayland pam" MACHINE_DISTRO_FEATURES_REMOVE = "vulkan"
# SWUpdate sw-description configuration # SWUpdate sw-description configuration
BOOTFS_EXT ?= ".boot.vfat" BOOTFS_EXT ?= ".boot.vfat"

View File

@ -292,9 +292,6 @@ MACHINE_FEATURES = "usbgadget usbhost vfat alsa touchscreen"
# IMX specific udev extra rules added when device manager is systemd/udev # IMX specific udev extra rules added when device manager is systemd/udev
UDEV_EXTRA_RULES:append = " udev-rules-imx" UDEV_EXTRA_RULES:append = " udev-rules-imx"
# Add a generic gstreamer distro feature for all IMX platforms
DISTRO_FEATURES:append = " gstreamer"
# U-Boot 2017.X requires a specific dtc version. # U-Boot 2017.X requires a specific dtc version.
PREFERRED_VERSION_dtc-native:ccimx6 ?= "1.4.5" PREFERRED_VERSION_dtc-native:ccimx6 ?= "1.4.5"
PREFERRED_VERSION_nativesdk-dtc:ccimx6 ?= "1.4.5" PREFERRED_VERSION_nativesdk-dtc:ccimx6 ?= "1.4.5"

View File

@ -10,15 +10,16 @@ MAINTAINER = "Digi Support <tech.support@digi.com>"
TARGET_VENDOR = "-dey" TARGET_VENDOR = "-dey"
POKY_DEFAULT_DISTRO_FEATURES = "largefile opengl ptest multiarch wayland bluez5 cellular"
POKY_DEFAULT_EXTRA_RDEPENDS = "packagegroup-dey-core" POKY_DEFAULT_EXTRA_RDEPENDS = "packagegroup-dey-core"
POKY_DEFAULT_EXTRA_RRECOMMENDS = "" POKY_DEFAULT_EXTRA_RRECOMMENDS = ""
# Removed DISTRO_FEATURES #
# 'wayland' -> only supported on the i.MX8 QXP # Rework distro features for DEY distribution
# 'ptest' -> fails to build QT5 toolchain #
DISTRO_FEATURES_DEFAULT:remove = "3g nfc nfs zeroconf" MACHINE_DISTRO_FEATURES_ADD ?= ""
POKY_DEFAULT_DISTRO_FEATURES:remove = "ptest wayland" 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', \ GRAPHICAL_BACKEND = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', \
bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \ bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \