From be2f69556bc35885454bb51b7fbc1b188b9e7e27 Mon Sep 17 00:00:00 2001 From: Jan-Simon Möller Date: Fri, 3 Mar 2017 14:28:34 +0100 Subject: Splice out distro configuration in own layer for compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream is working on guidelines for DISTRO and BSP layers. One outcome is the yocto-compat-layer tool. A requirement for BSP and DISTRO layers is that they are single-purpose aka just defining the distro and only defining the BSP. To comply with this, move the distro out into meta-agl-distro and adapt the templates. Bug-AGL: SPEC-472 Change-Id: I921127edc78e677bd75d42a793f0b3708a54dd79 Signed-off-by: Jan-Simon Möller --- .../conf/distro/include/arm-default-tune.inc | 18 +++++ meta-agl-distro/conf/distro/poky-agl.conf | 85 ++++++++++++++++++++++ meta-agl-distro/conf/layer.conf | 10 +++ meta-agl/conf/distro/poky-agl.conf | 85 ---------------------- templates/base/bblayers.conf.sample | 1 + 5 files changed, 114 insertions(+), 85 deletions(-) create mode 100644 meta-agl-distro/conf/distro/include/arm-default-tune.inc create mode 100644 meta-agl-distro/conf/distro/poky-agl.conf create mode 100644 meta-agl-distro/conf/layer.conf delete mode 100644 meta-agl/conf/distro/poky-agl.conf diff --git a/meta-agl-distro/conf/distro/include/arm-default-tune.inc b/meta-agl-distro/conf/distro/include/arm-default-tune.inc new file mode 100644 index 000000000..5a6f44fe5 --- /dev/null +++ b/meta-agl-distro/conf/distro/include/arm-default-tune.inc @@ -0,0 +1,18 @@ +def arm_tune_handler(d): + features = d.getVar('TUNE_FEATURES', True).split() + if 'armv7a' in features or 'armv7ve' in features: + tune = 'armv7athf' + if 'bigendian' in features: + tune += 'b' + if 'vfpv3' in features: + tune += '-vfpv3' + if 'vfpv3d16' in features: + tune += '-vfpv3d16' + if 'neon' in features: + tune += '-neon' + if 'vfpv4' in features: + tune += '-vfpv4' + else: + tune = d.getVar('DEFAULTTUNE', True) + return tune +DEFAULTTUNE_agl := "${@arm_tune_handler(d)}" diff --git a/meta-agl-distro/conf/distro/poky-agl.conf b/meta-agl-distro/conf/distro/poky-agl.conf new file mode 100644 index 000000000..94e4f8000 --- /dev/null +++ b/meta-agl-distro/conf/distro/poky-agl.conf @@ -0,0 +1,85 @@ +require conf/distro/poky.conf + +# AGL specific derivations +DISTRO = "poky-agl" +DISTRO_NAME = "Automotive Grade Linux" +DISTRO_VERSION = "3.90.0+snapshot-${DATE}" +DISTRO_CODENAME = "dab" +SDK_VENDOR = "-aglsdk" +SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}" + +MAINTAINER = "AGL " + +TARGET_VENDOR = "-agl" + +# Override these in poky based distros +AGL_DEFAULT_DISTRO_FEATURES = "largefile systemd opengl wayland pam bluetooth bluez5" +POKY_DEFAULT_DISTRO_FEATURES := "${AGL_DEFAULT_DISTRO_FEATURES}" + +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 =+ "\ +ftp://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \ +http://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \ +https://.*/.* https://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" + + +# Prefer GStreamer 1.8.x by default +PREFERRED_VERSION_gstreamer1.0 ?= "1.8%" +PREFERRED_VERSION_gstreamer1.0-plugins-bad ?= "1.8%" +PREFERRED_VERSION_gstreamer1.0-plugins-base ?= "1.8%" +PREFERRED_VERSION_gstreamer1.0-plugins-good ?= "1.8%" +PREFERRED_VERSION_gstreamer1.0-plugins-ugly ?= "1.8%" +PREFERRED_VERSION_gstreamer1.0-libav ?= "1.8%" +PREFERRED_VERSION_gstreamer1.0-omx ?= "1.8%" + +# 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" + +# 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_NO_PIE_CFLAGS}" +SECURITY_STRINGFORMAT_pn-gpm = "" +SECURITY_CFLAGS_pn-libdbus-c++ = "" +SECURITY_LDFLAGS_pn-libdbus-c++ = "" + +#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" diff --git a/meta-agl-distro/conf/layer.conf b/meta-agl-distro/conf/layer.conf new file mode 100644 index 000000000..74527516a --- /dev/null +++ b/meta-agl-distro/conf/layer.conf @@ -0,0 +1,10 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH =. "${LAYERDIR}:" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "agl-distro" +BBFILE_PATTERN_agl-distro = "^${LAYERDIR}/" +BBFILE_PRIORITY_agl-distro = "8" diff --git a/meta-agl/conf/distro/poky-agl.conf b/meta-agl/conf/distro/poky-agl.conf deleted file mode 100644 index 94e4f8000..000000000 --- a/meta-agl/conf/distro/poky-agl.conf +++ /dev/null @@ -1,85 +0,0 @@ -require conf/distro/poky.conf - -# AGL specific derivations -DISTRO = "poky-agl" -DISTRO_NAME = "Automotive Grade Linux" -DISTRO_VERSION = "3.90.0+snapshot-${DATE}" -DISTRO_CODENAME = "dab" -SDK_VENDOR = "-aglsdk" -SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}" - -MAINTAINER = "AGL " - -TARGET_VENDOR = "-agl" - -# Override these in poky based distros -AGL_DEFAULT_DISTRO_FEATURES = "largefile systemd opengl wayland pam bluetooth bluez5" -POKY_DEFAULT_DISTRO_FEATURES := "${AGL_DEFAULT_DISTRO_FEATURES}" - -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 =+ "\ -ftp://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \ -http://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \ -https://.*/.* https://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" - - -# Prefer GStreamer 1.8.x by default -PREFERRED_VERSION_gstreamer1.0 ?= "1.8%" -PREFERRED_VERSION_gstreamer1.0-plugins-bad ?= "1.8%" -PREFERRED_VERSION_gstreamer1.0-plugins-base ?= "1.8%" -PREFERRED_VERSION_gstreamer1.0-plugins-good ?= "1.8%" -PREFERRED_VERSION_gstreamer1.0-plugins-ugly ?= "1.8%" -PREFERRED_VERSION_gstreamer1.0-libav ?= "1.8%" -PREFERRED_VERSION_gstreamer1.0-omx ?= "1.8%" - -# 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" - -# 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_NO_PIE_CFLAGS}" -SECURITY_STRINGFORMAT_pn-gpm = "" -SECURITY_CFLAGS_pn-libdbus-c++ = "" -SECURITY_LDFLAGS_pn-libdbus-c++ = "" - -#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" diff --git a/templates/base/bblayers.conf.sample b/templates/base/bblayers.conf.sample index ebba0d7f7..12f750c70 100644 --- a/templates/base/bblayers.conf.sample +++ b/templates/base/bblayers.conf.sample @@ -25,6 +25,7 @@ YOCTO_LAYERS = " \ AGL_CORE_LAYERS = " \ ${METADIR}/meta-agl/meta-ivi-common \ ${METADIR}/meta-agl/meta-agl \ + ${METADIR}/meta-agl/meta-agl-distro \ ${METADIR}/meta-agl/meta-agl-bsp \ " -- cgit