Common: updated aggregates for -x11 repos
[scm/meta/obs.git] / Tizen:Common / _config
index e84a974..dc41c77 100644 (file)
+################################################################################
+# OBS Project config for Tizen:Common
+#
+# RE contacts:
+# Stephane Desneux <stephane.desneux@open.eurogiciel.org>
+# Ronan Le Martret <ronan.lemartret@open.eurogiciel.org>
+# Jose Bollo <jose.bollo@open.eurogiciel.org>
+#
+# Git mirror for OBS config: review.tizen.org:scm/meta/build-config / branch tizen_common
+#
+# vim: set syntax=spec:
+################################################################################
+
 Patterntype: rpm-md comps
 Release: <CI_CNT>.<B_CNT>
 Support: build
 Support: build-compare build-mkbaselibs
 Support: rpmlint-mini rpmlint-tizen
 
-
 %global aarch64  aarch64 arm64 armv8
 
 %ifarch ${aarch64}
 %define _arch aarch64
 %endif
 
+############################# conflicts resolution #############################
+
 FileProvides: /usr/sbin/groupadd pwdutils
 Prefer: util-linux
-Prefer: nfc-manager
-Prefer: nfc-manager-devel
-Prefer: nfc-common-lib-devel
-Prefer: nfc-common-lib
-Prefer: nfc-client-lib
-Prefer: nfc-client-lib-devel
 Prefer: libtapi-devel
+Prefer: libpci-devel
+
+############################# profile definition ###############################
+
+%define profile common
+%define _with_tizen 1
 
-#| wayland |  x  | meaning
-#|---------------------------
-#|   0     |  1  | pure X11 platform(no wayland)
-#|   1     |  0  | pure wayland platform (no X11)
-#|   1     |  1  | wayland but X compatibility
-#|   0     |  0  | no X and no wayland
+Macros:
+%profile common
+%tizen_version 3.0
+%tizen 3.0
+%vendor tizen
+%_vendor tizen
+%_with_tizen 1
+
+%check exit 0
+%run_check_section 0
+%opensuse_bs 1
+%_default_patch_fuzz   2
+:Macros
+
+############################# display system ###################################
+
+########## display system selection ##########
+
+# selection of the display system
+# this selection is done for each repository
+#
+# flags combinations:
+# |----------------------------------------------------
+# | wayland |  x  | meaning
+# |----------------------------------------------------
+# |   0     |  1  | pure X11 platform(no wayland)
+# |   1     |  0  | pure wayland platform (no X11)
+# |   1     |  1  | wayland but X compatibility
+# |   0     |  0  | no X and no wayland
+# |----------------------------------------------------
+#
+# Owner: Stephane <stephane.desneux@open.eurogiciel.org>
+
+########## RDP flag ##########
+
+# enable/disable RDP (remote desktop protocol) for wayland
+# flag: _with_rdp, used in repositories
+# Affects: weston, freerdp
+# Owner: Manuel <manuel.bachmann@open.eurogiciel.org>
+
+########## mesa activation ##########
+
+%define _with_mesa 1
+Macros:
+%_with_mesa 1
+:Macros
 
 %ifarch %arm armv7l %{aarch64}
-Substitute: mesa-devel pkgconfig(glesv2)
-Substitute: pkgconfig(egl)
+   Substitute: mesa-devel pkgconfig(glesv2)
+   #FIXME Substitute: pkgconfig(egl)
 %endif
 
+############################# wayland repositories #############################
+
 %if "%_repository" == "ia32-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland"|| "%_repository" == "arm"|| "%_repository" == "arm64" || "%_repository" == "arm64-wayland" || "%_repository" == "wayland" || "%_repository" == "standard"
-# mesa
+
 Substitute: pkgconfig(gles20)  pkgconfig(egl) pkgconfig(glesv2)
 Substitute: pkgconfig(gles11)  pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
+
 %define _with_wayland 1
+%define _with_rdp 1
+
 Macros:
 %_with_wayland 1
+%_with_rdp 1
 :Macros
+
 %endif
 
+############################# X11 repositories #################################
+
 %if "%_repository" == "ia32-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11" || "%_repository" == "x11"
-# mesa
+
 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2) pkgconfig(gl)
 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1_cm) pkgconfig(gl)
+
 %define _with_x 1
+
 Macros:
 %_with_x 1
 :Macros
+
 %endif
 
+############################# X+Wayland repositories ###########################
+
 %if "%_repository" == "ia32-xwayland" || "%_repository" == "x86_64-xwayland" || "%_repository" == "arm-xwayland" || "%_repository" == "arm64-xwayland" || "%_repository" == "xwayland"
