abb77a059f480e01e5a0b119453678db124aea92
[AGL/meta-agl.git] / meta-agl-distro / conf / distro / poky-agl.conf
1 require conf/distro/poky.conf
2
3 # AGL specific derivations
4 DISTRO = "poky-agl"
5 DISTRO_NAME = "Automotive Grade Linux"
6
7
8 # Release flags
9 DISTRO_CODENAME = "jellyfish"
10 AGL_BRANCH = "jellyfish"
11 AGLVERSION = "10.0.2"
12 # switch  devel/release
13 AGLRELEASETYPE ?= "agldevelopment"
14 #AGLRELEASETYPE ?= "aglrelease"
15 OVERRIDES .= ":${AGLRELEASETYPE}"
16 #
17
18 #for development
19 DISTRO_VERSION_agldevelopment := "${AGLVERSION}+snapshot-${DATE}"
20 AGL_APP_REVISION_agldevelopment = "${AUTOREV}"
21 AGL_DEFAULT_REVISION_agldevelopment = "${AUTOREV}"
22
23 #for release
24 DISTRO_VERSION_aglrelease := "${AGLVERSION}"
25 DISTRO_BRANCH_VERSION_TAG = "${DISTRO_CODENAME}/${@'${DISTRO_VERSION}'.replace('+snapshot-${DATE}','')}"
26 AGL_APP_REVISION_aglrelease := "refs/tags/${DISTRO_BRANCH_VERSION_TAG}"
27 AGL_DEFAULT_REVISION_aglrelease := "refs/tags/${DISTRO_BRANCH_VERSION_TAG}"
28
29 # reproducible builds:
30 # enable the flag
31 BUILD_REPRODUCIBLE_BINARIES = "1"
32 # Set the desired timestamps
33 export SOURCE_DATE_EPOCH = "1593400000"
34 REPRODUCIBLE_TIMESTAMP_ROOTFS = "1593400000"
35 # inherit the class
36 INHERIT += "reproducible_build"
37
38
39 # SDK
40 SDK_VENDOR = "-aglsdk"
41 SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
42
43 # SDKPATH is the folder where the SDK is going to be installed
44 # Due to an issue with the qt5 environment (see SPEC-1667),
45 # we add DEFAULTTUNE to the SDKPATH to mitigate the issue.
46 SDKPATH = "/opt/agl-sdk/${SDK_VERSION}-${DEFAULTTUNE}"
47
48
49 MAINTAINER = "AGL https://lists.automotivelinux.org/g/agl-dev-community"
50
51 TARGET_VENDOR = "-agl"
52
53 # Override these in poky based distros
54 AGL_DEFAULT_DISTRO_FEATURES = "largefile systemd opengl wayland pam bluetooth bluez5 3g polkit"
55 POKY_DEFAULT_DISTRO_FEATURES := "${AGL_DEFAULT_DISTRO_FEATURES}"
56 OVERRIDES .= ":${DISTRO_CODENAME}"
57
58 QEMU_TARGETS ?= "arm aarch64 i386 x86_64"
59 # Other QEMU_TARGETS "mips mips64 mips64el ppc sh4"
60
61 MIRRORS =+ "\
62 bzr://.*/.*      https://download.automotivelinux.org/AGL/mirror/ \n \
63 cvs://.*/.*      https://download.automotivelinux.org/AGL/mirror/ \n \
64 git://.*/.*      https://download.automotivelinux.org/AGL/mirror/ \n \
65 gitsm://.*/.*    https://download.automotivelinux.org/AGL/mirror/ \n \
66 hg://.*/.*       https://download.automotivelinux.org/AGL/mirror/ \n \
67 osc://.*/.*      https://download.automotivelinux.org/AGL/mirror/ \n \
68 p4://.*/.*       https://download.automotivelinux.org/AGL/mirror/ \n \
69 svn://.*/.*      https://download.automotivelinux.org/AGL/mirror/ \n \
70 bzr://.*/.*      http://download.automotivelinux.org/AGL/mirror/  \n \
71 cvs://.*/.*      http://download.automotivelinux.org/AGL/mirror/  \n \
72 git://.*/.*      http://download.automotivelinux.org/AGL/mirror/  \n \
73 gitsm://.*/.*    http://download.automotivelinux.org/AGL/mirror/  \n \
74 hg://.*/.*       http://download.automotivelinux.org/AGL/mirror/  \n \
75 osc://.*/.*      http://download.automotivelinux.org/AGL/mirror/  \n \
76 p4://.*/.*       http://download.automotivelinux.org/AGL/mirror/  \n \
77 svn://.*/.*      http://download.automotivelinux.org/AGL/mirror/  \n \
78                  \
79 ftp://.*/.*      https://download.automotivelinux.org/AGL/mirror/ \n \
80 http://.*/.*     https://download.automotivelinux.org/AGL/mirror/ \n \
81 https://.*/.*    https://download.automotivelinux.org/AGL/mirror/ \n \
82 ftp://.*/.*      http://download.automotivelinux.org/AGL/mirror/  \n \
83 http://.*/.*     http://download.automotivelinux.org/AGL/mirror/  \n \
84 https://.*/.*    http://download.automotivelinux.org/AGL/mirror/  \n \
85 "
86
87 # The CONNECTIVITY_CHECK_URI's are used to test whether we can succesfully
88 # fetch from the network (and warn you if not). To disable the test set
89 # the variable to be empty.
90 # Git example url: git://git.yoctoproject.org/yocto-firewall-test;protocol=git;rev=HEAD
91 CONNECTIVITY_CHECK_URIS ?= ""
92
93 PREFERRED_PROVIDER_udev ?= "systemd"
94 PREFERRED_PROVIDER_udev-utils ?= "systemd"
95
96 VIRTUAL-RUNTIME_init_manager = "systemd"
97 VIRTUAL-RUNTIME_initscripts = ""
98
99 # network manager to use (possible values: systemd, connman)
100 VIRTUAL-RUNTIME_net_manager = "connman" 
101
102 DISTRO_FEATURES_APPEND = " "
103 DISTRO_FEATURES_remove = "x11"
104 DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit pulseaudio"
105
106 # Prefer GStreamer 1.16.x by default
107 PREFERRED_VERSION_gstreamer1.0              ?= "1.16.%"
108 PREFERRED_VERSION_gstreamer1.0-plugins-bad  ?= "1.16.%"
109 PREFERRED_VERSION_gstreamer1.0-plugins-base ?= "1.16.%"
110 PREFERRED_VERSION_gstreamer1.0-plugins-good ?= "1.16.%"
111 PREFERRED_VERSION_gstreamer1.0-plugins-ugly ?= "1.16.%"
112 PREFERRED_VERSION_gstreamer1.0-libav        ?= "1.16.%"
113 PREFERRED_VERSION_gstreamer1.0-omx          ?= "1.16.%"
114
115 # Prefer libjpeg-turbo
116 PREFERRED_PROVIDER_jpeg = "libjpeg-turbo"
117
118 # using multiple BSP layers causes dangling bbappends in meta-agl-bsp
119 # turn it into a warning
120 #BB_DANGLINGAPPENDS_WARNONLY = "1"
121
122 # Not yet upstreamed; should be submitted.
123 SECURITY_CFLAGS_pn-qtwebengine = "${SECURITY_NO_PIE_CFLAGS}"
124
125 #Redefined USER_CLASSES
126 #Disable prelink. It is unmaintained and likely will go away.
127 #default: USER_CLASSES ?= "buildstats image-mklibs image-prelink"
128 USER_CLASSES = "buildstats image-mklibs"
129
130 # AGL uses 4 optimization levels
131 # 2 for ARM 32bit 
132 #   - a high and a medium setting for the CCARGS
133 #   - the high setting is default (needs >= cortex-a15)
134 #   - the medium setting is enabled with: DISTRO_FEATURES_append = " agl-medium-arm-compiler "
135 # 1 for ARM 64bit / AARCH64
136 # 1 for x86-64
137 require conf/distro/include/${TARGET_ARCH}-tune.inc
138
139 # Generic qemu and qemuboot (runqemu) enhancements
140 # check qemuboot.bbclass
141 # - use 2G RAM by default
142 QB_MEM ?= "-m 2048"
143 # use pulseaudio on the host side - off as qemu-native is built with alsa
144 #QB_AUDIO_DRV = "pa"
145 # expose a virtual 'hda' sound card to the guest (arm/aarch64/x86-64)
146 QB_AUDIO_OPT = "-soundhw hda"
147
148 # Board templates can add extra IMAGE_FSTYPES through this.
149 # It is added (late) through the AGL image recipes.
150 AGL_EXTRA_IMAGE_FSTYPES ??= ""
151 AGL_EXTRA_INITRAMFS_FSTYPES ??= ""
152 #
153 # Default IMAGE FSTYPES wic.xz
154 AGL_DEFAULT_IMAGE_FSTYPES ?= "wic.xz wic.bmap wic.xz.sha256sum"
155 AGL_DEFAULT_IMAGE_FSTYPES_qemuall ?= "${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}"
156 AGL_DEFAULT_IMAGE_FSTYPES_append_netboot = " ${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}"
157 AGL_DEFAULT_INITRAMFS_FSTYPES ?= "ext4.gz"
158
159 # DEFAULT IMAGE_FSTYPES for AGL (no - BSPs should not set this)
160 #
161 IMAGE_FSTYPES := "${AGL_DEFAULT_IMAGE_FSTYPES} ${AGL_EXTRA_IMAGE_FSTYPES}"
162 INITRAMFS_FSTYPES := "${AGL_DEFAULT_INITRAMFS_FSTYPES} ${AGL_EXTRA_INITRAMFS_FSTYPES}"
163 #
164 # THE FUTURE is 'wic'
165 # IMAGE_FSTYPES_append = " wic"
166
167 # enable the packagemanagement
168 IMAGE_FEATURES =+ "package-management"
169 PACKAGE_FEED_URIS = "http://192.168.7.1:8000/tmp/deploy/"
170 PACKAGE_FEED_BASE_PATHS = "rpm"
171 PACKAGE_FEED_ARCHS = ""
172 #${PACKAGE_ARCHS}"
173
174 # Complementary package definitions for agl-test-wgt and agl-devel-wgt
175 # image features
176 COMPLEMENTARY_GLOB[agl-test-wgt] = '*-test'
177 COMPLEMENTARY_GLOB[agl-devel-wgt] = '*-coverage *-debug'
178
179 # Fix for rpm metadata clash between nativesdk-cmake and nativesdk-qtbase-tools
180 # (revalidate after 2017-10-15, 2018-06-12: still required)
181 DIRFILES_pn-nativesdk-cmake = "1"
182
183 # For https://jira.automotivelinux.org/browse/SPEC-1629 :
184 # We exclude the conflicting vars from the sstate task hash.
185 # This needs to be verified.
186 do_package_write_rpm[vardepsexclude] += "ARCHIVER_TOPDIR PF"
187
188 # Set preferred provider to new navi application
189 PREFERRED_RPROVIDER_virtual/navigation ?= "ondemandnavi"
190
191 # Set preferred provider for low-can device mapping configuration
192 PREFERRED_RPROVIDER_virtual/low-can-dev-mapping ?= "${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'dev-mapping-ci', 'dev-mapping', d)}"
193
194 # Mask upstream meta-security bbappend that interferes with non-linux-yocto
195 # kernels due to the bug of having two wildcards, which bitbake does not
196 # support. Not having it is not an issue, since there is also explicit
197 # enabling of required security features done by meta-agl/meta-security.
198 BBMASK += "meta-security/recipes-kernel/linux/linux-%_5.%.bbappend"
199
200 # Workaround for https://jira.automotivelinux.org/browse/SPEC-3621
201 # TLDR: do_image_wic will modify the target's /etc/fstab while
202 # do_image_tar and do_image_ext4 can run in parallel
203 # This needs to be fixed upstream:
204 # See https://bugzilla.yoctoproject.org/show_bug.cgi?id=13994
205 # For convenience restricted to ext4 and tar image types.
206 AGL_FORBID_FSTAB_UPDATE ?= "${@bb.utils.contains_any('IMAGE_FSTYPES', 'ext4 ext4.xz tar tar.gz tar.bz2 tar.xz', '--no-fstab-update', '', d)}"
207 WIC_CREATE_EXTRA_ARGS_append = " ${AGL_FORBID_FSTAB_UPDATE}"