From 31e4c94ce0f2316bd0fa2ff2bd22bf7773fb6cb7 Mon Sep 17 00:00:00 2001 From: Li Jinjing Date: Wed, 22 Apr 2015 17:58:38 +0800 Subject: [PATCH] Update build-config for mobile branch from OBS Change-Id: Iffab5c18c4a7e52819c03e20a356a8156003ae0c Signed-off-by: Li Jinjing --- build-arm-wayland.conf | 337 ++++++++++++++++++++++++++++++++++++++++++++++ build-arm-x11.conf | 42 ++++++ build-arm64-wayland.conf | 337 ++++++++++++++++++++++++++++++++++++++++++++++ build-arm64-x11.conf | 42 ++++++ build-atom-wayland.conf | 337 ++++++++++++++++++++++++++++++++++++++++++++++ build-atom-x11.conf | 42 ++++++ build-x86_64-wayland.conf | 337 ++++++++++++++++++++++++++++++++++++++++++++++ build-x86_64-x11.conf | 42 ++++++ meta.xml | 25 +++- 9 files changed, 1538 insertions(+), 3 deletions(-) create mode 100644 build-arm-wayland.conf create mode 100644 build-arm64-wayland.conf create mode 100644 build-atom-wayland.conf create mode 100644 build-x86_64-wayland.conf diff --git a/build-arm-wayland.conf b/build-arm-wayland.conf new file mode 100644 index 0000000..8f57910 --- /dev/null +++ b/build-arm-wayland.conf @@ -0,0 +1,337 @@ +%define _project Tizen:Mobile + +### from Tizen:Mobile +%define _repository arm-wayland + +Macros: +%vendor obs://build.tizen.org/Tizen:Mobile +%_project Tizen:Mobile + +%distribution Tizen:Mobile / arm-wayland +%_project Tizen:Mobile + +### from Tizen:Mobile + +%_repository arm-wayland +:Macros + +################################################################################ +# OBS Project config for Tizen:Mobile +# +# RE contacts: +# Joonsub Lee +# +# vim: set syntax=spec: +################################################################################ + +Patterntype: rpm-md comps +Release: . +Support: build +Support: build-compare build-mkbaselibs +Support: rpmlint-mini rpmlint-tizen + +############################# conflicts resolution ############################# + +FileProvides: /usr/sbin/groupadd pwdutils +Prefer: util-linux +Prefer: libtapi-devel +Prefer: libpci-devel + +############################# profile definition ############################### + +%define profile mobile +%define _with_tizen 1 + +# %release_name and %tizen_full_version are used in platform/upstream/tizen-release + +Macros: +%profile mobile +%release_name Tizen3/Mobile + +%tizen_version_major 3 +%tizen_version_minor 0 +%tizen_version_patch 0 + +%tizen_version %{tizen_version_major}.%{tizen_version_minor} +%tizen_full_version %{tizen_version}.%{tizen_version_patch} +%tizen %tizen_version +%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 +# |---------------------------------------------------- +# | | 1 | pure X11 platform(no wayland) +# | 1 | | pure wayland platform (no X11) +# | 1 | 1 | wayland but X compatibility +# | | | no X and no wayland +# |---------------------------------------------------- +# +# Owner: Stephane + +########## RDP flag ########## + +# enable/disable RDP (remote desktop protocol) for wayland +# flag: _with_rdp, used in repositories +# Affects: weston, freerdp +# Owner: Manuel + +########## mesa activation ########## + +%define _with_mesa 1 +Macros: +%_with_mesa 1 +:Macros + +%ifarch %arm armv7l %{aarch64} + Substitute: mesa-devel pkgconfig(glesv2) + #FIXME Substitute: pkgconfig(egl) +%endif + +############################# wayland repositories ############################# + +%if "%_repository" == "atom-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland" || "%_repository" == "arm64-wayland" + +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" == "atom-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11" +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 + +############################# emulator repositories ############################ + +%if "%_repository" == "emulator32-wayland" + +Prefer: mesa-libGLESv2 +Prefer: libwayland-egl +Prefer: libgbm +Prefer: mesa-libGL +Prefer: mesa-libEGL +Prefer: emulator-yagl + +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 +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 +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 +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 +# FIXME: Why this extra define in the obs config ? +%define _with_pulseaudio_samsung_policy 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 +Macros: +%_with_introspection 1 +:Macros + +############################# build config ##################################### + +%define gcc_version 49 +Macros: +%gcc_version 49 +:Macros + +########## targets ########## + +%ifarch i586 +Target: i686-tizen-linux +%endif + +%ifarch armv7hl +Target: armv7hl-tizen-linux +%endif + +%ifarch armv7l +Target: armv7l-tizen-linux +%endif + +%ifarch aarch64 +Target: aarch64-tizen-linux +%endif + +########## cross build ##########/ex + +%ifarch %arm armv7l +Hostarch: x86_64 +# cross build support for the build hosts +Preinstall: qemu-linux-user-cross-arm +Keep: qemu-linux-user-cross-arm +%endif + +%ifarch armv7hl +Preinstall: qemu-accel-armv7hl +Runscripts: qemu-accel-armv7hl +Preinstall: libmount libblkid libuuid +%endif + +%ifarch armv7l +Preinstall: qemu-accel-armv7l-cross-arm +Runscripts: qemu-accel-armv7l-cross-arm +Preinstall: libmount libblkid libuuid +%endif + +%ifarch aarch64 +Hostarch: x86_64 +Preinstall: qemu-linux-user-cross-arm +Keep: qemu-linux-user-cross-arm +Preinstall: qemu-accel-aarch64-cross-aarch64 +Runscripts: qemu-accel-aarch64-cross-aarch64 +Preinstall: libmount libblkid libuuid +%endif + +########## exports for different architectures ########## + +ExportFilter: \.armv7l\.rpm$ armv7l +ExportFilter: \.aarch64\.rpm$ aarch64 +ExportFilter: \.x86_64\.rpm$ x86_64 + +########## buildroot config ########## + +Preinstall: setup filesystem +RunScripts: setup + +Preinstall: bash bzip2 coreutils diffutils grep rpm +Preinstall: glibc libacl libattr +Preinstall: libcap +Preinstall: libgcc_s1 +Preinstall: libpopt sed tar zlib +Preinstall: libncurses libreadline +Preinstall: libelf libbz2 +Preinstall: liblzma +Preinstall: nss nspr libfreebl3 libsoftokn3 +Preinstall: libmagic +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 + +Required: binutils gcc glibc rpm-build libtool + +Support: glibc-locale +Support: perl +Support: hostname +Support: cpio findutils +Support: file findutils zlib bzip2 +Support: gzip hostname net-tools +Support: make patch sed gawk tar grep coreutils pkg-config +Support: m4 tzdata +Support: util-linux +Support: less +Support: which elfutils +Support: update-alternatives + +# FIXME: TO REMOVE (? comes from IVI) +Support: gcc-c++ + +Keep: cpp%{gcc_version} gcc%{gcc_version} gcc%{gcc_version}-ada libstdc++%{gcc_version} +Keep: libstdc++%{gcc_version}-devel gcc%{gcc_version}-c++ +Keep: cpp gcc libstdc++ +Keep: pam +Keep: binutils cpp libmagic-data file findutils gawk gcc gcc-c++ +Keep: gdbm gzip libada libunwind glibc-devel libpcre xz-lzma-compat +Keep: make gmp libcap groff cpio +Keep: patch rpm-build nss nspr elfutils python grep libgcc gcc-c++ +Keep: kernel-headers perl-libs perl +Keep: pkgconfig glib2 tizen-rpm-config +Keep: libmpc libmpfr libppl libgmp libppl_c +Keep: libcloog libppl libgmpxx +Keep: nss-softokn-freebl libmagic libmagic-data +Keep: setup +Keep: update-alternatives +Prefer: libstdc++%{gcc_version} libgcc%{gcc_version} +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 ########## +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__ +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 +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 +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 diff --git a/build-arm-x11.conf b/build-arm-x11.conf index ef28a47..5cbd2e2 100644 --- a/build-arm-x11.conf +++ b/build-arm-x11.conf @@ -103,6 +103,23 @@ Macros: #FIXME Substitute: pkgconfig(egl) %endif +############################# wayland repositories ############################# + +%if "%_repository" == "atom-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland" || "%_repository" == "arm64-wayland" + +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" == "atom-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11" @@ -117,6 +134,29 @@ Macros: %endif +############################# emulator repositories ############################ + +%if "%_repository" == "emulator32-wayland" + +Prefer: mesa-libGLESv2 +Prefer: libwayland-egl +Prefer: libgbm +Prefer: mesa-libGL +Prefer: mesa-libEGL +Prefer: emulator-yagl + +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 ################################ @@ -293,3 +333,5 @@ Substitute: glibc-devel-32bit ########## compilation flags ########## 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__ 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 +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 +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 diff --git a/build-arm64-wayland.conf b/build-arm64-wayland.conf new file mode 100644 index 0000000..96ae211 --- /dev/null +++ b/build-arm64-wayland.conf @@ -0,0 +1,337 @@ +%define _project Tizen:Mobile + +### from Tizen:Mobile +%define _repository arm64-wayland + +Macros: +%vendor obs://build.tizen.org/Tizen:Mobile +%_project Tizen:Mobile + +%distribution Tizen:Mobile / arm64-wayland +%_project Tizen:Mobile + +### from Tizen:Mobile + +%_repository arm64-wayland +:Macros + +################################################################################ +# OBS Project config for Tizen:Mobile +# +# RE contacts: +# Joonsub Lee +# +# vim: set syntax=spec: +################################################################################ + +Patterntype: rpm-md comps +Release: . +Support: build +Support: build-compare build-mkbaselibs +Support: rpmlint-mini rpmlint-tizen + +############################# conflicts resolution ############################# + +FileProvides: /usr/sbin/groupadd pwdutils +Prefer: util-linux +Prefer: libtapi-devel +Prefer: libpci-devel + +############################# profile definition ############################### + +%define profile mobile +%define _with_tizen 1 + +# %release_name and %tizen_full_version are used in platform/upstream/tizen-release + +Macros: +%profile mobile +%release_name Tizen3/Mobile + +%tizen_version_major 3 +%tizen_version_minor 0 +%tizen_version_patch 0 + +%tizen_version %{tizen_version_major}.%{tizen_version_minor} +%tizen_full_version %{tizen_version}.%{tizen_version_patch} +%tizen %tizen_version +%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 +# |---------------------------------------------------- +# | | 1 | pure X11 platform(no wayland) +# | 1 | | pure wayland platform (no X11) +# | 1 | 1 | wayland but X compatibility +# | | | no X and no wayland +# |---------------------------------------------------- +# +# Owner: Stephane + +########## RDP flag ########## + +# enable/disable RDP (remote desktop protocol) for wayland +# flag: _with_rdp, used in repositories +# Affects: weston, freerdp +# Owner: Manuel + +########## mesa activation ########## + +%define _with_mesa 1 +Macros: +%_with_mesa 1 +:Macros + +%ifarch %arm armv7l %{aarch64} + Substitute: mesa-devel pkgconfig(glesv2) + #FIXME Substitute: pkgconfig(egl) +%endif + +############################# wayland repositories ############################# + +%if "%_repository" == "atom-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland" || "%_repository" == "arm64-wayland" + +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" == "atom-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11" +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 + +############################# emulator repositories ############################ + +%if "%_repository" == "emulator32-wayland" + +Prefer: mesa-libGLESv2 +Prefer: libwayland-egl +Prefer: libgbm +Prefer: mesa-libGL +Prefer: mesa-libEGL +Prefer: emulator-yagl + +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 +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 +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 +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 +# FIXME: Why this extra define in the obs config ? +%define _with_pulseaudio_samsung_policy 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 +Macros: +%_with_introspection 1 +:Macros + +############################# build config ##################################### + +%define gcc_version 49 +Macros: +%gcc_version 49 +:Macros + +########## targets ########## + +%ifarch i586 +Target: i686-tizen-linux +%endif + +%ifarch armv7hl +Target: armv7hl-tizen-linux +%endif + +%ifarch armv7l +Target: armv7l-tizen-linux +%endif + +%ifarch aarch64 +Target: aarch64-tizen-linux +%endif + +########## cross build ##########/ex + +%ifarch %arm armv7l +Hostarch: x86_64 +# cross build support for the build hosts +Preinstall: qemu-linux-user-cross-arm +Keep: qemu-linux-user-cross-arm +%endif + +%ifarch armv7hl +Preinstall: qemu-accel-armv7hl +Runscripts: qemu-accel-armv7hl +Preinstall: libmount libblkid libuuid +%endif + +%ifarch armv7l +Preinstall: qemu-accel-armv7l-cross-arm +Runscripts: qemu-accel-armv7l-cross-arm +Preinstall: libmount libblkid libuuid +%endif + +%ifarch aarch64 +Hostarch: x86_64 +Preinstall: qemu-linux-user-cross-arm +Keep: qemu-linux-user-cross-arm +Preinstall: qemu-accel-aarch64-cross-aarch64 +Runscripts: qemu-accel-aarch64-cross-aarch64 +Preinstall: libmount libblkid libuuid +%endif + +########## exports for different architectures ########## + +ExportFilter: \.armv7l\.rpm$ armv7l +ExportFilter: \.aarch64\.rpm$ aarch64 +ExportFilter: \.x86_64\.rpm$ x86_64 + +########## buildroot config ########## + +Preinstall: setup filesystem +RunScripts: setup + +Preinstall: bash bzip2 coreutils diffutils grep rpm +Preinstall: glibc libacl libattr +Preinstall: libcap +Preinstall: libgcc_s1 +Preinstall: libpopt sed tar zlib +Preinstall: libncurses libreadline +Preinstall: libelf libbz2 +Preinstall: liblzma +Preinstall: nss nspr libfreebl3 libsoftokn3 +Preinstall: libmagic +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 + +Required: binutils gcc glibc rpm-build libtool + +Support: glibc-locale +Support: perl +Support: hostname +Support: cpio findutils +Support: file findutils zlib bzip2 +Support: gzip hostname net-tools +Support: make patch sed gawk tar grep coreutils pkg-config +Support: m4 tzdata +Support: util-linux +Support: less +Support: which elfutils +Support: update-alternatives + +# FIXME: TO REMOVE (? comes from IVI) +Support: gcc-c++ + +Keep: cpp%{gcc_version} gcc%{gcc_version} gcc%{gcc_version}-ada libstdc++%{gcc_version} +Keep: libstdc++%{gcc_version}-devel gcc%{gcc_version}-c++ +Keep: cpp gcc libstdc++ +Keep: pam +Keep: binutils cpp libmagic-data file findutils gawk gcc gcc-c++ +Keep: gdbm gzip libada libunwind glibc-devel libpcre xz-lzma-compat +Keep: make gmp libcap groff cpio +Keep: patch rpm-build nss nspr elfutils python grep libgcc gcc-c++ +Keep: kernel-headers perl-libs perl +Keep: pkgconfig glib2 tizen-rpm-config +Keep: libmpc libmpfr libppl libgmp libppl_c +Keep: libcloog libppl libgmpxx +Keep: nss-softokn-freebl libmagic libmagic-data +Keep: setup +Keep: update-alternatives +Prefer: libstdc++%{gcc_version} libgcc%{gcc_version} +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 ########## +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__ +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 +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 +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 diff --git a/build-arm64-x11.conf b/build-arm64-x11.conf index da25ec5..7d3365d 100644 --- a/build-arm64-x11.conf +++ b/build-arm64-x11.conf @@ -103,6 +103,23 @@ Macros: #FIXME Substitute: pkgconfig(egl) %endif +############################# wayland repositories ############################# + +%if "%_repository" == "atom-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland" || "%_repository" == "arm64-wayland" + +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" == "atom-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11" @@ -117,6 +134,29 @@ Macros: %endif +############################# emulator repositories ############################ + +%if "%_repository" == "emulator32-wayland" + +Prefer: mesa-libGLESv2 +Prefer: libwayland-egl +Prefer: libgbm +Prefer: mesa-libGL +Prefer: mesa-libEGL +Prefer: emulator-yagl + +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 ################################ @@ -293,3 +333,5 @@ Substitute: glibc-devel-32bit ########## compilation flags ########## 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__ 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 +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 +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 diff --git a/build-atom-wayland.conf b/build-atom-wayland.conf new file mode 100644 index 0000000..69876d9 --- /dev/null +++ b/build-atom-wayland.conf @@ -0,0 +1,337 @@ +%define _project Tizen:Mobile + +### from Tizen:Mobile +%define _repository atom-wayland + +Macros: +%vendor obs://build.tizen.org/Tizen:Mobile +%_project Tizen:Mobile + +%distribution Tizen:Mobile / atom-wayland +%_project Tizen:Mobile + +### from Tizen:Mobile + +%_repository atom-wayland +:Macros + +################################################################################ +# OBS Project config for Tizen:Mobile +# +# RE contacts: +# Joonsub Lee +# +# vim: set syntax=spec: +################################################################################ + +Patterntype: rpm-md comps +Release: . +Support: build +Support: build-compare build-mkbaselibs +Support: rpmlint-mini rpmlint-tizen + +############################# conflicts resolution ############################# + +FileProvides: /usr/sbin/groupadd pwdutils +Prefer: util-linux +Prefer: libtapi-devel +Prefer: libpci-devel + +############################# profile definition ############################### + +%define profile mobile +%define _with_tizen 1 + +# %release_name and %tizen_full_version are used in platform/upstream/tizen-release + +Macros: +%profile mobile +%release_name Tizen3/Mobile + +%tizen_version_major 3 +%tizen_version_minor 0 +%tizen_version_patch 0 + +%tizen_version %{tizen_version_major}.%{tizen_version_minor} +%tizen_full_version %{tizen_version}.%{tizen_version_patch} +%tizen %tizen_version +%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 +# |---------------------------------------------------- +# | | 1 | pure X11 platform(no wayland) +# | 1 | | pure wayland platform (no X11) +# | 1 | 1 | wayland but X compatibility +# | | | no X and no wayland +# |---------------------------------------------------- +# +# Owner: Stephane + +########## RDP flag ########## + +# enable/disable RDP (remote desktop protocol) for wayland +# flag: _with_rdp, used in repositories +# Affects: weston, freerdp +# Owner: Manuel + +########## mesa activation ########## + +%define _with_mesa 1 +Macros: +%_with_mesa 1 +:Macros + +%ifarch %arm armv7l %{aarch64} + Substitute: mesa-devel pkgconfig(glesv2) + #FIXME Substitute: pkgconfig(egl) +%endif + +############################# wayland repositories ############################# + +%if "%_repository" == "atom-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland" || "%_repository" == "arm64-wayland" + +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" == "atom-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11" +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 + +############################# emulator repositories ############################ + +%if "%_repository" == "emulator32-wayland" + +Prefer: mesa-libGLESv2 +Prefer: libwayland-egl +Prefer: libgbm +Prefer: mesa-libGL +Prefer: mesa-libEGL +Prefer: emulator-yagl + +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 +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 +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 +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 +# FIXME: Why this extra define in the obs config ? +%define _with_pulseaudio_samsung_policy 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 +Macros: +%_with_introspection 1 +:Macros + +############################# build config ##################################### + +%define gcc_version 49 +Macros: +%gcc_version 49 +:Macros + +########## targets ########## + +%ifarch i586 +Target: i686-tizen-linux +%endif + +%ifarch armv7hl +Target: armv7hl-tizen-linux +%endif + +%ifarch armv7l +Target: armv7l-tizen-linux +%endif + +%ifarch aarch64 +Target: aarch64-tizen-linux +%endif + +########## cross build ##########/ex + +%ifarch %arm armv7l +Hostarch: x86_64 +# cross build support for the build hosts +Preinstall: qemu-linux-user-cross-arm +Keep: qemu-linux-user-cross-arm +%endif + +%ifarch armv7hl +Preinstall: qemu-accel-armv7hl +Runscripts: qemu-accel-armv7hl +Preinstall: libmount libblkid libuuid +%endif + +%ifarch armv7l +Preinstall: qemu-accel-armv7l-cross-arm +Runscripts: qemu-accel-armv7l-cross-arm +Preinstall: libmount libblkid libuuid +%endif + +%ifarch aarch64 +Hostarch: x86_64 +Preinstall: qemu-linux-user-cross-arm +Keep: qemu-linux-user-cross-arm +Preinstall: qemu-accel-aarch64-cross-aarch64 +Runscripts: qemu-accel-aarch64-cross-aarch64 +Preinstall: libmount libblkid libuuid +%endif + +########## exports for different architectures ########## + +ExportFilter: \.armv7l\.rpm$ armv7l +ExportFilter: \.aarch64\.rpm$ aarch64 +ExportFilter: \.x86_64\.rpm$ x86_64 + +########## buildroot config ########## + +Preinstall: setup filesystem +RunScripts: setup + +Preinstall: bash bzip2 coreutils diffutils grep rpm +Preinstall: glibc libacl libattr +Preinstall: libcap +Preinstall: libgcc_s1 +Preinstall: libpopt sed tar zlib +Preinstall: libncurses libreadline +Preinstall: libelf libbz2 +Preinstall: liblzma +Preinstall: nss nspr libfreebl3 libsoftokn3 +Preinstall: libmagic +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 + +Required: binutils gcc glibc rpm-build libtool + +Support: glibc-locale +Support: perl +Support: hostname +Support: cpio findutils +Support: file findutils zlib bzip2 +Support: gzip hostname net-tools +Support: make patch sed gawk tar grep coreutils pkg-config +Support: m4 tzdata +Support: util-linux +Support: less +Support: which elfutils +Support: update-alternatives + +# FIXME: TO REMOVE (? comes from IVI) +Support: gcc-c++ + +Keep: cpp%{gcc_version} gcc%{gcc_version} gcc%{gcc_version}-ada libstdc++%{gcc_version} +Keep: libstdc++%{gcc_version}-devel gcc%{gcc_version}-c++ +Keep: cpp gcc libstdc++ +Keep: pam +Keep: binutils cpp libmagic-data file findutils gawk gcc gcc-c++ +Keep: gdbm gzip libada libunwind glibc-devel libpcre xz-lzma-compat +Keep: make gmp libcap groff cpio +Keep: patch rpm-build nss nspr elfutils python grep libgcc gcc-c++ +Keep: kernel-headers perl-libs perl +Keep: pkgconfig glib2 tizen-rpm-config +Keep: libmpc libmpfr libppl libgmp libppl_c +Keep: libcloog libppl libgmpxx +Keep: nss-softokn-freebl libmagic libmagic-data +Keep: setup +Keep: update-alternatives +Prefer: libstdc++%{gcc_version} libgcc%{gcc_version} +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 ########## +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__ +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 +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 +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 diff --git a/build-atom-x11.conf b/build-atom-x11.conf index 82f446e..de82b26 100644 --- a/build-atom-x11.conf +++ b/build-atom-x11.conf @@ -103,6 +103,23 @@ Macros: #FIXME Substitute: pkgconfig(egl) %endif +############################# wayland repositories ############################# + +%if "%_repository" == "atom-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland" || "%_repository" == "arm64-wayland" + +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" == "atom-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11" @@ -117,6 +134,29 @@ Macros: %endif +############################# emulator repositories ############################ + +%if "%_repository" == "emulator32-wayland" + +Prefer: mesa-libGLESv2 +Prefer: libwayland-egl +Prefer: libgbm +Prefer: mesa-libGL +Prefer: mesa-libEGL +Prefer: emulator-yagl + +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 ################################ @@ -293,3 +333,5 @@ Substitute: glibc-devel-32bit ########## compilation flags ########## 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__ 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 +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 +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 diff --git a/build-x86_64-wayland.conf b/build-x86_64-wayland.conf new file mode 100644 index 0000000..c792686 --- /dev/null +++ b/build-x86_64-wayland.conf @@ -0,0 +1,337 @@ +%define _project Tizen:Mobile + +### from Tizen:Mobile +%define _repository x86_64-wayland + +Macros: +%vendor obs://build.tizen.org/Tizen:Mobile +%_project Tizen:Mobile + +%distribution Tizen:Mobile / x86_64-wayland +%_project Tizen:Mobile + +### from Tizen:Mobile + +%_repository x86_64-wayland +:Macros + +################################################################################ +# OBS Project config for Tizen:Mobile +# +# RE contacts: +# Joonsub Lee +# +# vim: set syntax=spec: +################################################################################ + +Patterntype: rpm-md comps +Release: . +Support: build +Support: build-compare build-mkbaselibs +Support: rpmlint-mini rpmlint-tizen + +############################# conflicts resolution ############################# + +FileProvides: /usr/sbin/groupadd pwdutils +Prefer: util-linux +Prefer: libtapi-devel +Prefer: libpci-devel + +############################# profile definition ############################### + +%define profile mobile +%define _with_tizen 1 + +# %release_name and %tizen_full_version are used in platform/upstream/tizen-release + +Macros: +%profile mobile +%release_name Tizen3/Mobile + +%tizen_version_major 3 +%tizen_version_minor 0 +%tizen_version_patch 0 + +%tizen_version %{tizen_version_major}.%{tizen_version_minor} +%tizen_full_version %{tizen_version}.%{tizen_version_patch} +%tizen %tizen_version +%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 +# |---------------------------------------------------- +# | | 1 | pure X11 platform(no wayland) +# | 1 | | pure wayland platform (no X11) +# | 1 | 1 | wayland but X compatibility +# | | | no X and no wayland +# |---------------------------------------------------- +# +# Owner: Stephane + +########## RDP flag ########## + +# enable/disable RDP (remote desktop protocol) for wayland +# flag: _with_rdp, used in repositories +# Affects: weston, freerdp +# Owner: Manuel + +########## mesa activation ########## + +%define _with_mesa 1 +Macros: +%_with_mesa 1 +:Macros + +%ifarch %arm armv7l %{aarch64} + Substitute: mesa-devel pkgconfig(glesv2) + #FIXME Substitute: pkgconfig(egl) +%endif + +############################# wayland repositories ############################# + +%if "%_repository" == "atom-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland" || "%_repository" == "arm64-wayland" + +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" == "atom-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11" +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 + +############################# emulator repositories ############################ + +%if "%_repository" == "emulator32-wayland" + +Prefer: mesa-libGLESv2 +Prefer: libwayland-egl +Prefer: libgbm +Prefer: mesa-libGL +Prefer: mesa-libEGL +Prefer: emulator-yagl + +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 +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 +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 +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 +# FIXME: Why this extra define in the obs config ? +%define _with_pulseaudio_samsung_policy 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 +Macros: +%_with_introspection 1 +:Macros + +############################# build config ##################################### + +%define gcc_version 49 +Macros: +%gcc_version 49 +:Macros + +########## targets ########## + +%ifarch i586 +Target: i686-tizen-linux +%endif + +%ifarch armv7hl +Target: armv7hl-tizen-linux +%endif + +%ifarch armv7l +Target: armv7l-tizen-linux +%endif + +%ifarch aarch64 +Target: aarch64-tizen-linux +%endif + +########## cross build ##########/ex + +%ifarch %arm armv7l +Hostarch: x86_64 +# cross build support for the build hosts +Preinstall: qemu-linux-user-cross-arm +Keep: qemu-linux-user-cross-arm +%endif + +%ifarch armv7hl +Preinstall: qemu-accel-armv7hl +Runscripts: qemu-accel-armv7hl +Preinstall: libmount libblkid libuuid +%endif + +%ifarch armv7l +Preinstall: qemu-accel-armv7l-cross-arm +Runscripts: qemu-accel-armv7l-cross-arm +Preinstall: libmount libblkid libuuid +%endif + +%ifarch aarch64 +Hostarch: x86_64 +Preinstall: qemu-linux-user-cross-arm +Keep: qemu-linux-user-cross-arm +Preinstall: qemu-accel-aarch64-cross-aarch64 +Runscripts: qemu-accel-aarch64-cross-aarch64 +Preinstall: libmount libblkid libuuid +%endif + +########## exports for different architectures ########## + +ExportFilter: \.armv7l\.rpm$ armv7l +ExportFilter: \.aarch64\.rpm$ aarch64 +ExportFilter: \.x86_64\.rpm$ x86_64 + +########## buildroot config ########## + +Preinstall: setup filesystem +RunScripts: setup + +Preinstall: bash bzip2 coreutils diffutils grep rpm +Preinstall: glibc libacl libattr +Preinstall: libcap +Preinstall: libgcc_s1 +Preinstall: libpopt sed tar zlib +Preinstall: libncurses libreadline +Preinstall: libelf libbz2 +Preinstall: liblzma +Preinstall: nss nspr libfreebl3 libsoftokn3 +Preinstall: libmagic +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 + +Required: binutils gcc glibc rpm-build libtool + +Support: glibc-locale +Support: perl +Support: hostname +Support: cpio findutils +Support: file findutils zlib bzip2 +Support: gzip hostname net-tools +Support: make patch sed gawk tar grep coreutils pkg-config +Support: m4 tzdata +Support: util-linux +Support: less +Support: which elfutils +Support: update-alternatives + +# FIXME: TO REMOVE (? comes from IVI) +Support: gcc-c++ + +Keep: cpp%{gcc_version} gcc%{gcc_version} gcc%{gcc_version}-ada libstdc++%{gcc_version} +Keep: libstdc++%{gcc_version}-devel gcc%{gcc_version}-c++ +Keep: cpp gcc libstdc++ +Keep: pam +Keep: binutils cpp libmagic-data file findutils gawk gcc gcc-c++ +Keep: gdbm gzip libada libunwind glibc-devel libpcre xz-lzma-compat +Keep: make gmp libcap groff cpio +Keep: patch rpm-build nss nspr elfutils python grep libgcc gcc-c++ +Keep: kernel-headers perl-libs perl +Keep: pkgconfig glib2 tizen-rpm-config +Keep: libmpc libmpfr libppl libgmp libppl_c +Keep: libcloog libppl libgmpxx +Keep: nss-softokn-freebl libmagic libmagic-data +Keep: setup +Keep: update-alternatives +Prefer: libstdc++%{gcc_version} libgcc%{gcc_version} +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 ########## +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__ +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 +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 +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 diff --git a/build-x86_64-x11.conf b/build-x86_64-x11.conf index 4728ee0..960777a 100644 --- a/build-x86_64-x11.conf +++ b/build-x86_64-x11.conf @@ -103,6 +103,23 @@ Macros: #FIXME Substitute: pkgconfig(egl) %endif +############################# wayland repositories ############################# + +%if "%_repository" == "atom-wayland" || "%_repository" == "x86_64-wayland" || "%_repository" == "arm-wayland" || "%_repository" == "arm64-wayland" + +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" == "atom-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11" @@ -117,6 +134,29 @@ Macros: %endif +############################# emulator repositories ############################ + +%if "%_repository" == "emulator32-wayland" + +Prefer: mesa-libGLESv2 +Prefer: libwayland-egl +Prefer: libgbm +Prefer: mesa-libGL +Prefer: mesa-libEGL +Prefer: emulator-yagl + +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 ################################ @@ -293,3 +333,5 @@ Substitute: glibc-devel-32bit ########## compilation flags ########## 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__ 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 +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 +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 diff --git a/meta.xml b/meta.xml index 5523027..63c4c55 100644 --- a/meta.xml +++ b/meta.xml @@ -5,10 +5,7 @@ - - - @@ -17,6 +14,11 @@ + + + + + @@ -25,17 +27,34 @@ x86_64 i586 + + i586 + x86_64 + i586 + + i586 + aarch64 i586 x86_64 + + aarch64 + i586 + x86_64 + armv7l i586 x86_64 + + armv7l + i586 + x86_64 + -- 2.7.4