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