Prepare Jumping Jellyfish 10.0.3 release
[AGL/meta-agl.git] / meta-agl-distro / conf / distro / poky-agl.conf
index cc8b6b8..a94aaab 100644 (file)
@@ -3,49 +3,86 @@ require conf/distro/poky.conf
 # AGL specific derivations
 DISTRO = "poky-agl"
 DISTRO_NAME = "Automotive Grade Linux"
-#DISTRO_VERSION = "5.99.1+snapshot-${DATE}"
-DISTRO_VERSION := "5.99.1"
-DISTRO_CODENAME = "flounder"
-DISTRO_BRANCH_VERSION_TAG := "flounder/${@'${DISTRO_VERSION}'.replace('+snapshot-${DATE}','')}"
-SDK_VENDOR = "-aglsdk"
-SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
 
-AGL_BRANCH = "master"
+
+# Release flags
+DISTRO_CODENAME = "jellyfish"
+AGL_BRANCH = "jellyfish"
+AGLVERSION = "10.0.3"
+# switch  devel/release
+#AGLRELEASETYPE ?= "agldevelopment"
+AGLRELEASETYPE ?= "aglrelease"
+OVERRIDES .= ":${AGLRELEASETYPE}"
+#
 
 #for development
-#AGL_APP_REVISION = "${AUTOREV}"
-#AGL_DEFAULT_REVISION = "${AUTOREV}"
+DISTRO_VERSION_agldevelopment := "${AGLVERSION}+snapshot-${DATE}"
+AGL_APP_REVISION_agldevelopment = "${AUTOREV}"
+AGL_DEFAULT_REVISION_agldevelopment = "${AUTOREV}"
+
 #for release
-AGL_APP_REVISION = "refs/tags/${DISTRO_BRANCH_VERSION_TAG}"
-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
@@ -64,18 +101,16 @@ VIRTUAL-RUNTIME_net_manager = "connman"
 
 DISTRO_FEATURES_APPEND = " "
 DISTRO_FEATURES_remove = "x11"
-DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
+DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit pulseaudio"
 
-PREFERRED_VERSION_wayland-ivi-extension ?= "2.0.%"
-
-# Prefer GStreamer 1.10.x by default
-PREFERRED_VERSION_gstreamer1.0              ?= "1.12.%"
-PREFERRED_VERSION_gstreamer1.0-plugins-bad  ?= "1.12.%"
-PREFERRED_VERSION_gstreamer1.0-plugins-base ?= "1.12.%"
-PREFERRED_VERSION_gstreamer1.0-plugins-good ?= "1.12.%"
-PREFERRED_VERSION_gstreamer1.0-plugins-ugly ?= "1.12.%"
-PREFERRED_VERSION_gstreamer1.0-libav        ?= "1.12.%"
-PREFERRED_VERSION_gstreamer1.0-omx          ?= "1.12.%"
+# 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"
@@ -84,25 +119,6 @@ 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}"
 
@@ -134,8 +150,10 @@ QB_AUDIO_OPT = "-soundhw hda"
 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)
@@ -153,7 +171,37 @@ 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 ?= "${@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}"