-# mesa
+
 Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2) pkgconfig(gl)
 Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1_cm) pkgconfig(gl)
+
 %define _with_wayland 1
 %define _with_x 1
+
 Macros:
 %_with_wayland 1
 %_with_x 1
 :Macros
+
 %endif
 
-%if "%_repository" == "emulator"
+############################# emulator repositories ############################
+
+%if "%_repository" == "emulator32-wayland"
+
+Prefer: mesa-libGLESv2
+Prefer: libwayland-egl
+Prefer: libgbm
+Prefer: mesa-libGL
+Prefer: mesa-libEGL
 Prefer: emulator-yagl
-Prefer: -mesa
-%else
-Prefer: mesa
-Prefer: -emulator-yagl
-%end
 
-Prefer: libpci-devel
+Substitute: pkgconfig(gles20)  pkgconfig(egl) pkgconfig(glesv2)
+Substitute: pkgconfig(gles11)  pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl)
+
+%define _with_wayland 1
+%define _with_emulator 1
+
+Macros:
+%_with_wayland 1
+%_with_emulator 1
+:Macros
+
+%endif
 
+############################# misc config flags ################################
+
+# This build macro controls the libdlog output. If enabled,
+# libdlog writes to Systemd Journal. If disabled, libdlog writes to kernel Android
+# logger FIFO. Affects: dlog.
+# Owner: Mikko <mikko.ylinen@intel.com>
+Macros:
+%_with_dlog_to_systemd_journal 1
+:Macros
+
+# Macro used to handle bluetooth popups without syspopup/bt-syspopup which needs OSP .
+# In IVI, this macro permits to address bluetooth notifications (using C API) to notification-service daemon.
+# Then homescreen is supposed to deal with those notifications and display relevant popups.
+# Affects: bluetooth-frwk
+# Owner: Corentin Lecouvey <corentin.lecouvey@open.eurogiciel.org>
+Macros:
+%_with_bluetooth_frwk_libnotification 1
+:Macros
+
+# This build macro controls whether the OS uses
+# legacy nfc-manager or neard enabled nfc-manager-neard. If enabled,
+# nfc-manager-neard is used. Affects: nfc CAPI, emulator-plugin-nfc
+# Owner: Arron Wang <arron.wang@intel.com>
+Macros:
+%_with_neard_nfc 1
+:Macros
+
+# Uses mobile-specific Samsung patches for PulseAudio. Tizen Mobile needs
+# this -> Tizen Mobile is compiled with this option.
+# Owner: Ismo Puustinen <ismo.puustinen@intel.com>
+# FIXME: Why this extra define in the obs config ?
 %define _with_pulseaudio_samsung_policy 1
-%define _with_tizen 1
-%define _with_mesa 1
+Macros:
+%_with_pulseaudio_samsung_policy 1
+:Macros
+
+# Activate introspection
+# This is needed on GuPNP to build Rygel correctly in IVI
+# Impacts potentially packages that use gobject-introspection
+# Owner: Mikko <mikko.ylinen@intel.com>
+Macros:
+%_with_introspection 1
+:Macros
+
+############################# build config #####################################
+
 %define gcc_version 48
-%define profile common
+
+########## targets ##########
 
 %ifarch i586
 Target: i686-tizen-linux
@@ -97,6 +226,8 @@ Target: armv7l-tizen-linux
 Target: aarch64-tizen-linux
 %endif
 
+########## cross build ##########
+
 %ifarch %arm armv7l
 Hostarch: x86_64
 # cross build support for the build hosts
@@ -107,22 +238,13 @@ Keep: qemu-linux-user-cross-arm
 %ifarch armv7hl
 Preinstall: qemu-accel-armv7hl
 Runscripts: qemu-accel-armv7hl
-Preinstall: util-linux libmount libblkid libuuid
+Preinstall: libmount libblkid libuuid
 %endif
+
 %ifarch armv7l
-Preinstall: qemu-accel-armv7l
-Runscripts: qemu-accel-armv7l
-Preinstall: util-linux libmount libblkid libuuid
-%endif
-%ifarch armv7el
-Preinstall: qemu-accel-armv7el
-Runscripts: qemu-accel-armv7el
-Preinstall: util-linux libmount libblkid libuuid
-%endif
-%ifarch aarch64
-Preinstall: qemu-accel-aarch64-cross-arm
-Runscripts: qemu-accel-aarch64-cross-arm
-Preinstall: util-linux libmount libblkid libuuid
+Preinstall: qemu-accel-armv7l-cross-arm
+Runscripts: qemu-accel-armv7l-cross-arm
+Preinstall: libmount libblkid libuuid
 %endif
 
 %ifarch aarch64
