require conf/distro/poky.conf
# AGL specific derivations
DISTRO = "poky-agl"
DISTRO_NAME = "Automotive Grade Linux"
# Release flags
DISTRO_CODENAME = "jellyfish"
AGL_BRANCH = "jellyfish"
AGLVERSION = "10.0.1"
# switch devel/release
#AGLRELEASETYPE ?= "agldevelopment"
AGLRELEASETYPE ?= "aglrelease"
OVERRIDES .= ":${AGLRELEASETYPE}"
#
#for development
DISTRO_VERSION_agldevelopment := "${AGLVERSION}+snapshot-${DATE}"
AGL_APP_REVISION_agldevelopment = "${AUTOREV}"
AGL_DEFAULT_REVISION_agldevelopment = "${AUTOREV}"
#for release
DISTRO_VERSION_aglrelease := "${AGLVERSION}"
DISTRO_BRANCH_VERSION_TAG = "${DISTRO_CODENAME}/${@'${DISTRO_VERSION}'.replace('+snapshot-${DATE}','')}"
AGL_APP_REVISION_aglrelease := "refs/tags/${DISTRO_BRANCH_VERSION_TAG}"
AGL_DEFAULT_REVISION_aglrelease := "refs/tags/${DISTRO_BRANCH_VERSION_TAG}"
# reproducible builds:
# enable the flag
BUILD_REPRODUCIBLE_BINARIES = "1"
# Set the desired timestamps
export SOURCE_DATE_EPOCH = "1593400000"
REPRODUCIBLE_TIMESTAMP_ROOTFS = "1593400000"
# inherit the class
INHERIT += "reproducible_build"
# SDK
SDK_VENDOR = "-aglsdk"
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
# SDKPATH is the folder where the SDK is going to be installed
# Due to an issue with the qt5 environment (see SPEC-1667),
# we add DEFAULTTUNE to the SDKPATH to mitigate the issue.
SDKPATH = "/opt/agl-sdk/${SDK_VERSION}-${DEFAULTTUNE}"
MAINTAINER = "AGL https://lists.automotivelinux.org/g/agl-dev-community"
TARGET_VENDOR = "-agl"
# Override these in poky based distros
AGL_DEFAULT_DISTRO_FEATURES = "largefile systemd opengl wayland pam bluetooth bluez5 3g polkit"
POKY_DEFAULT_DISTRO_FEATURES := "${AGL_DEFAULT_DISTRO_FEATURES}"
OVERRIDES .= ":${DISTRO_CODENAME}"
QEMU_TARGETS ?= "arm aarch64 i386 x86_64"
# Other QEMU_TARGETS "mips mips64 mips64el ppc sh4"
MIRRORS =+ "\
bzr://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
cvs://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
git://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
gitsm://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
hg://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
osc://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
p4://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
svn://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
bzr://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
cvs://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
git://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
gitsm://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
hg://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
osc://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
p4://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
svn://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
\
ftp://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
http://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
https://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
ftp://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
http://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
https://.*/.* http://download.automotivelinux.org/AGL/mirror/ \n \
"
# The CONNECTIVITY_CHECK_URI's are used to test whether we can succesfully
# fetch from the network (and warn you if not). To disable the test set
# the variable to be empty.
# Git example url: git://git.yoctoproject.org/yocto-firewall-test;protocol=git;rev=HEAD
CONNECTIVITY_CHECK_URIS ?= ""
PREFERRED_PROVIDER_udev ?= "systemd"
PREFERRED_PROVIDER_udev-utils ?= "systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = ""
# network manager to use (possible values: systemd, connman)
VIRTUAL-RUNTIME_net_manager = "connman"
DISTRO_FEATURES_APPEND = " "
DISTRO_FEATURES_remove = "x11"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit pulseaudio"
# Prefer GStreamer 1.16.x by default
PREFERRED_VERSION_gstreamer1.0 ?= "1.16.%"
PREFERRED_VERSION_gstreamer1.0-plugins-bad ?= "1.16.%"
PREFERRED_VERSION_gstreamer1.0-plugins-base ?= "1.16.%"
PREFERRED_VERSION_gstreamer1.0-plugins-good ?= "1.16.%"
PREFERRED_VERSION_gstreamer1.0-plugins-ugly ?= "1.16.%"
PREFERRED_VERSION_gstreamer1.0-libav ?= "1.16.%"
PREFERRED_VERSION_gstreamer1.0-omx ?= "1.16.%"
# Prefer libjpeg-turbo
PREFERRED_PROVIDER_jpeg = "libjpeg-turbo"
# using multiple BSP layers causes dangling bbappends in meta-agl-bsp
# turn it into a warning
#BB_DANGLINGAPPENDS_WARNONLY = "1"
# Not yet upstreamed; should be submitted.
SECURITY_CFLAGS_pn-qtwebengine = "${SECURITY_NO_PIE_CFLAGS}"
#Redefined USER_CLASSES
#Disable prelink. It is unmaintained and likely will go away.
#default: USER_CLASSES ?= "buildstats image-mklibs image-prelink"
USER_CLASSES = "buildstats image-mklibs"
# AGL uses 4 optimization levels
# 2 for ARM 32bit
# - a high and a medium setting for the CCARGS
# - the high setting is default (needs >= cortex-a15)
# - the medium setting is enabled with: DISTRO_FEATURES_append = " agl-medium-arm-compiler "
# 1 for ARM 64bit / AARCH64
# 1 for x86-64
require conf/distro/include/${TARGET_ARCH}-tune.inc
# Generic qemu and qemuboot (runqemu) enhancements
# check qemuboot.bbclass
# - use 2G RAM by default
QB_MEM ?= "-m 2048"
# use pulseaudio on the host side - off as qemu-native is built with alsa
#QB_AUDIO_DRV = "pa"
# expose a virtual 'hda' sound card to the guest (arm/aarch64/x86-64)
QB_AUDIO_OPT = "-soundhw hda"
# Board templates can add extra IMAGE_FSTYPES through this.
# It is added (late) through the AGL image recipes.
AGL_EXTRA_IMAGE_FSTYPES ??= ""
AGL_EXTRA_INITRAMFS_FSTYPES ??= ""
#
# Default IMAGE FSTYPES wic.xz
AGL_DEFAULT_IMAGE_FSTYPES ?= "wic.xz wic.bmap wic.xz.sha256sum"
AGL_DEFAULT_IMAGE_FSTYPES_qemuall ?= "${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}"
AGL_DEFAULT_IMAGE_FSTYPES_append_netboot = " ${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}"
AGL_DEFAULT_INITRAMFS_FSTYPES ?= "ext4.gz"
# DEFAULT IMAGE_FSTYPES for AGL (no - BSPs should not set this)
#
IMAGE_FSTYPES := "${AGL_DEFAULT_IMAGE_FSTYPES} ${AGL_EXTRA_IMAGE_FSTYPES}"
INITRAMFS_FSTYPES := "${AGL_DEFAULT_INITRAMFS_FSTYPES} ${AGL_EXTRA_INITRAMFS_FSTYPES}"
#
# THE FUTURE is 'wic'
# IMAGE_FSTYPES_append = " wic"
# enable the packagemanagement
IMAGE_FEATURES =+ "package-management"
PACKAGE_FEED_URIS = "http://192.168.7.1:8000/tmp/deploy/"
PACKAGE_FEED_BASE_PATHS = "rpm"
PACKAGE_FEED_ARCHS = ""
#${PACKAGE_ARCHS}"
# Complementary package definitions for agl-test-wgt and agl-devel-wgt
# image features
COMPLEMENTARY_GLOB[agl-test-wgt] = '*-test'
COMPLEMENTARY_GLOB[agl-devel-wgt] = '*-coverage *-debug'
# Fix for rpm metadata clash between nativesdk-cmake and nativesdk-qtbase-tools
# (revalidate after 2017-10-15, 2018-06-12: still required)
DIRFILES_pn-nativesdk-cmake = "1"
# For https://jira.automotivelinux.org/browse/SPEC-1629 :
# We exclude the conflicting vars from the sstate task hash.
# This needs to be verified.
do_package_write_rpm[vardepsexclude] += "ARCHIVER_TOPDIR PF"
# Set preferred provider to new navi application
PREFERRED_RPROVIDER_virtual/navigation ?= "ondemandnavi"
# Set preferred provider for low-can device mapping configuration
PREFERRED_RPROVIDER_virtual/low-can-dev-mapping ?= "dev-mapping"
# Mask upstream meta-security bbappend that interferes with non-linux-yocto
# kernels due to the bug of having two wildcards, which bitbake does not
# support. Not having it is not an issue, since there is also explicit
# enabling of required security features done by meta-agl/meta-security.
BBMASK += "meta-security/recipes-kernel/linux/linux-%_5.%.bbappend"
# Workaround for https://jira.automotivelinux.org/browse/SPEC-3621
# TLDR: do_image_wic will modify the target's /etc/fstab while
# do_image_tar and do_image_ext4 can run in parallel
# This needs to be fixed upstream:
# See https://bugzilla.yoctoproject.org/show_bug.cgi?id=13994
# For convenience restricted to ext4 and tar image types.
AGL_FORBID_FSTAB_UPDATE ?= "${@bb.utils.contains_any('IMAGE_FSTYPES', 'ext4 ext4.xz tar tar.gz tar.bz2 tar.xz', '--no-fstab-update', '', d)}"
WIC_CREATE_EXTRA_ARGS_append = " ${AGL_FORBID_FSTAB_UPDATE}"