From: Youngsoo Choi Date: Mon, 25 Jan 2016 12:42:24 +0000 (+0900) Subject: [tizen v3.0] Remove local build.conf files for better mainternance X-Git-Tag: submit/tizen/20201118.160233~324 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=71106f7e619aa82f1139f7f9f70efecfc347f96f;p=platform%2Fframework%2Fweb%2Fchromium-efl.git [tizen v3.0] Remove local build.conf files for better mainternance Disabling rpmlint is for improving build time around 15 minutes. The previous way to achieve the goal was to keep a custom build.conf inside source tree, which was made by cloning & modifiying specific platform version's. Refer to: http://165.213.202.130/gerrit/#/c/75855/ But problem in the approach is that content of build.conf can be suddenly changed from gbs repo, such as build macros, options, and package list, which can cause build break. Whenever build.conf is changed from gbs repo, custom build.conf has to be also fixed in source tree and uploaded to git repo. To prevent the burden, build.conf needs to be automatically sync'ed with the latest one from gbs repo. So, this CL downloads build.conf from remote repo as part of build procedure, and optionally modifies the content of the file if user does not wants to run rpmlint (which is default behaviour). - Disable rpmlint : build_{target}.sh - Enable rpmlint : build_{target}.sh --rpmlint Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=15671 Reviewed by: sns.park Change-Id: I6ae5a468748d476db62d877d29080ef4239a7906 Signed-off-by: Youngsoo Choi --- diff --git a/tizen_src/.gitignore b/tizen_src/.gitignore index 1ad67f3..5efd243 100644 --- a/tizen_src/.gitignore +++ b/tizen_src/.gitignore @@ -8,3 +8,4 @@ /build/TARGET /src/ /ewk/test_log +build/build_conf/* diff --git a/tizen_src/README.md b/tizen_src/README.md index ec286df..17a3358 100755 --- a/tizen_src/README.md +++ b/tizen_src/README.md @@ -38,7 +38,7 @@ gclient config --name=src/tizen_src ssh://165.213.202.130:29418/webplatform/chro * For Mobile build $ build/build_mobile.sh [--clean] [--debug] [--skip-gyp] [--skip-ninja] [--define 'nodebug 1'] - [--define '_rpmlint 1'] [--ccache] [--gbs-debug] + [--rpmlint] [--ccache] [--gbs-debug] [--define '_debug_mode 1'] or [--debug] perform debug build (default : release) [--define '_skip_gyp 1'] or [--skip-gyp] skip gyp generation (default : gyp generate) @@ -47,7 +47,7 @@ gclient config --name=src/tizen_src ssh://165.213.202.130:29418/webplatform/chro (default: build debug packages too) Note: To let binaries to be recreated without debug symbols, this should be preceded by removing build directory. - [--define '_rpmlint 1'] Enabling rpmlint on tizen v3.0 + [--rpmlint] Enabling rpmlint on tizen v3.0 Note: By default, it is disabled. [--ccache] see ### Using ccache inside gbs [--gbs-debug] Run gbs in debug mode @@ -55,7 +55,7 @@ gclient config --name=src/tizen_src ssh://165.213.202.130:29418/webplatform/chro * For TV build $ build/build_tv.sh [--clean] [--debug] [--skip-gyp] [--skip-ninja] [--define 'nodebug 1'] - [--define '_rpmlint 1'] [--ccache] [--gbs-debug] + [--rpmlint] [--ccache] [--gbs-debug] [--define '_debug_mode 1'] or [--debug] perform debug build (default : release) [--define '_skip_gyp 1'] or [--skip-gyp] skip gyp generation (default : gyp generate) @@ -64,7 +64,7 @@ gclient config --name=src/tizen_src ssh://165.213.202.130:29418/webplatform/chro (default: build debug packages too) Note: To let binaries to be recreated without debug symbols, this should be preceded by removing build directory. - [--define '_rpmlint 1'] Enabling rpmlint on tizen v3.0 + [--rpmlint] Enabling rpmlint on tizen v3.0 Note: By default, it is disabled. [--ccache] see ### Using ccache inside gbs [--gbs-debug] Run gbs in debug mode diff --git a/tizen_src/build/common.sh b/tizen_src/build/common.sh index 22686e8..4068db1 100755 --- a/tizen_src/build/common.sh +++ b/tizen_src/build/common.sh @@ -230,12 +230,10 @@ function setupAndExecuteTargetBuild() { EXTRA_PACK_OPTS="--extra-packs python-base-x86-arm,python-x86-arm,python-xml-x86-arm" fi - if [ "$(echo "${PROFILE}" | grep -Po "v3.0")" != "" ]; then - prepareTizen3Build $PROFILE - fi - local count=0 local exclusive_options=0 + local RPMLINT=0 + local NOINIT=0 while [[ $# > 0 ]]; do count=$(( $count + 1 )) case "$1" in @@ -280,6 +278,15 @@ function setupAndExecuteTargetBuild() { count=$(( $count + 1 )) ARGS[$count]="build_chromedriver 1" ;; + --rpmlint) + RPMLINT=1 + count=$(( $count + 1 )) + ;; + --noinit) + NOINIT=1 + ARGS[$count]="$1" + count=$(( $count + 1 )) + ;; *) ARGS[$count]="$1" ;; @@ -287,7 +294,7 @@ function setupAndExecuteTargetBuild() { shift; done - if [[ $exclusive_options -gt 1 ]]; then + if [ "$exclusive_options" -gt 1 ]; then echo "ERROR: --libs and --crosswalk-bin are mutually exclusive parameters." exit 1 fi @@ -302,45 +309,63 @@ function setupAndExecuteTargetBuild() { SPEC_FILE="crosswalk-bin.spec" fi + if [ "$(echo "${PROFILE}" | grep -Po "v3.0")" != "" -a "$NOINIT" == 0 ]; then + prepareTizen3Build $PROFILE $RPMLINT + fi + gbs $CONF_FLAG build -P $PROFILE --spec $SPEC_FILE --include-all -A $ARCHITECTURE "${ARGS[@]}" $BUILD_CONF_OPTS $EXTRA_PACK_OPTS --incremental } function prepareTizen3Build() { local PROFILE=$1 + local RPMLINT=$2 BUILD_CONF_OPTS="" # In case of '_rpmlint 1', build.conf of gbs repo will be used, enabling rpmlint. # Otherwise, locally prepared build.conf will be used, disabling rpmlint. local PREVIOUS_BUILD_CONF_PATH="" - local LOCAL_BUILD_CONF_PATH="" if [ "$PROFILE" == "tztv_v3.0_arm-wayland" ]; then - PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tztv_v3.0_arm-walynad.conf" - LOCAL_BUILD_CONF_PATH="$TOPDIR/tizen_src/build/tztv_v3.0_arm-wayland.conf" + PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tztv_v3.0_arm_wayland.conf" elif [ "$PROFILE" == "tzmb_v3.0_arm-wayland" ]; then - PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tzmb_v3.0_arm-walynad.conf" - LOCAL_BUILD_CONF_PATH="$TOPDIR/tizen_src/build/tzmb_v3.0_arm-wayland.conf" + PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tzmb_v3.0_arm_wayland.conf" elif [ "$PROFILE" == "tzmb_v3.0_arm64-wayland" ]; then - PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tzmb_v3.0_arm64-walynad.conf" - LOCAL_BUILD_CONF_PATH="$TOPDIR/tizen_src/build/tzmb_v3.0_arm64-wayland.conf" + PREVIOUS_BUILD_CONF_PATH="/var/tmp/$USER-gbs/tzmb_v3.0_arm64_wayland.conf" fi local PREVIOUS_RPMLINT="!rpmlint" if [ ! -f "$PREVIOUS_BUILD_CONF_PATH" ]; then + # Never built before PREVIOUS_RPMLINT="" elif [ "$(grep -Po "\!rpmlint" "$PREVIOUS_BUILD_CONF_PATH" | uniq -d)" != "!rpmlint" ]; then + # Once built with rpmlint PREVIOUS_RPMLINT="rpmlint" fi - if [ "$LOCAL_BUILD_CONF_PATH" != "" ]; then - BUILD_CONF_OPTS="-D $LOCAL_BUILD_CONF_PATH" - fi - - if [ "$(echo "$@" | grep -Po "_rpmlint\ 1")" == "" ]; then + # Disable rpmlint + if [ "$RPMLINT" == 0 ]; then + echo "** Disable rpmlint" + BUILD_CONF_DIR=$SCRIPTDIR/build_conf + rm -rf $BUILD_CONF_DIR + mkdir $BUILD_CONF_DIR + REPO=http://download.tizen.org/snapshots/tizen/$platform/latest/repos/$(echo $ARCHITECTURE | sed -e "s/armv7l/arm/;s/aarch64/arm64/")-wayland/packages/repodata/ + wget $REPO -O $BUILD_CONF_DIR/index.html > /dev/null 2>&1 + BUILD_CONF_GZ=$(awk -F\" '{ print $6 }' $BUILD_CONF_DIR/index.html | grep "build.conf.gz") + BUILD_CONF=$(basename $BUILD_CONF_GZ .gz) + wget $REPO$BUILD_CONF_GZ -P $BUILD_CONF_DIR > /dev/null 2>&1 + if [ ! -f "$BUILD_CONF_DIR/$BUILD_CONF_GZ" ]; then + echo "It's failed to donwload build.conf. Please contact system administrator." + exit 1 + fi + gunzip $BUILD_CONF_DIR/$BUILD_CONF_GZ + sed -i 's/rpmlint-mini\ rpmlint-tizen/!rpmlint-mini\ !rpmlint-tizen/g' $BUILD_CONF_DIR/$BUILD_CONF + BUILD_CONF_OPTS="-D $BUILD_CONF_DIR/$BUILD_CONF" if [ "$PREVIOUS_RPMLINT" == "rpmlint" ]; then + echo "** Once built with rpmlint" BUILD_CONF_OPTS+=" --clean" fi - else + else # Enable rpmlint + echo "** Enable rpmlint" BUILD_CONF_OPTS="" if [ "$PREVIOUS_RPMLINT" == "!rpmlint" ]; then BUILD_CONF_OPTS="--clean" diff --git a/tizen_src/build/tzmb_v3.0_arm-wayland.conf b/tizen_src/build/tzmb_v3.0_arm-wayland.conf deleted file mode 100644 index 4ba03d2..0000000 --- a/tizen_src/build/tzmb_v3.0_arm-wayland.conf +++ /dev/null @@ -1,337 +0,0 @@ -%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/tizen_src/build/tzmb_v3.0_arm64-wayland.conf b/tizen_src/build/tzmb_v3.0_arm64-wayland.conf deleted file mode 100644 index a75b283..0000000 --- a/tizen_src/build/tzmb_v3.0_arm64-wayland.conf +++ /dev/null @@ -1,337 +0,0 @@ -%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" || "%_repository" == "emulator64-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/tizen_src/build/tztv_v3.0_arm-wayland.conf b/tizen_src/build/tztv_v3.0_arm-wayland.conf deleted file mode 100644 index fcf61ee..0000000 --- a/tizen_src/build/tztv_v3.0_arm-wayland.conf +++ /dev/null @@ -1,384 +0,0 @@ -%define _project Tizen:TV - -### from Tizen:TV -%define _repository arm-wayland - -Macros: -%vendor obs://build.tizen.org/Tizen:TV -%_project Tizen:TV - -%distribution Tizen:TV / arm-wayland -%_project Tizen:TV - -### from Tizen:TV - -%_repository arm-wayland -:Macros - -################################################################################ -# OBS Project config for Tizen:TV -# -# RE contacts: -# Joonsub Lee (joon-sub.lee@samsung.com) -# Yooduck Seo (yooduck.seo@samsung.com) -# -# 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 tv -%define _with_tizen 1 - -# %release_name and %tizen_full_version are used in platform/upstream/tizen-release - -Macros: -%profile tv -%release_name Tizen3/TV - -%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" == "ia32-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" == "ia32-x11" || "%_repository" == "x86_64-x11" || "%_repository" == "arm-x11" || "%_repository" == "arm64-x11" || "%_repository" == "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 - -############################# X+Wayland repositories ########################### - -%if "%_repository" == "ia32-xwayland" || "%_repository" == "x86_64-xwayland" || "%_repository" == "arm-xwayland" || "%_repository" == "arm64-xwayland" || "%_repository" == "xwayland" - -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 - -############################# emulator repositories ############################ - -%if "%_repository" == "emulator32-x11" - -Prefer: mesa-libGLESv2 -Prefer: mesa-libGL -Prefer: mesa-libEGL - -Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2) -Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl) - -%define _with_x 1 -%define _with_emulator 1 - -Macros: -%_with_x 1 -%_with_emulator 1 -:Macros - -%endif - -%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 ########## - -%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 # aarch64 - -########## 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 ########## - -#%__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: 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 - -#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 -Wp,-D__SOFTFP__ - -#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 -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