@@ -136,13 +258,11 @@ Preinstall: rpm rpm-build pam db4
 Preinstall: libncurses libmpc libmpfr libgmp cloog-isl
 Preinstall: python
 
-
 #hack to start build without proper binfmt
 Preinstall: !bbb-cross-arm
 Ignore:     bbb-cross-arm
 Preinstall: bash
 
-
 #provides until we can build libs correctly
 #FileProvides: libc.so.6 glibc
 #FileProvides: libc.so.6(GLIBC_2.4) glibc
@@ -194,17 +314,21 @@ Preinstall: bash
 #FileProvides: libxml2.so.2(LIBXML2_2.6.0) libxml2
 #FileProvides: librpm.so.3()(64bit) rpm
 #FileProvides: librpmio.so.3()(64bit) rpm
-%endif
+%endif # aarch64
 
-ExportFilter: ^qemu-linux-user.*\.x86_64\.rpm$ . armv7l armv7hl aarch64
+########## exports for different architectures ##########
+
+ExportFilter: ^qemu-linux-user.*\..*\.rpm$ . armv7l armv7hl aarch64
+
+ExportFilter: ^qemu-accel-armv7hl.*\..*\.rpm$ .  armv7hl
+ExportFilter: ^qemu-accel-armv7l.*\..*\.rpm$ .  armv7l
+ExportFilter: ^qemu-accel-aarch64.*\..*\.rpm$ .  aarch64
 
-ExportFilter: ^qemu-accel-armv7hl.*\.i686\.rpm$ .  armv7hl
-ExportFilter: ^qemu-accel-armv7l.*\.i686\.rpm$ .  armv7l
-ExportFilter: ^qemu-accel-aarch64.*\.i686\.rpm$ .  aarch64
 ExportFilter: \.armv7l\.rpm$ armv7l
 ExportFilter: \.aarch64\.rpm$ aarch64
 ExportFilter: \.x86_64\.rpm$ x86_64
 
+########## buildroot config ##########
 
 Preinstall: setup filesystem
 RunScripts: setup
@@ -223,6 +347,7 @@ Preinstall: liblua
 Preinstall: smack libsmack libxml2 libmagic  libmagic-data
 Preinstall: libsqlite
 Preinstall: rpm-security-plugin
+Preinstall: util-linux
 
 VMinstall: perl libmount libblkid libext2fs libuuid  grep libpcre util-linux
 
@@ -231,6 +356,7 @@ Support: cross-aarch64-binutils cross-aarch64-gcc48-icecream-backend
 %endif
 Required: binutils gcc glibc rpm-build libtool
 
+Support: glibc-locale
 Support: perl
 Support: hostname
 Support: cpio findutils
@@ -243,7 +369,7 @@ Support: less
 Support: which  elfutils
 Support: update-alternatives
 
-# TO REMOVE
+# FIXME: TO REMOVE (? comes from IVI)
 Support: gcc-c++
 
 Keep: cpp%{gcc_version} gcc%{gcc_version} gcc%{gcc_version}-ada libstdc++%{gcc_version}
@@ -266,40 +392,22 @@ Prefer: libstdc++%{gcc_version}-32bit libstdc++%{gcc_version}-64bit
 
 Substitute: gettext gettext-tools
 
-
 %ifarch x86_64
 Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit
 %else
 Substitute: glibc-devel-32bit
 %endif
 
+########## compilation flags ##########
 
 #%__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
 
 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
 
-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 -D__SOFTFP__
-
-Optflags: aarch64 -O2 -g2 -feliminate-unused-debug-types -pipe -Wall  -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector  -Wformat -Wformat-security -fmessage-length=0
-
-Macros:
-
-%profile common
-
-%_with_pulseaudio_samsung_policy 1
-%_with_tizen 1
-%_with_mesa 1
-%check exit 0
-%run_check_section 0
-%opensuse_bs 1
-%_default_patch_fuzz   2
-%_with_dlog_to_systemd_journal 1
-%_with_bluetooth_frwk_libnotification 1
-%_with_neard_nfc 1
-
-%tizen_version 3.0
-%tizen 3.0
+#generic arm platform
+#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 -D__SOFTFP__
 
-%vendor tizen
-%_vendor tizen
+#activate neon FPU instructions set (crosswalk build)
+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 -D__SOFTFP__
 
+Optflags: aarch64 -O2 -g2 -feliminate-unused-debug-types -pipe -Wall  -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector  -Wformat -Wformat-security -fmessage-length=0