1 Substitute: python-accel-armv7l-cross-arm python-accel-armv7l
2 Substitute: python-accel-aarch64-cross-aarch64 python-accel-aarch64
3 ################################################################################
4 # OBS Project config for Tizen:TV
7 # Joonsub Lee (joon-sub.lee@samsung.com)
8 # Hyunggi Lee (hyunggi.lee@samsung.com)
10 # vim: set syntax=spec:
11 ################################################################################
13 Patterntype: rpm-md comps
14 Release: <CI_CNT>.<B_CNT>
16 Support: build-compare build-mkbaselibs
17 Support: rpmlint-mini rpmlint-tizen
19 ############################# conflicts resolution #############################
21 FileProvides: /usr/sbin/groupadd pwdutils
26 ############################# profile definition ###############################
31 # For classifying debug/release mode
33 %tizen_build_devel_mode 1
36 # %release_name and %tizen_full_version are used in platform/upstream/tizen-release
40 %release_name Tizen3/TV
42 %tizen_version_major 3
43 %tizen_version_minor 0
44 %tizen_version_patch 0
46 %tizen_version %{tizen_version_major}.%{tizen_version_minor}
47 %tizen_full_version %{tizen_version}.%{tizen_version_patch}
56 %_default_patch_fuzz 2
59 ############################# display system ###################################
61 ########## display system selection ##########
63 # selection of the display system
64 # this selection is done for each repository
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 # |----------------------------------------------------
76 # Owner: Stephane <stephane.desneux@open.eurogiciel.org>
78 ########## RDP flag ##########
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>
85 ########## mesa activation ##########
92 %ifarch %arm armv7l aarch64
93 Substitute: mesa-devel pkgconfig(glesv2)
94 #FIXME Substitute: pkgconfig(egl)
97 ########## coregl ##########
99 Prefer: coregl coregl-devel
100 Prefer: libwayland-egl libwayland-egl-devel
101 Substitute: mesa-libGLESv2 coregl
102 Substitute: mesa-libEGL coregl
105 ###################### Activate KDBUS ######################
106 # This configuration flag enables the support of KDBUS and Cynara-based Dbus Policy
108 %if "%_repository" == "arm-wayland"
110 %define _with_kdbus 1
111 %define _with_dbuspolicy 1
120 ############################# wayland repositories #############################
122 %if "%_repository" == "ia32-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland"|| "%_repository" == "arm"|| "%_repository" == "arm64" || "%_repository" == "arm64-wayland" || "%_repository" == "wayland" || "%_repository" == "standard"
124 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2)
125 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
127 %define _with_wayland 1
137 ############################# emulator repositories ############################
139 %if "%_repository" == "emulator32-wayland"
141 Substitute: mesa-devel pkgconfig(glesv2)
143 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2)
144 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
147 Prefer: coregl coregl-devel
148 Prefer: emulator-yagl emulator-yagl-devel
150 %define _with_wayland 1
151 %define _with_emulator 1
160 ############################# misc config flags ################################
162 # This build macro controls the libdlog output. If enabled,
163 # libdlog writes to Systemd Journal. If disabled, libdlog writes to kernel Android
164 # logger FIFO. Affects: dlog.
165 # Owner: Mikko <mikko.ylinen@intel.com>
167 %_with_dlog_to_systemd_journal 1
170 # Macro used to handle bluetooth popups without syspopup/bt-syspopup which needs OSP .
171 # In IVI, this macro permits to address bluetooth notifications (using C API) to notification-service daemon.
172 # Then homescreen is supposed to deal with those notifications and display relevant popups.
173 # Affects: bluetooth-frwk
174 # Owner: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
176 %_with_bluetooth_frwk_libnotification 1
179 # This build macro controls whether the OS uses
180 # legacy nfc-manager or neard enabled nfc-manager-neard. If enabled,
181 # nfc-manager-neard is used. Affects: nfc CAPI, emulator-plugin-nfc
182 # Owner: Arron Wang <arron.wang@intel.com>
187 # Uses mobile-specific Samsung patches for PulseAudio. Tizen Mobile needs
188 # this -> Tizen Mobile is compiled with this option.
189 # Owner: Ismo Puustinen <ismo.puustinen@intel.com>
190 # FIXME: Why this extra define in the obs config ?
191 %define _with_pulseaudio_samsung_policy 1
193 %_with_pulseaudio_samsung_policy 1
196 # Activate introspection
197 # This is needed on GuPNP to build Rygel correctly in IVI
198 # Impacts potentially packages that use gobject-introspection
199 # Owner: Mikko <mikko.ylinen@intel.com>
201 %_with_introspection 1
204 ############################# build config #####################################
206 %define gcc_version 49
211 ########## targets ##########
214 Target: i686-tizen-linux
218 Target: armv7hl-tizen-linux
222 Target: armv7l-tizen-linux
226 Target: aarch64-tizen-linux
229 ########## cross build ##########
231 %ifarch %arm armv7l aarch64
233 # cross build support for the build hosts
234 Preinstall: qemu-linux-user-cross
235 Runscripts: qemu-linux-user-cross
236 Keep: qemu-linux-user-cross
240 Preinstall: qemu-accel-armv7l
241 Runscripts: qemu-accel-armv7l
242 Preinstall: libmount libblkid libuuid
246 Preinstall: qemu-accel-aarch64
247 Runscripts: qemu-accel-aarch64
248 Preinstall: libmount libblkid libuuid
251 ########## exports for different architectures ##########
253 ExportFilter: \.armv7l\.rpm$ armv7l
254 ExportFilter: \.aarch64\.rpm$ aarch64
255 ExportFilter: \.x86_64\.rpm$ x86_64
257 ########## buildroot config ##########
259 Preinstall: setup filesystem
262 Preinstall: bash bzip2 coreutils diffutils grep rpm
263 Preinstall: glibc libacl libattr
266 Preinstall: libpopt sed tar zlib
267 Preinstall: libncurses libreadline
268 Preinstall: libelf libbz2
270 Preinstall: nss nspr libfreebl3 libsoftokn3
273 Preinstall: smack libsmack libxml2 libmagic libmagic-data
274 Preinstall: libsqlite
275 #Preinstall: rpm-security-plugin
276 Preinstall: util-linux
278 VMinstall: perl libmount libblkid libext2fs libuuid grep libpcre util-linux libsmartcols
280 Required: binutils gcc glibc rpm-build libtool
283 Support: glibc-locale
286 Support: cpio findutils
287 Support: file findutils zlib bzip2
288 Support: gzip hostname net-tools
289 Support: make patch sed gawk tar grep coreutils pkg-config
293 Support: which elfutils
294 Support: update-alternatives
295 Support: libstdc++-devel
301 Keep: libstdc++-devel
302 Keep: libstdc++%{gcc_version}-devel gcc%{gcc_version}-c++
303 Keep: cpp gcc libstdc++
305 Keep: binutils cpp libmagic-data file findutils gawk gcc gcc-c++
306 Keep: gdbm gzip libada libunwind glibc-devel libpcre xz-lzma-compat
307 Keep: make gmp libcap groff cpio
308 Keep: patch rpm-build nss nspr elfutils python grep libgcc gcc-c++
309 Keep: kernel-headers perl-libs perl
310 Keep: pkgconfig glib2 tizen-rpm-config
311 Keep: libmpc libmpfr libppl libgmp libppl_c
312 Keep: libcloog libppl libgmpxx
313 Keep: nss-softokn-freebl libmagic libmagic-data
315 Keep: update-alternatives
322 Substitute: gettext gettext-tools
325 Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
326 Substitute: libgcc_s1-32bit libgcc-32bit
328 Substitute: glibc-devel-32bit
331 ########## compilation flags ##########
333 #%__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
335 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
336 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
338 #generic arm platform
339 #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__
341 #activate neon FPU instructions set (crosswalk build)
342 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__
344 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 -mtune=cortex-a57.cortex-a53