# AGL specific derivations
DISTRO = "poky-agl"
DISTRO_NAME = "Automotive Grade Linux"
-DISTRO_VERSION = "4.99.2+snapshot-${DATE}"
-#DISTRO_VERSION = "4.99.2"
-DISTRO_CODENAME = "eel"
-DISTRO_BRANCH_VERSION_TAG = "eel/4.99.2"
-SDK_VENDOR = "-aglsdk"
-SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
-AGL_BRANCH = "master"
-#for development
-AGL_APP_REVISION = "${AUTOREV}"
-#for release
-#AGL_APP_REVISION = "refs/tags/${DISTRO_BRANCH_VERSION_TAG}"
+
+# Release flags
+DISTRO_CODENAME = "jellyfish"
+AGL_BRANCH = "jellyfish"
+AGLVERSION = "10.0.3"
+# switch devel/release
+#AGLRELEASETYPE ?= "agldevelopment"
+AGLRELEASETYPE ?= "aglrelease"
+OVERRIDES .= ":${AGLRELEASETYPE}"
+#
+
#for development
-AGL_DEFAULT_REVISION = "${AUTOREV}"
+DISTRO_VERSION_agldevelopment := "${AGLVERSION}+snapshot-${DATE}"
+AGL_APP_REVISION_agldevelopment = "${AUTOREV}"
+AGL_DEFAULT_REVISION_agldevelopment = "${AUTOREV}"
+
#for release
-#AGL_DEFAULT_REVISION = "refs/tags/${DISTRO_BRANCH_VERSION_TAG}"
+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 <automotive-discussions@lists.linuxfoundation.org>"
+
+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"
+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"
-PREMIRRORS ??= "\
-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"
-
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"
+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
DISTRO_FEATURES_APPEND = " "
DISTRO_FEATURES_remove = "x11"
-DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
+DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit pulseaudio"
-
-# Prefer GStreamer 1.10.x by default
-PREFERRED_VERSION_gstreamer1.0 ?= "1.10.%"
-PREFERRED_VERSION_gstreamer1.0-plugins-bad ?= "1.10.%"
-PREFERRED_VERSION_gstreamer1.0-plugins-base ?= "1.10.%"
-PREFERRED_VERSION_gstreamer1.0-plugins-good ?= "1.10.%"
-PREFERRED_VERSION_gstreamer1.0-plugins-ugly ?= "1.10.%"
-PREFERRED_VERSION_gstreamer1.0-libav ?= "1.10.%"
-PREFERRED_VERSION_gstreamer1.0-omx ?= "1.2.%"
+# 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"
# turn it into a warning
#BB_DANGLINGAPPENDS_WARNONLY = "1"
-# enforce security-related compiler flags by default
-require conf/distro/include/security_flags.inc
-# required overrides, upstreamed but not merged yet:
-# http://lists.openembedded.org/pipermail/openembedded-devel/2016-June/107727.html
-SECURITY_CFLAGS_pn-llvm3.3 = ""
-SECURITY_LDFLAGS_remove_pn-llvm3.3 = "-fstack-protector-strong"
-SECURITY_STRINGFORMAT_pn-gpm = ""
-SECURITY_CFLAGS_pn-libdbus-c++ = ""
-SECURITY_LDFLAGS_pn-libdbus-c++ = ""
-
-# more than 2 targets fail to compile these with the SECURITY compiler flags:
-# Bug tracked as SPEC-593
-SECURITY_CFLAGS_pn-mozjs = ""
-SECURITY_LDFLAGS_pn-mozjs = ""
-SECURITY_CFLAGS_pn-gpm = ""
-SECURITY_LDFLAGS_pn-gpm = ""
-SECURITY_CFLAGS_pn-libatasmart = ""
-SECURITY_LDFLAGS_pn-libatasmart = ""
-
# Not yet upstreamed; should be submitted.
SECURITY_CFLAGS_pn-qtwebengine = "${SECURITY_NO_PIE_CFLAGS}"
-SECURITY_CFLAGS_pn-mxml = ""
#Redefined USER_CLASSES
#Disable prelink. It is unmaintained and likely will go away.
AGL_EXTRA_IMAGE_FSTYPES ??= ""
AGL_EXTRA_INITRAMFS_FSTYPES ??= ""
#
-# Default IMAGE FSTYPES compressed tarball + ext4.xz
-AGL_DEFAULT_IMAGE_FSTYPES ?= "tar.xz ${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}"
+# 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)
# 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)
+# (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 ?= "${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'dev-mapping-ci', 'dev-mapping', d)}"
+
+# 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}"