1 ################################################################################
2 # OBS Project config for Tizen:TV
5 # Joonsub Lee (joon-sub.lee@samsung.com)
6 # Hyunggi Lee (hyunggi.lee@samsung.com)
8 # vim: set syntax=spec:
9 ################################################################################
11 Patterntype: rpm-md comps
12 Release: <CI_CNT>.<B_CNT>
14 Support: build-compare build-mkbaselibs
15 Support: rpmlint-mini rpmlint-tizen
17 ############################# conflicts resolution #############################
19 FileProvides: /usr/sbin/groupadd pwdutils
24 ############################# profile definition ###############################
29 # For classifying debug/release mode
31 %tizen_build_devel_mode 1
34 # %release_name and %tizen_full_version are used in platform/upstream/tizen-release
38 %release_name Tizen3/TV
40 %tizen_version_major 3
41 %tizen_version_minor 0
42 %tizen_version_patch 0
44 %tizen_version %{tizen_version_major}.%{tizen_version_minor}
45 %tizen_full_version %{tizen_version}.%{tizen_version_patch}
54 %_default_patch_fuzz 2
57 ############################# display system ###################################
59 ########## display system selection ##########
61 # selection of the display system
62 # this selection is done for each repository
65 # |----------------------------------------------------
66 # | wayland | x | meaning
67 # |----------------------------------------------------
68 # | | 1 | pure X11 platform(no wayland)
69 # | 1 | | pure wayland platform (no X11)
70 # | 1 | 1 | wayland but X compatibility
71 # | | | no X and no wayland
72 # |----------------------------------------------------
74 # Owner: Stephane <stephane.desneux@open.eurogiciel.org>
76 ########## RDP flag ##########
78 # enable/disable RDP (remote desktop protocol) for wayland
79 # flag: _with_rdp, used in repositories
80 # Affects: weston, freerdp
81 # Owner: Manuel <manuel.bachmann@open.eurogiciel.org>
83 ########## mesa activation ##########
90 %ifarch %arm armv7l aarch64
91 Substitute: mesa-devel pkgconfig(glesv2)
92 #FIXME Substitute: pkgconfig(egl)
95 ############################# wayland repositories #############################
97 %if "%_repository" == "ia32-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland"|| "%_repository" == "arm"|| "%_repository" == "arm64" || "%_repository" == "arm64-wayland" || "%_repository" == "wayland" || "%_repository" == "standard"
99 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2)
100 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
102 %define _with_wayland 1
112 ############################# X11 repositories #################################
114 %if "%_repository" == "ia32-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11" || "%_repository" == "x11"
116 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2) pkgconfig(gl)
117 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1_cm) pkgconfig(gl)
127 ############################# X+Wayland repositories ###########################
129 %if "%_repository" == "ia32-xwayland" || "%_repository" == "x86_64-xwayland" || "%_repository" == "arm-xwayland" || "%_repository" == "arm64-xwayland" || "%_repository" == "xwayland"
131 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2) pkgconfig(gl)
132 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1_cm) pkgconfig(gl)
134 %define _with_wayland 1
144 ############################# emulator repositories ############################
146 %if "%_repository" == "emulator32-x11"
148 Prefer: mesa-libGLESv2
152 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2)
153 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
156 %define _with_emulator 1
165 %if "%_repository" == "emulator32-wayland"
167 Prefer: mesa-libGLESv2
168 Prefer: libwayland-egl
172 Prefer: emulator-yagl
174 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2)
175 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
177 %define _with_wayland 1
178 %define _with_emulator 1
187 ############################# misc config flags ################################
189 # This build macro controls the libdlog output. If enabled,
190 # libdlog writes to Systemd Journal. If disabled, libdlog writes to kernel Android
191 # logger FIFO. Affects: dlog.
192 # Owner: Mikko <mikko.ylinen@intel.com>
194 %_with_dlog_to_systemd_journal 1
197 # Macro used to handle bluetooth popups without syspopup/bt-syspopup which needs OSP .
198 # In IVI, this macro permits to address bluetooth notifications (using C API) to notification-service daemon.
199 # Then homescreen is supposed to deal with those notifications and display relevant popups.
200 # Affects: bluetooth-frwk
201 # Owner: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
203 %_with_bluetooth_frwk_libnotification 1
206 # This build macro controls whether the OS uses
207 # legacy nfc-manager or neard enabled nfc-manager-neard. If enabled,
208 # nfc-manager-neard is used. Affects: nfc CAPI, emulator-plugin-nfc
209 # Owner: Arron Wang <arron.wang@intel.com>
214 # Uses mobile-specific Samsung patches for PulseAudio. Tizen Mobile needs
215 # this -> Tizen Mobile is compiled with this option.
216 # Owner: Ismo Puustinen <ismo.puustinen@intel.com>
217 # FIXME: Why this extra define in the obs config ?
218 %define _with_pulseaudio_samsung_policy 1
220 %_with_pulseaudio_samsung_policy 1
223 # Activate introspection
224 # This is needed on GuPNP to build Rygel correctly in IVI
225 # Impacts potentially packages that use gobject-introspection
226 # Owner: Mikko <mikko.ylinen@intel.com>
228 %_with_introspection 1
231 ############################# build config #####################################
233 %define gcc_version 49
238 ########## targets ##########
241 Target: i686-tizen-linux
245 Target: armv7hl-tizen-linux
249 Target: armv7l-tizen-linux
253 Target: aarch64-tizen-linux
256 ########## cross build ##########
260 # cross build support for the build hosts
261 Preinstall: qemu-linux-user-cross-arm
262 Keep: qemu-linux-user-cross-arm
266 Preinstall: qemu-accel-armv7hl
267 Runscripts: qemu-accel-armv7hl
268 Preinstall: libmount libblkid libuuid
272 Preinstall: qemu-accel-armv7l-cross-arm
273 Runscripts: qemu-accel-armv7l-cross-arm
274 Preinstall: libmount libblkid libuuid
279 Preinstall: qemu-linux-user-cross-arm
280 Keep: qemu-linux-user-cross-arm
281 Preinstall: qemu-accel-aarch64-cross-aarch64
282 Runscripts: qemu-accel-aarch64-cross-aarch64
283 Preinstall: libmount libblkid libuuid
286 ########## exports for different architectures ##########
288 ExportFilter: \.armv7l\.rpm$ armv7l
289 ExportFilter: \.aarch64\.rpm$ aarch64
290 ExportFilter: \.x86_64\.rpm$ x86_64
292 ########## buildroot config ##########
294 Preinstall: setup filesystem
297 Preinstall: bash bzip2 coreutils diffutils grep rpm
298 Preinstall: glibc libacl libattr
300 Preinstall: libgcc_s1
301 Preinstall: libpopt sed tar zlib
302 Preinstall: libncurses libreadline
303 Preinstall: libelf libbz2
305 Preinstall: nss nspr libfreebl3 libsoftokn3
308 Preinstall: smack libsmack libxml2 libmagic libmagic-data
309 Preinstall: libsqlite
310 #Preinstall: rpm-security-plugin
311 Preinstall: util-linux
313 VMinstall: perl libmount libblkid libext2fs libuuid grep libpcre util-linux libsmartcols
315 Required: binutils gcc glibc rpm-build libtool
317 Support: glibc-locale
320 Support: cpio findutils
321 Support: file findutils zlib bzip2
322 Support: gzip hostname net-tools
323 Support: make patch sed gawk tar grep coreutils pkg-config
327 Support: which elfutils
328 Support: update-alternatives
331 Support: python-accel-armv7l-cross-arm
334 Support: python-accel-aarch64-cross-aarch64
337 # FIXME: TO REMOVE (? comes from IVI)
340 Keep: cpp%{gcc_version} gcc%{gcc_version} gcc%{gcc_version}-ada libstdc++%{gcc_version}
341 Keep: libstdc++%{gcc_version}-devel gcc%{gcc_version}-c++
342 Keep: cpp gcc libstdc++
344 Keep: binutils cpp libmagic-data file findutils gawk gcc gcc-c++
345 Keep: gdbm gzip libada libunwind glibc-devel libpcre xz-lzma-compat
346 Keep: make gmp libcap groff cpio
347 Keep: patch rpm-build nss nspr elfutils python grep libgcc gcc-c++
348 Keep: kernel-headers perl-libs perl
349 Keep: pkgconfig glib2 tizen-rpm-config
350 Keep: libmpc libmpfr libppl libgmp libppl_c
351 Keep: libcloog libppl libgmpxx
352 Keep: nss-softokn-freebl libmagic libmagic-data
354 Keep: update-alternatives
355 Prefer: libstdc++%{gcc_version} libgcc%{gcc_version}
356 Prefer: libstdc++%{gcc_version}-32bit libstdc++%{gcc_version}-64bit
358 Substitute: gettext gettext-tools
361 Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
363 Substitute: glibc-devel-32bit
366 ########## compilation flags ##########
368 #%__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
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 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
373 #generic arm platform
374 #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__
376 #activate neon FPU instructions set (crosswalk build)
377 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__
379 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