Update candidate_snapshot : TIZEN/Tizen/Tizen-Unified/project_meta,TIZEN/Tizen-8...
[scm/meta/qb.git] / TIZEN / Tizen / Tizen-Base-ASAN / project_config
1 ################################################################################
2 # OBS Project config for Tizen:Base
3 #
4 # RE contacts:
5 #
6 #
7 # vim: set syntax=spec:
8 ################################################################################
9
10 Patterntype: rpm-md comps
11 Release: <CI_CNT>.<B_CNT>
12 Support: build
13 Support: build-compare build-mkbaselibs
14 # Support: rpmlint-mini rpmlint-tizen
15
16 # new cycle handling (gbs version >= 0.25.29)
17 BuildFlags: genmetaalgo:1
18 BuildFlags: nocumulaterpms:1
19
20 ############################# conflicts resolution #############################
21
22 Prefer: util-linux
23 Prefer: mono-wcf
24 Prefer: monodoc
25 Prefer: mono-extras
26 Prefer: mono-web
27 Prefer: mono-data
28 Prefer: mono-mvc
29 Prefer: mono-winforms
30 Prefer: mono-data-sqlite
31
32 # Set a preference for ambiguous libs to use *-64bit libs
33 #     *-64bit libs on 32bit build environment are required for .Net build (e.g., coreclr, corefx)
34 #     But when building 64bit target, they could make 'have choice' error with original libs in 64bit repository.
35 #     e.g., libstdc++ and libstdc++-64bit provides same libs. It's ambiguous to choose appropriate one.
36 #     Owner : Jiyoung Yun (jy910.yun@samsung.com)
37 #     libopenssl* : Dongsun Lee (ds73.lee@samsung.com), Dariusz Michaluk (d.michaluk@samsung.com)
38 Prefer: libgcc libstdc++ libunwind libuuid zlib libopenssl libopenssl11 libopenssl3
39 Prefer: lldb
40
41 ############################# base definition ###############################
42
43 # %release_name and %tizen_full_version are used in platform/upstream/tizen-release
44
45 Macros:
46 %release_name Tizen9.0/Unified
47
48 %tizen_version_major 9
49 %tizen_version_minor 0
50 %tizen_version_patch 0
51
52 %tizen_version %{tizen_version_major}.%{tizen_version_minor}
53 %tizen_full_version %{tizen_version}.%{tizen_version_patch}
54 %tizen %tizen_version
55 %vendor tizen
56 %_vendor tizen
57 %_with_tizen 1
58
59
60 %opensuse_bs 1
61 %_default_patch_fuzz   2
62
63 %_binary_payload w9.zstdio
64 :Macros
65
66 #### %%__spec_check_pre exit 0
67 #### %%run_check_section 0
68
69 # skip %%check section
70 Macros:
71 # skip package list
72 %_skip_check_packages autogen bison boost expat findutils flex fribidi glibc \\\
73 gmp gn golang grep libgc libgcrypt libogg libsigc++ libvorbis libxml2 libzio \\\
74 m4 nspr openssl openssl1.1 perl-Devel-Symdump perl-gettext perl-Pod-Coverage \\\
75 perl-Test-Pod perl-Test-Pod-Coverage perl-TimeDate procps-ng python3-mako \\\
76 python3-mock python3-ply python-funcsigs python-mako python-mock python-ply \\\
77 setup zlib openssl3 autoconf
78
79 %__spec_check_pre \
80 for name in %_skip_check_packages \
81 do \
82     if [ "$name" = "%{name}" ]; then \
83         exit 0 \
84     fi \
85 done \
86 %{___build_pre} \
87 %{nil}
88
89 :Macros
90
91 ############################# build config #####################################
92
93 ########## targets ##########
94
95 %ifarch i586
96 Target: i686-tizen-linux
97 %endif
98
99 %ifarch armv7hl
100 Target: armv7hl-tizen-linux
101 %endif
102
103 %ifarch armv7l
104 Target: armv7l-tizen-linux
105 %endif
106
107 %ifarch aarch64
108 Target: aarch64-tizen-linux
109 %endif
110
111 ########## cross build ##########
112
113 %define build_hostarch x86_64
114 Macros:
115 %build_hostarch x86_64
116 :Macros
117
118 %ifarch %arm armv7l armv7hl aarch64
119 Hostarch: x86_64
120 # cross build support for the build hosts
121 Preinstall: qemu-linux-user-%{build_hostarch}-cross
122 Runscripts: qemu-linux-user-%{build_hostarch}-cross
123 Keep: qemu-linux-user-%{build_hostarch}-cross
124 Macros:
125 %qemu_user_space_build 1
126 :Macros
127 %endif
128
129 %ifarch armv7l
130 Preinstall: qemu-accel-%{build_hostarch}-armv7l
131 Runscripts: qemu-accel-%{build_hostarch}-armv7l
132 Preinstall: libmount libblkid libuuid
133 %endif
134
135 %ifarch armv7hl
136 Preinstall: qemu-accel-%{build_hostarch}-armv7hl
137 Runscripts: qemu-accel-%{build_hostarch}-armv7hl
138 Preinstall: libmount libblkid libuuid
139 %endif
140
141 %ifarch aarch64
142 Preinstall: qemu-accel-%{build_hostarch}-aarch64
143 Runscripts: qemu-accel-%{build_hostarch}-aarch64
144 Preinstall: libmount libblkid libuuid
145 %endif # aarch64
146
147 Substitute: python-accel-armv7l-cross-arm python-accel-%{build_hostarch}-armv7l
148 Substitute: python-accel-armv7hl-cross-arm python-accel-%{build_hostarch}-armv7hl
149 Substitute: python-accel-aarch64-cross-aarch64 python-accel-%{build_hostarch}-aarch64
150
151 Substitute: clang-accel-armv7l-cross-arm clang-accel-%{build_hostarch}-armv7l
152 Substitute: clang-accel-armv7hl-cross-arm clang-accel-%{build_hostarch}-armv7hl
153 Substitute: clang-accel-aarch64-cross-aarch64 clang-accel-%{build_hostarch}-aarch64
154
155 ########## exports for different architectures ##########
156
157 ExportFilter: \.armv7l\.rpm$ armv7l
158 ExportFilter: \.armv7hl\.rpm$ armv7hl
159 ExportFilter: \.aarch64\.rpm$ aarch64
160 ExportFilter: \.i586\.rpm$ i586
161 ExportFilter: \.x86_64\.rpm$ x86_64
162
163 ########## buildroot config ##########
164
165 Preinstall: setup filesystem
166 RunScripts: setup
167
168 Preinstall: bash bzip2 coreutils diffutils grep rpm
169 Preinstall: glibc libacl libattr
170 Preinstall: libcap
171 Preinstall: libgcc
172 Preinstall: libpopt sed tar zlib
173 Preinstall: libncurses libreadline
174 Preinstall: libelf libbz2
175 Preinstall: liblzma
176 Preinstall: nss nspr libfreebl3 libsoftokn3
177 Preinstall: libmagic
178 Preinstall: liblua
179 Preinstall: smack libsmack libxml2 libmagic  libmagic-data
180 Preinstall: libsqlite
181 #Preinstall: rpm-security-plugin
182 Preinstall: util-linux util-linux-su
183 Preinstall: libzstd1
184
185 VMinstall: perl libmount libblkid libext2fs libuuid  grep libpcre util-linux libsmartcols procps-ng
186
187 Required: binutils gcc glibc rpm-build libtool
188 Required: gcc-c++
189
190 Support: glibc-locale
191 Support: perl
192 Support: hostname
193 Support: cpio findutils
194 Support: file findutils zlib bzip2
195 Support: gzip hostname net-tools
196 Support: make  patch sed  gawk tar grep coreutils pkg-config
197 Support: m4  tzdata
198 Support: util-linux
199 Support: less
200 Support: which  elfutils
201 Support: update-alternatives
202 Support: libstdc++-devel
203 Support: cpp
204 Support: libatomic
205 Support: libgomp
206 Support: libitm
207
208 Keep: libstdc++-devel
209 Keep: cpp gcc libstdc++
210 Keep: pam
211 Keep: binutils cpp  libmagic-data file findutils gawk gcc  gcc-c++
212 Keep: gdbm gzip libada libunwind  glibc-devel libpcre xz-lzma-compat
213 Keep: make  gmp libcap groff cpio
214 Keep: patch rpm-build  nss nspr elfutils python grep libgcc gcc-c++
215 Keep: kernel-headers  perl-libs perl
216 Keep: pkgconfig glib2 tizen-rpm-config
217 Keep: libmpc libmpfr libppl libgmp libppl_c
218 Keep: libcloog libppl libgmpxx
219 Keep: nss-softokn-freebl libmagic libmagic-data
220 Keep: setup
221 Keep: update-alternatives
222 Keep: cpp
223 Keep: gcc-c++
224 Keep: libatomic
225 Keep: libgomp
226 Keep: libitm
227
228 Substitute: gettext gettext-tools
229
230 %ifarch x86_64
231 Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
232 Substitute: libgcc_s1-32bit libgcc-32bit
233 %else
234 Substitute: glibc-devel-32bit
235 %endif
236
237 ########## compilation flags ##########
238 %define __global_cflags -O2 -g2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong -Wformat-security -fmessage-length=0 -frecord-gcc-switches -Wl,-z,relro,--as-needed
239
240 Optflags: armv7l %{__global_cflags} --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -mthumb -Wp,-D__SOFTFP__ -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb
241 Optflags: armv7hl %{__global_cflags} --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=hard -mthumb -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb
242 Optflags: aarch64 %{__global_cflags} -feliminate-unused-debug-types -Wformat -march=armv8-a+fp+simd+crc+crypto -mtune=cortex-a57.cortex-a53
243 Optflags: i686 %{__global_cflags} -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer -mstackrealign -Wl,-z,noseparate-code
244 Optflags: x86_64 %{__global_cflags} -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m64 -march=nehalem -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer
245
246 #### Enable ASan for the project
247 %define asan 1
248 Macros:
249 %asan 1
250 :Macros
251
252 ### To Disable ASAN - Workaround ####
253 ### Disabled about packages of base-tool ###
254 Macros:
255 %asan_incompatible_pkgs binutils binutils-aarch64 binutils-armv7l binutils-armv7hl nghttp2 groff icecream icu
256 :Macros
257
258 Preinstall: asan-build-env libasan libstdc++
259 Preinstall: asan-force-options findutils
260 RunScripts: libasan
261 RunScripts: asan-build-env
262 RunScripts: asan-force-options
263
264 Macros:
265 %__spec_check_pre exit 0
266 %run_check_section 0
267 :Macros