1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
require conf/distro/poky.conf
# AGL specific derivations
DISTRO = "poky-agl"
DISTRO_NAME = "Automotive Grade Linux"
# Release flags
DISTRO_CODENAME = "flounder"
AGL_BRANCH = "flounder"
AGLVERSION = "6.0.3"
# switch devel/release
AGLRELEASETYPE ?= "agldevelopment"
#AGLRELEASETYPE ?= "aglrelease"
OVERRIDES .= ":${AGLRELEASETYPE}"
#
#for development
DISTRO_VERSION_agldevelopment := "${AGLVERSION}+snapshot-${DATE}"
AGL_APP_REVISION_agldevelopment = "${AUTOREV}"
#for release
DISTRO_VERSION_aglrelease := "${AGLVERSION}"
DISTRO_BRANCH_VERSION_TAG = "flounder/${@'${DISTRO_VERSION}'.replace('+snapshot-${DATE}','')}"
AGL_APP_REVISION_aglrelease := "refs/tags/${DISTRO_BRANCH_VERSION_TAG}"
# 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>"
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}"
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 =+ "\
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"
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 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_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}"
#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 compressed tarball + ext4.xz
AGL_DEFAULT_IMAGE_FSTYPES ?= "tar.xz ${@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}"
# 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"
# For https://jira.automotivelinux.org/browse/SPEC-1677
# Some issues appear, with the yocto version of valgrind, on aarch64.
# (valgrind exits due to an unhandled instruction')
PREFERRED_VERSION_valgrind ?= "git"
|