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