1 %define _project Tizen:Mobile
4 %define _repository arm64-wayland
7 %vendor obs://build.tizen.org/Tizen:Mobile
10 %distribution Tizen:Mobile / arm64-wayland
11 %_project Tizen:Mobile
15 %_repository arm64-wayland
18 ################################################################################
19 # OBS Project config for Tizen:Mobile
22 # Joonsub Lee <joon-sub.lee@samsung.com>
24 # vim: set syntax=spec:
25 ################################################################################
27 Patterntype: rpm-md comps
28 Release: <CI_CNT>.<B_CNT>
30 Support: build-compare build-mkbaselibs
31 Support: !rpmlint-mini !rpmlint-tizen
33 ############################# conflicts resolution #############################
35 FileProvides: /usr/sbin/groupadd pwdutils
40 ############################# profile definition ###############################
42 %define profile mobile
45 # %release_name and %tizen_full_version are used in platform/upstream/tizen-release
49 %release_name Tizen3/Mobile
51 %tizen_version_major 3
52 %tizen_version_minor 0
53 %tizen_version_patch 0
55 %tizen_version %{tizen_version_major}.%{tizen_version_minor}
56 %tizen_full_version %{tizen_version}.%{tizen_version_patch}
65 %_default_patch_fuzz 2
68 ############################# display system ###################################
70 ########## display system selection ##########
72 # selection of the display system
73 # this selection is done for each repository
76 # |----------------------------------------------------
77 # | wayland | x | meaning
78 # |----------------------------------------------------
79 # | | 1 | pure X11 platform(no wayland)
80 # | 1 | | pure wayland platform (no X11)
81 # | 1 | 1 | wayland but X compatibility
82 # | | | no X and no wayland
83 # |----------------------------------------------------
85 # Owner: Stephane <stephane.desneux@open.eurogiciel.org>
87 ########## RDP flag ##########
89 # enable/disable RDP (remote desktop protocol) for wayland
90 # flag: _with_rdp, used in repositories
91 # Affects: weston, freerdp
92 # Owner: Manuel <manuel.bachmann@open.eurogiciel.org>
94 ########## mesa activation ##########
101 %ifarch %arm armv7l %{aarch64}
102 Substitute: mesa-devel pkgconfig(glesv2)
103 #FIXME Substitute: pkgconfig(egl)
106 ############################# wayland repositories #############################
108 %if "%_repository" == "atom-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland" || "%_repository" == "arm64-wayland"
110 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2)
111 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
113 %define _with_wayland 1
123 ############################# X11 repositories #################################
125 %if "%_repository" == "atom-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11"
126 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2) pkgconfig(gl)
127 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1_cm) pkgconfig(gl)
137 ############################# emulator repositories ############################
139 %if "%_repository" == "emulator32-wayland" || "%_repository" == "emulator64-wayland"
141 Prefer: mesa-libGLESv2
142 Prefer: libwayland-egl
146 Prefer: emulator-yagl
148 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2)
149 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
151 %define _with_wayland 1
152 %define _with_emulator 1
161 ############################# misc config flags ################################
163 # This build macro controls the libdlog output. If enabled,
164 # libdlog writes to Systemd Journal. If disabled, libdlog writes to kernel Android
165 # logger FIFO. Affects: dlog.
166 # Owner: Mikko <mikko.ylinen@intel.com>
168 %_with_dlog_to_systemd_journal 1
171 # Macro used to handle bluetooth popups without syspopup/bt-syspopup which needs OSP .
172 # In IVI, this macro permits to address bluetooth notifications (using C API) to notification-service daemon.
173 # Then homescreen is supposed to deal with those notifications and display relevant popups.
174 # Affects: bluetooth-frwk
175 # Owner: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
177 %_with_bluetooth_frwk_libnotification 1
180 # This build macro controls whether the OS uses
181 # legacy nfc-manager or neard enabled nfc-manager-neard. If enabled,
182 # nfc-manager-neard is used. Affects: nfc CAPI, emulator-plugin-nfc
183 # Owner: Arron Wang <arron.wang@intel.com>
188 # Uses mobile-specific Samsung patches for PulseAudio. Tizen Mobile needs
189 # this -> Tizen Mobile is compiled with this option.
190 # Owner: Ismo Puustinen <ismo.puustinen@intel.com>
191 # FIXME: Why this extra define in the obs config ?
192 %define _with_pulseaudio_samsung_policy 1
194 %_with_pulseaudio_samsung_policy 1
197 # Activate introspection
198 # This is needed on GuPNP to build Rygel correctly in IVI
199 # Impacts potentially packages that use gobject-introspection
200 # Owner: Mikko <mikko.ylinen@intel.com>
202 %_with_introspection 1
205 ############################# build config #####################################
207 %define gcc_version 49
212 ########## targets ##########
215 Target: i686-tizen-linux
219 Target: armv7hl-tizen-linux
223 Target: armv7l-tizen-linux
227 Target: aarch64-tizen-linux
230 ########## cross build ##########/ex
234 # cross build support for the build hosts
235 Preinstall: qemu-linux-user-cross-arm
236 Keep: qemu-linux-user-cross-arm
240 Preinstall: qemu-accel-armv7hl
241 Runscripts: qemu-accel-armv7hl
242 Preinstall: libmount libblkid libuuid
246 Preinstall: qemu-accel-armv7l-cross-arm
247 Runscripts: qemu-accel-armv7l-cross-arm
248 Preinstall: libmount libblkid libuuid
253 Preinstall: qemu-linux-user-cross-arm
254 Keep: qemu-linux-user-cross-arm
255 Preinstall: qemu-accel-aarch64-cross-aarch64
256 Runscripts: qemu-accel-aarch64-cross-aarch64
257 Preinstall: libmount libblkid libuuid
260 ########## exports for different architectures ##########
262 ExportFilter: \.armv7l\.rpm$ armv7l
263 ExportFilter: \.aarch64\.rpm$ aarch64
264 ExportFilter: \.x86_64\.rpm$ x86_64
266 ########## buildroot config ##########
268 Preinstall: setup filesystem
271 Preinstall: bash bzip2 coreutils diffutils grep rpm
272 Preinstall: glibc libacl libattr
274 Preinstall: libgcc_s1
275 Preinstall: libpopt sed tar zlib
276 Preinstall: libncurses libreadline
277 Preinstall: libelf libbz2
279 Preinstall: nss nspr libfreebl3 libsoftokn3
282 Preinstall: smack libsmack libxml2 libmagic libmagic-data
283 Preinstall: libsqlite
284 #Preinstall: rpm-security-plugin
285 Preinstall: util-linux
287 VMinstall: perl libmount libblkid libext2fs libuuid grep libpcre util-linux
289 Required: binutils gcc glibc rpm-build libtool
291 Support: glibc-locale
294 Support: cpio findutils
295 Support: file findutils zlib bzip2
296 Support: gzip hostname net-tools
297 Support: make patch sed gawk tar grep coreutils pkg-config
301 Support: which elfutils
302 Support: update-alternatives
304 # FIXME: TO REMOVE (? comes from IVI)
307 Keep: cpp%{gcc_version} gcc%{gcc_version} gcc%{gcc_version}-ada libstdc++%{gcc_version}
308 Keep: libstdc++%{gcc_version}-devel gcc%{gcc_version}-c++
309 Keep: cpp gcc libstdc++
311 Keep: binutils cpp libmagic-data file findutils gawk gcc gcc-c++
312 Keep: gdbm gzip libada libunwind glibc-devel libpcre xz-lzma-compat
313 Keep: make gmp libcap groff cpio
314 Keep: patch rpm-build nss nspr elfutils python grep libgcc gcc-c++
315 Keep: kernel-headers perl-libs perl
316 Keep: pkgconfig glib2 tizen-rpm-config
317 Keep: libmpc libmpfr libppl libgmp libppl_c
318 Keep: libcloog libppl libgmpxx
319 Keep: nss-softokn-freebl libmagic libmagic-data
321 Keep: update-alternatives
322 Prefer: libstdc++%{gcc_version} libgcc%{gcc_version}
323 Prefer: libstdc++%{gcc_version}-32bit libstdc++%{gcc_version}-64bit
325 Substitute: gettext gettext-tools
328 Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
330 Substitute: glibc-devel-32bit
333 ########## compilation flags ##########
334 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__
335 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
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
337 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