Tizen:Common - remove Preinstall: rpm-security-plugin
[scm/meta/obs.git] / Tizen:Common / _config
1 ################################################################################
2 # OBS Project config for Tizen:Common
3 #
4 # RE contacts:
5 # Stephane Desneux <stephane.desneux@open.eurogiciel.org>
6 # Ronan Le Martret <ronan.lemartret@open.eurogiciel.org>
7 # Jose Bollo <jose.bollo@open.eurogiciel.org>
8 #
9 # Git mirror for OBS config: review.tizen.org:scm/meta/build-config / branch tizen_common
10 #
11 # vim: set syntax=spec:
12 ################################################################################
13
14 Patterntype: rpm-md comps
15 Release: <CI_CNT>.<B_CNT>
16 Support: build
17 Support: build-compare build-mkbaselibs
18 Support: rpmlint-mini rpmlint-tizen
19
20 ############################# conflicts resolution #############################
21
22 FileProvides: /usr/sbin/groupadd pwdutils
23 Prefer: util-linux
24 Prefer: libtapi-devel
25 Prefer: libpci-devel
26
27 Prefer: vconf-buxton
28 Prefer: vconf-buxton-devel
29 Prefer: vconf-buxton-keys-devel
30
31 ############################# profile definition ###############################
32
33 %define profile common
34 %define _with_tizen 1
35
36 # %release_name and %tizen_full_version are used in platform/upstream/tizen-release
37
38 Macros:
39 %profile common
40 %release_name Tizen3/Common
41
42 %tizen_version_major 3
43 %tizen_version_minor 0
44 %tizen_version_patch 0
45
46 %tizen_version %{tizen_version_major}.%{tizen_version_minor}
47 %tizen_full_version %{tizen_version}.%{tizen_version_patch}
48 %tizen %tizen_version
49 %vendor tizen
50 %_vendor tizen
51 %_with_tizen 1
52
53 %check exit 0
54 %run_check_section 0
55 %opensuse_bs 1
56 %_default_patch_fuzz   2
57 :Macros
58
59 ############################# display system ###################################
60
61 ########## display system selection ##########
62
63 # selection of the display system
64 # this selection is done for each repository
65 #
66 # flags combinations:
67 # |----------------------------------------------------
68 # | wayland |  x  | meaning
69 # |----------------------------------------------------
70 # |         |  1  | pure X11 platform(no wayland)
71 # |   1     |     | pure wayland platform (no X11)
72 # |   1     |  1  | wayland but X compatibility
73 # |         |     | no X and no wayland
74 # |----------------------------------------------------
75 #
76 # Owner: Stephane <stephane.desneux@open.eurogiciel.org>
77
78 ########## RDP flag ##########
79
80 # enable/disable RDP (remote desktop protocol) for wayland
81 # flag: _with_rdp, used in repositories
82 # Affects: weston, freerdp
83 # Owner: Manuel <manuel.bachmann@open.eurogiciel.org>
84
85 ########## mesa activation ##########
86
87 %define _with_mesa 1
88 Macros:
89 %_with_mesa 1
90 :Macros
91
92 %ifarch %arm armv7l aarch64
93    Substitute: mesa-devel pkgconfig(glesv2)
94    #FIXME Substitute: pkgconfig(egl)
95 %endif
96
97 ############################# wayland repositories #############################
98
99 %if "%_repository" == "ia32-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland"|| "%_repository" == "arm"|| "%_repository" == "arm64" || "%_repository" == "arm64-wayland" || "%_repository" == "wayland" || "%_repository" == "standard"
100
101 Substitute: pkgconfig(gles20)  pkgconfig(egl) pkgconfig(glesv2)
102 Substitute: pkgconfig(gles11)  pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
103
104 %define _with_wayland 1
105 %define _with_rdp 1
106
107 Macros:
108 %_with_wayland 1
109 %_with_rdp 1
110 :Macros
111
112 %endif
113
114 ############################# X11 repositories #################################
115
116 %if "%_repository" == "ia32-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11" || "%_repository" == "x11"
117
118 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2) pkgconfig(gl)
119 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1_cm) pkgconfig(gl)
120
121 %define _with_x 1
122
123 Macros:
124 %_with_x 1
125 :Macros
126
127 %endif
128
129 ############################# X+Wayland repositories ###########################
130
131 %if "%_repository" == "ia32-xwayland" || "%_repository" == "x86_64-xwayland" || "%_repository" == "arm-xwayland" || "%_repository" == "arm64-xwayland" || "%_repository" == "xwayland"
132
133 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2) pkgconfig(gl)
134 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1_cm) pkgconfig(gl)
135
136 %define _with_wayland 1
137 %define _with_x 1
138
139 Macros:
140 %_with_wayland 1
141 %_with_x 1
142 :Macros
143
144 %endif
145
146 ############################# emulator repositories ############################
147
148 %if "%_repository" == "emulator32-wayland"
149
150 Prefer: mesa-libGLESv2
151 Prefer: libwayland-egl
152 Prefer: libgbm
153 Prefer: mesa-libGL
154 Prefer: mesa-libEGL
155 Prefer: emulator-yagl
156
157 Substitute: pkgconfig(gles20)  pkgconfig(egl) pkgconfig(glesv2)
158 Substitute: pkgconfig(gles11)  pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
159
160 %define _with_wayland 1
161 %define _with_emulator 1
162
163 Macros:
164 %_with_wayland 1
165 %_with_emulator 1
166 :Macros
167
168 %endif
169
170
171 ############################# misc config flags ################################
172
173 ########## USAGE ##########
174
175 # IMPORTANT: please follow the following rules when playing with flags
176 # ********************************************************************
177
178 # In spec file, call %bcond_with macro at the beginning and test with %with:
179 # -------------------------
180 # | %bcond_with myfeature
181 # | [...]
182 # | %if %{with myfeature}
183 # | [...]
184 # | %endif
185 # | [...]
186 # -------------------------
187 #
188 # To activate an option, use:
189 # -------------------------
190 # | %define _with_myfeature 1
191 # | Macros:
192 # | %_with_myfeature 1
193 # | :Macros
194 # -------------------------
195 #
196 # To disable an option, DON'T set the values to 0, as the option would still be defined
197 # but simply comment the lines: this will undefine the option.
198 # -------------------------
199 # | #%define _with_myfeature 1
200 # | #Macros:
201 # | #%_with_myfeature 1
202 # | #:Macros
203 # -------------------------
204 #
205 # More information here: 
206 # https://en.opensuse.org/openSUSE:Build_Service_prjconf#.25bcond
207
208
209 ########## flags ##########
210
211 # This build macro controls the libdlog output. If enabled,
212 # libdlog writes to Systemd Journal. If disabled, libdlog writes to kernel Android
213 # logger FIFO. Affects: dlog.
214 # Owner: Mikko <mikko.ylinen@intel.com>
215 Macros:
216 %_with_dlog_to_systemd_journal 1
217 :Macros
218
219 # Macro used to handle bluetooth popups without syspopup/bt-syspopup which needs OSP .
220 # In IVI, this macro permits to address bluetooth notifications (using C API) to notification-service daemon.
221 # Then homescreen is supposed to deal with those notifications and display relevant popups.
222 # Affects: bluetooth-frwk
223 # Owner: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
224 Macros:
225 %_with_bluetooth_frwk_libnotification 1
226 :Macros
227
228 # Macro used for testing gstreamer 1.X API
229 # Used: qt*
230 # Owner: Philippe Coval <philippe.coval@open.eurogiciel.org>
231 %define _with_gstreamer1 1
232 Macros:
233 %_with_gstreamer1 1
234 :Macros
235
236 # Macro used for testing libva availability
237 # Used: weston
238 # Owner: Philippe Coval <philippe.coval@open.eurogiciel.org>
239 %ifarch x86_64 i586
240 %define _with_libva 1
241 Macros:
242 %_with_libva 1
243 :Macros
244 %endif
245
246 # Macro used for testing Input methods
247 # Used: qt*
248 # Owner: Philippe Coval <philippe.coval@open.eurogiciel.org>
249 #%define _with_tizenscim 1
250 #Macros:
251 #%_with_tizenscim 1
252 #:Macros
253
254 # This build macro controls whether the OS uses
255 # legacy nfc-manager or neard enabled nfc-manager-neard. If enabled,
256 # nfc-manager-neard is used. Affects: nfc CAPI, emulator-plugin-nfc
257 # Owner: Arron Wang <arron.wang@intel.com>
258 Macros:
259 %_with_neard_nfc 1
260 :Macros
261
262 # Uses mobile-specific Samsung patches for PulseAudio. Tizen Mobile needs
263 # this -> Tizen Mobile is compiled with this option.
264 # Owner: Ismo Puustinen <ismo.puustinen@intel.com>
265 # FIXME: Why this extra define in the obs config ?
266 %define _with_pulseaudio_samsung_policy 1
267 Macros:
268 %_with_pulseaudio_samsung_policy 1
269 :Macros
270
271 # Activate introspection
272 # This is needed on GuPNP to build Rygel correctly in IVI
273 # Impacts potentially packages that use gobject-introspection
274 # Owner: Mikko <mikko.ylinen@intel.com>
275 Macros:
276 %_with_introspection 1
277 :Macros
278
279 # Activate KDBUS
280 # This configuration flag enables the support of KDBUS
281 # Used: platform/upstream/setup
282 # Owner: Stephane Desneux <stephane.desneux@open.eurogiciel.org>
283 #%define _with_kdbus 1
284 #Macros:
285 #%_with_kdbus 1
286 #:Macros
287
288 ############################# build config #####################################
289
290 %define gcc_version 49
291 Macros:
292 %gcc_version 49
293 :Macros
294
295 ########## targets ##########
296
297 %ifarch i586
298 Target: i686-tizen-linux
299 %endif
300
301 %ifarch armv7hl
302 Target: armv7hl-tizen-linux
303 %endif
304
305 %ifarch armv7l
306 Target: armv7l-tizen-linux
307 %endif
308
309 %ifarch aarch64
310 Target: aarch64-tizen-linux
311 %endif
312
313 ########## cross build ##########
314
315 %ifarch %arm armv7l
316 Hostarch: x86_64
317 # cross build support for the build hosts
318 Preinstall: qemu-linux-user-cross-arm
319 Keep: qemu-linux-user-cross-arm
320 %endif
321
322 %ifarch armv7hl
323 Preinstall: qemu-accel-armv7hl
324 Runscripts: qemu-accel-armv7hl
325 Preinstall: libmount libblkid libuuid
326 %endif
327
328 %ifarch armv7l
329 Preinstall: qemu-accel-armv7l-cross-arm
330 Runscripts: qemu-accel-armv7l-cross-arm
331 Preinstall: libmount libblkid libuuid
332 %endif
333
334 %ifarch aarch64
335 Hostarch: x86_64
336 Preinstall: qemu-linux-user-cross-arm
337 Keep: qemu-linux-user-cross-arm
338 Preinstall: qemu-accel-aarch64-cross-aarch64
339 Runscripts: qemu-accel-aarch64-cross-aarch64
340 Preinstall: libmount libblkid libuuid
341 %endif # aarch64
342
343 ########## exports for different architectures ##########
344
345 ExportFilter: \.armv7l\.rpm$ armv7l
346 ExportFilter: \.aarch64\.rpm$ aarch64
347 ExportFilter: \.x86_64\.rpm$ x86_64
348
349 ########## buildroot config ##########
350
351 Preinstall: setup filesystem
352 RunScripts: setup
353
354 Preinstall: bash bzip2 coreutils diffutils grep rpm
355 Preinstall: glibc libacl libattr
356 Preinstall: libcap
357 Preinstall: libgcc_s1
358 Preinstall: libpopt sed tar zlib
359 Preinstall: libncurses libreadline
360 Preinstall: libelf libbz2
361 Preinstall: liblzma
362 Preinstall: nss nspr libfreebl3 libsoftokn3
363 Preinstall: libmagic
364 Preinstall: liblua
365 Preinstall: smack libsmack libxml2 libmagic  libmagic-data
366 Preinstall: libsqlite
367 Preinstall: util-linux
368
369 VMinstall: perl libmount libblkid libext2fs libuuid  grep libpcre util-linux
370
371 Required: binutils gcc glibc rpm-build libtool
372
373 Support: glibc-locale
374 Support: perl
375 Support: hostname
376 Support: cpio findutils
377 Support: file findutils zlib bzip2
378 Support: gzip hostname net-tools
379 Support: make  patch sed  gawk tar grep coreutils pkg-config
380 Support: m4  tzdata
381 Support: util-linux
382 Support: less
383 Support: which  elfutils
384 Support: update-alternatives
385
386 # FIXME: TO REMOVE (? comes from IVI)
387 Support: gcc-c++
388
389 Keep: cpp%{gcc_version} gcc%{gcc_version} gcc%{gcc_version}-ada libstdc++%{gcc_version}
390 Keep: libstdc++%{gcc_version}-devel gcc%{gcc_version}-c++
391 Keep: cpp gcc libstdc++
392 Keep: pam
393 Keep: binutils cpp  libmagic-data file findutils gawk gcc  gcc-c++
394 Keep: gdbm gzip libada libunwind  glibc-devel libpcre xz-lzma-compat
395 Keep: make  gmp libcap groff cpio
396 Keep: patch rpm-build  nss nspr elfutils python grep libgcc gcc-c++
397 Keep: kernel-headers  perl-libs perl
398 Keep: pkgconfig glib2 tizen-rpm-config
399 Keep: libmpc libmpfr libppl libgmp libppl_c
400 Keep: libcloog libppl libgmpxx
401 Keep: nss-softokn-freebl libmagic libmagic-data
402 Keep: setup
403 Keep: update-alternatives
404 Prefer: libstdc++%{gcc_version} libgcc%{gcc_version}
405 Prefer: libstdc++%{gcc_version}-32bit libstdc++%{gcc_version}-64bit
406
407 Substitute: gettext gettext-tools
408
409 %ifarch x86_64
410 Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
411 %else
412 Substitute: glibc-devel-32bit
413 %endif
414
415 ########## compilation flags ##########
416
417 %define __global_cflags -O2 -g2 -feliminate-unused-debug-types -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=32 -Wformat -Wformat-security -fmessage-length=0 -finline-functions -fdiagnostics-color=never
418
419 Optflags: i686 %{__global_cflags} -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer
420
421 Optflags: x86_64 %{__global_cflags} -m64 -march=corei7 -mtune=corei7-avx -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer
422
423 #generic arm platform
424 #Optflags: armv7l %{__global_cflags} -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=vfpv3 -mfloat-abi=softfp -Wp,-D__SOFTFP__
425 #activate neon FPU instructions set (crosswalk build)
426 Optflags: armv7l %{__global_cflags} -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -Wp,-D__SOFTFP__
427
428 Optflags: aarch64 %{__global_cflags} -march=armv8-a+fp+simd+crc+crypto