From: SoonKyu Park Date: Thu, 2 Jun 2016 10:08:39 +0000 (+0900) Subject: Add build-config files of tizen_2.4_mobile using 'update_from_obs' script X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Ftizen_2.4_mobile;p=scm%2Fmeta%2Fbuild-config.git Add build-config files of tizen_2.4_mobile using 'update_from_obs' script Change-Id: I43bffb9937113a5072d75a8f8766f508bc208be0 --- diff --git a/build-emulator.conf b/build-emulator.conf new file mode 100644 index 0000000..bd7cd0a --- /dev/null +++ b/build-emulator.conf @@ -0,0 +1,720 @@ +%define _project Tizen:2.4:Mobile + +### from Tizen:2.4:Base +%define _repository emulator + +Macros: +%vendor obs://build.tizen.org/Tizen:2.4:Mobile +%_project Tizen:2.4:Mobile + +### from Tizen:2.4:Base + +%_repository emulator +:Macros + +Patterntype: rpm-md comps +Release: %%{?release_prefix:%%{release_prefix}.}. +Support: build build-compare + +%define suse_version 1230 + +%ifarch %arm +ExportFilter: \.i586\.rpm$ i586 +ExportFilter: \.x86_64\.rpm$ x86_64 +%endif +%ifarch %ix86 x86_64 +ExportFilter: \.armv5el\.rpm$ armv5el +ExportFilter: \.armv5tel\.rpm$ armv5el +ExportFilter: \.armv6el\.rpm$ armv6el +ExportFilter: \.armv6l\.rpm$ armv6el +ExportFilter: \.armv6vl\.rpm$ armv6el +ExportFilter: \.armv7el\.rpm$ armv7el +ExportFilter: \.armv7l\.rpm$ armv7l armv7el +ExportFilter: \.armv7vl\.rpm$ armv7el +ExportFilter: \.armv7hl\.rpm$ armv7hl armv8el +ExportFilter: \.armv7thl\.rpm$ armv7thl armv8el +ExportFilter: \.armv7tnhl\.rpm$ armv7tnhl armv8el +ExportFilter: \.armv7nhl\.rpm$ armv7nhl armv8el +%endif +# filter out packages of cross setup on ia32 +ExportFilter: \.vanish\.rpm$ +PublishFilter: \.vanish\.rpm$ +ExportFilter: \.dontuse\.rpm$ +PublishFilter: \.dontuse\.rpm$ + +# +# ARM Start +# +%ifarch %arm +# arm land +Hostarch: x86_64 +%ifnarch armv8el +%define hostx86 1 +%endif +%if %{hostx86} +Macros: +%hostx86 1 +:Macros +%endif +# cross build support for the build hosts +Preinstall: qemu-linux-user-%{!?hostx86:x64}%{?hostx86:x86}-arm + +%define cross_5 1 +%define cross_7 1 +%define cross_7h 1 +%define native 1 + +######################## +# preselect rpm targets +# more ifs for _repository possible as needed +######################### +%ifarch armv5el +Changetarget: armv5tel-tizen-linux +%define _gnu gnueabi +%if %{cross_5} +%define speedcommon 1 +%define speedbash 1 +%define speedbinutils 1 +%define speedgcc 1 +%define native 0 +%endif +%endif + +%ifarch armv6el +Changetarget: armv6l-tizen-linux +%define _gnu gnueabi +%endif + +%ifarch armv7el armv7l +Changetarget: armv7l-tizen-linux +%define _gnu gnueabi +%if %{cross_7} +Support: cross-armv7l-platformfile +Prefer: cross-armv7l-binutils-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7l +Prefer: cross-armv7l-gcc-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7l +Prefer: cross-armv7l-gcc46-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7l +%define speedcommon 1 +%define speedbash 1 +%define speedbinutils 1 +%define speedgcc 1 +%define native 0 +%define speedtools 1 +%define speedperl 1 +%define speedpython 1 +%endif +%endif + +%ifarch armv8el armv7hl +Changetarget: armv7hl-tizen-linux +%define _gnu gnueabi +%if %{cross_7h} +Support: cross-armv7tnhl-platformfile +Prefer: cross-armv7hl-binutils-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7hl +Prefer: cross-armv7hl-gcc-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7hl +Prefer: cross-armv7hl-gcc46-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7hl +%define speedcommon 1 +%define speedbash 1 +%define speedbinutils 1 +%define speedgcc 1 +%define native 0 +%define speedtools 1 +%define speedperl 1 +%define speedpython 1 +%endif +%endif + +%if %speedtools +Preinstall: bzip2-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: elfutils-libelf-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: libacl-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: libattr-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: libcap-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: libgcc-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: liblua-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: nspr-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: nss-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: nss-softokn-freebl-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: popt-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: sqlite-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: xz-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: zlib-%{!?hostx86:x64}%{?hostx86:x86}-arm + +Preinstall: rpm-%{!?hostx86:x64}%{?hostx86:x86}-arm rpm-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm +Runscripts: rpm-%{!?hostx86:x64}%{?hostx86:x86}-arm rpm-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm +Required: rpm-build-%{!?hostx86:x64}%{?hostx86:x86}-arm + +Support: bzip2-%{!?hostx86:x64}%{?hostx86:x86}-arm +#Support: ccache-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: cmake-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: coreutils-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: elfutils-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: expat-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: diffutils-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: fdupes-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: file-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: findutils-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: gawk-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: gzip-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: m4-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: make-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: patch-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: pkg-config-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: ruby-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: sed-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: tar-%{!?hostx86:x64}%{?hostx86:x86}-arm +%endif + +%if %speedperl +Support: perl-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: perl-HTML-Parser-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: perl-XML-Parser-%{!?hostx86:x64}%{?hostx86:x86}-arm +Macros: +%speedperl 1 +:Macros +%endif + +%if %speedpython +Support: python-base-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: python-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: python-xml-%{!?hostx86:x64}%{?hostx86:x86}-arm +Macros: +%speedpython 1 +:Macros +%endif + +%if %speedcommon +# cross-compilation/speedup +Preinstall: tizen-accelerator glibc-%{!?hostx86:x64}%{?hostx86:x86}-arm +Runscripts: tizen-accelerator glibc-%{!?hostx86:x64}%{?hostx86:x86}-arm +Required: tizen-accelerator +%endif + +%if %speedbash +# bash +Preinstall: ncurses-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: bash-%{!?hostx86:x64}%{?hostx86:x86}-arm +Runscripts: bash-%{!?hostx86:x64}%{?hostx86:x86}-arm +%endif + +%if %speedbinutils +Required: cross-arm-binutils-accel +%endif + +%if %speedgcc +Required: cross-arm-gcc-accel +Macros: +%speedgcc 1 +:Macros +%endif + +# now i586 land +%else + +Ignore: ncurses-libs-%{!?hostx86:x64}%{?hostx86:x86} libncurses-%{!?hostx86:x64}%{?hostx86:x86} + +%endif + +# +# ARM End +# + +Preinstall: setup filesystem tizen-release + +Preinstall: bash bzip2 bzip2-libs coreutils diffutils glibc glibc-common elfutils-libelf +Preinstall: libacl libattr libcap libfile libgcc liblua libstdc++ +Preinstall: ncurses-libs nspr nss nss-softokn-freebl +Preinstall: popt readline sed sqlite tar xz-libs zlib + +Preinstall: rpm rpm-libs + +Runscripts: setup + +VMinstall: util-linux perl libblkid e2fsprogs-libs libuuid perl-libs grep libpcre + +Required: binutils cpp glibc-devel glibc-headers gcc gcc-c++ kernel-headers rpm-build + +Support: autoconf automake bzip2 cmake coreutils cpio elfutils +Support: fdupes file findutils gawk grep gzip libtool +Support: m4 make net-tools ncurses ncurses-base ncurses-libs +Support: patch patchelf pcre perl perl-libs pkg-config psmisc python +Support: sed tar tzdata util-linux +Support: xz xz-lzma-compat zlib + +Keep: binutils cpp glibc-devel glibc-headers gcc gcc-c++ kernel-headers libstdc++-devel rpm-build + +Keep: cloog cloog-ppl cpio elfutils +Keep: file findutils gawk gmp grep gzip isl libpcre +Keep: make mpc +Keep: patch perl perl-libs pkg-config ppl ppl-pwl +Keep: sed tar +Keep: xz-lzma-compat + +Ignore: iso-codes:xml-common + +Substitute: libncurses ncurses-libs +Substitute: libncurses-devel ncurses-devel +Substitute: gettext gettext-tools +Substitute: cloog-devel cloog-ppl-devel + +Prefer: libgcc libstdc++ libgomp libmudflap libitm libasan libtsan libatomic +Prefer: coreutils + + + +#################################### +%if "%{_repository}" == "emulator" +Prefer: libX11 libXext libXrender libXau libXv libXdamage libXfixes libXi libXrandr libXinerama libXtst libXcursor libXcomposite libXt +Prefer: libelf0 libffi libglib libtheora libtheoradec libjson libgobject libgio libgmodule libgthread libusb libgnutls libgmp libsoup db4 ncurses ug-myfile-efl +Prefer: libwayland-client +Macros: +%tizen_sdk 1 +%tizen_crash_enable 1 + +## FIXME: Borrowed from Tizen:2.4:Mobile ### +%tizen_build_binary_release_type_eng 1 +%sec_build_binary_sdk 1 +%sec_build_binary_debug_enable 1 +%sec_build_binary_crash_enable 1 + +:Macros + +%define gcc_version 49 +Macros: +%gcc_version 49 +:Macros + +########## compilation flags ########## + +%define __global_cflags -O2 -g2 -feliminate-unused-debug-types -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -fmessage-length=0 -fdiagnostics-color=never -Wl,--as-needed + +Optflags: i686 %{__global_cflags} -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer +Optflags: i586 %{__global_cflags} -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer +Optflags: x86_64 %{__global_cflags} -m64 -march=corei7 -mtune=corei7-avx -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer + +%endif +#################################### + + +############################################################## +# This is for Global configuration +# You should uncomment following two options for model project + +#Support: build-info + +Macros: +#%sec_build_project_name redwood_master +:Macros + +# This is for Global configuration +############################################################## + +############################################################## +# This is build parameters + + +### from Tizen:2.4:Mobile +%define _repository emulator + +Macros: + +### from Tizen:2.4:Base +%_repository emulator + +############################################################## +# This is temporary global product features +# Should be moved to sec_product_features +# +############################################################## + +%dist %{?sec_build_conf_tizen_product_name}%{!?sec_build_conf_tizen_product_name:tizen} + +%tizen_version 230 +%tizen 2.3 +%vendor tizen +%_vendor tizen +%_default_patch_fuzz 2 + +%use_gcc() BuildRequires: gcc%1 gcc%1-c++ %{?speedgcc:cross-arm-gcc%1-accel} + +# python main version +%py_ver %(echo `python -c "import sys; print sys.version[:3]"`) + +# directories +%py_prefix %(echo `python -c "import sys; print sys.prefix"`) +%py_libdir %{py_prefix}/lib/python%{py_ver} +%py_incdir /usr/include/python%{py_ver} +%py_sitedir %{py_libdir}/site-packages +%py_dyndir %{py_libdir}/lib-dynload + +# pure python modules compilation +%py_comp python -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])" +%py_ocomp python -O -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])" + +%ext_info .gz +%ext_man .gz + +%info_add(:-:) test -x /sbin/install-info -a -f %{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info --info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \ +%{nil} + +%info_del(:-:) test -x /sbin/install-info -a ! -f %{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info --quiet --delete --info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \ +%{nil} + +%lang_package \ +%package locale \ +Summary: Translations and Locale for package %{name}\ +Group: Translations\ +AutoReqProv: 0\ +%description locale\ +This package provides translations for package %{name}.\ +%files locale -f %{name}.lang\ +%defattr(-,root,root,-)\ +%{nil} + +%docs_package \ +%package docs \ +Summary: Documentation for package %{name}\ +Group: Documentation\ +AutoReqProv: 0\ +%description docs\ +This package provides documentation for package %{name}.\ +%files docs -f documentation.list\ +%defattr(-,root,root,-)\ +%{nil} + +%devel_package \ +%package devel \ +Summary: Development files for package %{name}\ +Group: Development\ +%description devel\ +This package provides header files and other developer releated files for package %{name}.\ +%files devel \ +%{_includedir}/*\ +%{_libdir}/pkgconfig/*.pc\ +%{_libdir}/*.so\ +%{nil} + +%remove_docs \ + rm -rf %{?buildroot:%{buildroot}}%{_infodir} \ + rm -rf %{?buildroot:%{buildroot}}%{_defaultdocdir} \ + rm -rf %{?buildroot:%{buildroot}}%{_datadir}/doc/%{name} \ + rm -rf %{?buildroot:%{buildroot}}%{_datadir}/gtk-doc \ + rm -rf %{?buildroot:%{buildroot}}%{_datadir}/man \ + find %{?buildroot:%{buildroot}} -regex ".*/man/man./.*\.[0-9]" | xargs rm -f -- \ + find %{?buildroot:%{buildroot}} -regex ".*/man/../man./.*\.[0-9]" | xargs rm -f -- \ + find %{?buildroot:%{buildroot}} -regex ".*/man/man./.*\.[0-9]pm" | xargs rm -f -- + +# macros.perl file +# macros for perl module building. handle with care. + +# Useful perl macros (from Artur Frysiak ) +# +%perl_sitearch %(eval "`%{__perl} -V:installsitearch`"; echo $installsitearch) +%perl_sitelib %(eval "`%{__perl} -V:installsitelib`"; echo $installsitelib) +%perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch) +%perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib) +%perl_archlib %(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib) +%perl_privlib %(eval "`%{__perl} -V:installprivlib`"; echo $installprivlib) + +# More useful perl macros (from Raul Dias ) +# +%perl_version %(perl -V:version | sed "s!.*='!!;s!'.*!!") +%perl_man1ext %(perl -V:man1ext | sed "s!.*='!!;s!'.*!!") +%perl_man3ext %(perl -V:man3ext | sed "s!.*='!!;s!'.*!!") +%perl_man1dir %(perl -V:man1dir | sed "s!.*='!!;s!'.*!!") +%perl_man3dir %(perl -V:man3dir | sed "s!.*='!!;s!'.*!!") +%perl_installman1dir %(perl -V:installman1dir | sed "s!.*='!!;s!'.*!!") +%perl_installman3dir %(perl -V:installman3dir | sed "s!.*='!!;s!'.*!!") +%perl_installarchlib %(perl -V:installarchlib | sed "s!.*='!!;s!'.*!!") +%perl_prefix %{buildroot} + +# suse specific macros +# +%perl_make_install make DESTDIR=$RPM_BUILD_ROOT install_vendor +%perl_process_packlist(n:) \ + if test -n "$RPM_BUILD_ROOT" -a -d $RPM_BUILD_ROOT%perl_vendorarch/auto; then \ + find $RPM_BUILD_ROOT%perl_vendorarch/auto -name .packlist -print0 | xargs -0 -r rm \ + if [ %{_target_cpu} == noarch ]; then \ + find $RPM_BUILD_ROOT%perl_vendorarch/auto -depth -type d -print0 | xargs -0 -r rmdir \ + fi \ + fi \ + rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod \ + %nil + +# macro: perl_gen_filelist (from Christian ) +# do the rpmlint happy filelist generation +# with %dir in front of directories +# +%perl_gen_filelist(n)\ +FILES=%{name}.files\ +# fgen_dir func\ +# IN: dir\ +fgen_dir(){\ +%{__cat} >> $FILES << EOF\ +%dir ${1}\ +EOF\ +}\ +# fgen_file func\ +# IN: file\ +fgen_file(){\ +%{__cat} >> $FILES << EOF\ +${1}\ +EOF\ +}\ +# check for files in %{perl_vendorlib}\ +RES=`find ${RPM_BUILD_ROOT}%{perl_vendorlib} -maxdepth 1 -type f`\ +if [ -n "$RES" ]; then\ + for file in $RES; do\ + fgen_file "%{perl_vendorlib}/$(basename ${file})"\ + done\ +fi\ +\ +# get all dirs into array\ +base_dir="${RPM_BUILD_ROOT}%{perl_vendorlib}/"\ +for dir in `find ${base_dir} -type d | sort`; do\ + if [ "$dir" = "${base_dir}" ]; then\ + continue\ + else\ + el=`echo $dir | %{__awk} -F"${base_dir}" '{print $2}'`\ + all_dir=(${all_dir[@]} $el)\ + fi\ +done\ +\ +# build filelist\ +for i in ${all_dir[@]}; do\ + # do not add "dir {perl_vendorlib/arch}/auto", included in perl package\ + if [ "${i}" = "auto" ]; then\ + continue\ + fi\ + if [ "%{perl_vendorlib}/${i}" = "%{perl_vendorarch}/auto" ]; then\ + continue\ + else\ + if [ -d ${base_dir}/${i} ]; then\ + RES=`find "${base_dir}/${i}" -maxdepth 1 -type f`\ + if [ -n "$RES" ]; then\ + fgen_dir "%{perl_vendorlib}/${i}"\ + for file in $RES; do\ + fgen_file "%{perl_vendorlib}/${i}/$(basename ${file})"\ + done\ + else\ + fgen_dir "%{perl_vendorlib}/${i}"\ + fi\ + fi\ + fi\ +done\ +# add man pages\ +# if exist :)\ +if [ -d "${RPM_BUILD_ROOT}%{_mandir}" ]; then\ +fgen_file "%{_mandir}/man?/*"\ +fi\ +\ +# add packlist file\ +# generated fom perllocal.pod\ +if [ -f "${RPM_BUILD_ROOT}/var/adm/perl-modules/%{name}" ]; then\ + fgen_file "/var/adm/perl-modules/%{name}"\ +fi\ +\ +# check for files in %{_bindir}\ +if [ -d ${RPM_BUILD_ROOT}%{_bindir} ]; then\ + RES=`find "${RPM_BUILD_ROOT}%{_bindir}" -maxdepth 1 -type f`\ + if [ -n "$RES" ]; then\ + for file in $RES; do\ + fgen_file "%{_bindir}/$(basename ${file})"\ + done\ + fi\ +fi +%distribution Tizen:2.4:Mobile / emulator +%_project Tizen:2.4:Mobile + +### from Tizen:2.4:Mobile + +%_repository emulator +:Macros + +################################################################################ +# OBS Project config for Tizen:2.4:Mobile +# +# vim: set syntax=spec: +################################################################################ +################################################################################ +################################################################################ +################################################################################ +################################################################################ +%ifarch %arm +Support: python-lxml-x86-arm +Support: libxslt-x86-arm + +############################# Perl and Python deacceleration macros ########### +%if %speedperl +Macros: +%no_speedperl BuildRequires: -perl-%{!?hostx86:x64}%{?hostx86:x86}-arm -perl-HTML-Parser-%{!?hostx86:x64}%{?hostx86:x86}-arm -perl-XML-Parser-%{!?hostx86:x64}%{?hostx86:x86}-arm +:Macros +%endif + +%if %speedpython +Macros: +%no_speedpython BuildRequires: -python-base-%{!?hostx86:x64}%{?hostx86:x86}-arm -python-%{!?hostx86:x64}%{?hostx86:x86}-arm -python-xml-%{!?hostx86:x64}%{?hostx86:x86}-arm +:Macros +%endif +%endif + + +############################# conflicts resolution ############################# + +FileProvides: /usr/sbin/groupadd pwdutils +FileProvides: python-rpm rpm-python +FileProvides: libhogweed.so.2 libhogweed +FileProvides: libnettle.so.4 libnettle +FileProvides: /usr/bin/cat coreutils + +Prefer: util-linux +Prefer: libtapi-devel +Prefer: libpci-devel +Prefer: opengl-es-virtual-drv opengl-es-virtual-drv-devel +Prefer: coreutils +Prefer: libasound libasound-devel +Prefer: avsystem avsystem-devel +Prefer: libjournal libjournal-proprietary +###Prefer: libopenssl +Prefer: openssl, openssl-devel +Prefer: linux-glibc-devel + +Prefer: iptables iptables-devel +Prefer: widget.web-provider widget.web-provider-devel + +############################# profile definition ############################### + +Macros: +%tizen_version_major 2 +%tizen_version_minor 4 +%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 +%_default_patch_fuzz 2 + +## To skip glibc locale build ## +%_with_fast_build 1 + +## /bin, /sbin, /lib are linked to /usr/bin, /usr/sbin, /usr/lib ## +%_with_unified_directory 1 + +## FIXME: required from wrt-plugins-tizen ## +%sec_product_feature_profile_lite 1 +%dist %{?sec_build_conf_tizen_product_name}%{!?sec_build_conf_tizen_product_name:tizen} + +%tizen_profile_name mobile +%tizen_crash_enable 1 + +## This will be needed to skip %check section. The make check typically causes abnormal error on qemu ## +%check \ +%%check \ +exit 0 +:Macros + +############################# target-TM1 repositories ############################## + +%if "%{_repository}" == "target-TM1" + +Macros: +%tizen_target_name Z300H + +%tizen_crash_enable 1 + +## FIXME: Borrowed from Tizen:2.4:Mobile ### +%tizen_build_binary_release_type_eng 1 +%tizen_build_binary_release_type_daily 1 +%sec_build_binary_debug_enable 1 +%sec_build_binary_crash_enable 1 +%tizen_build_binary_release_type_partner 1 +%sec_product_feature_multiwindow 0 + +:Macros +%endif + +############################# target-Z300H repositories ############################## + +%if "%{_repository}" == "target-Z300H" + +Macros: +%tizen_target_name Z300H + +%tizen_crash_enable 1 + +## FIXME: Borrowed from Tizen:2.4:Mobile ### +%tizen_build_binary_release_type_eng 1 +%tizen_build_binary_release_type_daily 1 +%sec_build_binary_debug_enable 1 +%sec_build_binary_crash_enable 1 +%tizen_build_binary_release_type_partner 1 +%sec_product_feature_multiwindow 0 + +:Macros +%endif + +############################# target-Z130H repositories ############################## + +%if "%{_repository}" == "target-Z130H" + +Macros: +%tizen_target_name Z130H + +%tizen_crash_enable 1 + +## FIXME: Borrowed from Tizen:2.4:Mobile ### +%tizen_build_binary_release_type_eng 1 +%tizen_build_binary_release_type_daily 1 +%sec_build_binary_debug_enable 1 +%sec_build_binary_crash_enable 1 +%tizen_build_binary_release_type_partner 1 +%sec_product_feature_multiwindow 0 + +:Macros +%endif + +############################# target repositories ############################## + +%if "%{_repository}" == "target" + +Macros: +%tizen_crash_enable 1 + +## FIXME: Borrowed from Tizen:2.4:Mobile ### +%tizen_build_binary_release_type_eng 1 +%tizen_build_binary_release_type_daily 1 +%sec_build_binary_debug_enable 1 +%sec_build_binary_crash_enable 1 +%tizen_build_binary_release_type_partner 1 +%sec_product_feature_multiwindow 0 + +:Macros +%endif + +############################# emulator repositories ############################ + +%if "%{_repository}" == "emulator" +Prefer: libX11 libXext libXrender libXau libXv libXdamage libXfixes libXi libXrandr libXinerama libXtst libXcursor libXcomposite libXt +Prefer: libffi libglib libtheora libtheoradec libjson libgobject libgio libgmodule libgthread libusb libgnutls libgmp libsoup db4 ncurses ug-myfile-efl libatk +Prefer: libwayland-client +Macros: +%tizen_sdk 1 +%tizen_crash_enable 1 + +## FIXME: Borrowed from Tizen:2.4:Mobile ### +%tizen_build_binary_release_type_eng 1 +%sec_build_binary_sdk 1 +%sec_build_binary_debug_enable 1 +%sec_build_binary_crash_enable 1 + +:Macros +%endif + + +############################# build config ##################################### + +%define gcc_version 49 +Macros: +%gcc_version 49 +:Macros diff --git a/build-target-TM1.conf b/build-target-TM1.conf new file mode 100644 index 0000000..4881fe0 --- /dev/null +++ b/build-target-TM1.conf @@ -0,0 +1,720 @@ +%define _project Tizen:2.4:Mobile + +### from Tizen:2.4:Base +%define _repository standard + +Macros: +%vendor obs://build.tizen.org/Tizen:2.4:Mobile +%_project Tizen:2.4:Mobile + +### from Tizen:2.4:Base + +%_repository standard +:Macros + +Patterntype: rpm-md comps +Release: %%{?release_prefix:%%{release_prefix}.}. +Support: build build-compare + +%define suse_version 1230 + +%ifarch %arm +ExportFilter: \.i586\.rpm$ i586 +ExportFilter: \.x86_64\.rpm$ x86_64 +%endif +%ifarch %ix86 x86_64 +ExportFilter: \.armv5el\.rpm$ armv5el +ExportFilter: \.armv5tel\.rpm$ armv5el +ExportFilter: \.armv6el\.rpm$ armv6el +ExportFilter: \.armv6l\.rpm$ armv6el +ExportFilter: \.armv6vl\.rpm$ armv6el +ExportFilter: \.armv7el\.rpm$ armv7el +ExportFilter: \.armv7l\.rpm$ armv7l armv7el +ExportFilter: \.armv7vl\.rpm$ armv7el +ExportFilter: \.armv7hl\.rpm$ armv7hl armv8el +ExportFilter: \.armv7thl\.rpm$ armv7thl armv8el +ExportFilter: \.armv7tnhl\.rpm$ armv7tnhl armv8el +ExportFilter: \.armv7nhl\.rpm$ armv7nhl armv8el +%endif +# filter out packages of cross setup on ia32 +ExportFilter: \.vanish\.rpm$ +PublishFilter: \.vanish\.rpm$ +ExportFilter: \.dontuse\.rpm$ +PublishFilter: \.dontuse\.rpm$ + +# +# ARM Start +# +%ifarch %arm +# arm land +Hostarch: x86_64 +%ifnarch armv8el +%define hostx86 1 +%endif +%if %{hostx86} +Macros: +%hostx86 1 +:Macros +%endif +# cross build support for the build hosts +Preinstall: qemu-linux-user-%{!?hostx86:x64}%{?hostx86:x86}-arm + +%define cross_5 1 +%define cross_7 1 +%define cross_7h 1 +%define native 1 + +######################## +# preselect rpm targets +# more ifs for _repository possible as needed +######################### +%ifarch armv5el +Changetarget: armv5tel-tizen-linux +%define _gnu gnueabi +%if %{cross_5} +%define speedcommon 1 +%define speedbash 1 +%define speedbinutils 1 +%define speedgcc 1 +%define native 0 +%endif +%endif + +%ifarch armv6el +Changetarget: armv6l-tizen-linux +%define _gnu gnueabi +%endif + +%ifarch armv7el armv7l +Changetarget: armv7l-tizen-linux +%define _gnu gnueabi +%if %{cross_7} +Support: cross-armv7l-platformfile +Prefer: cross-armv7l-binutils-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7l +Prefer: cross-armv7l-gcc-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7l +Prefer: cross-armv7l-gcc46-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7l +%define speedcommon 1 +%define speedbash 1 +%define speedbinutils 1 +%define speedgcc 1 +%define native 0 +%define speedtools 1 +%define speedperl 1 +%define speedpython 1 +%endif +%endif + +%ifarch armv8el armv7hl +Changetarget: armv7hl-tizen-linux +%define _gnu gnueabi +%if %{cross_7h} +Support: cross-armv7tnhl-platformfile +Prefer: cross-armv7hl-binutils-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7hl +Prefer: cross-armv7hl-gcc-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7hl +Prefer: cross-armv7hl-gcc46-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7hl +%define speedcommon 1 +%define speedbash 1 +%define speedbinutils 1 +%define speedgcc 1 +%define native 0 +%define speedtools 1 +%define speedperl 1 +%define speedpython 1 +%endif +%endif + +%if %speedtools +Preinstall: bzip2-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: elfutils-libelf-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: libacl-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: libattr-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: libcap-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: libgcc-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: liblua-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: nspr-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: nss-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: nss-softokn-freebl-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: popt-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: sqlite-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: xz-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: zlib-%{!?hostx86:x64}%{?hostx86:x86}-arm + +Preinstall: rpm-%{!?hostx86:x64}%{?hostx86:x86}-arm rpm-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm +Runscripts: rpm-%{!?hostx86:x64}%{?hostx86:x86}-arm rpm-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm +Required: rpm-build-%{!?hostx86:x64}%{?hostx86:x86}-arm + +Support: bzip2-%{!?hostx86:x64}%{?hostx86:x86}-arm +#Support: ccache-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: cmake-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: coreutils-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: elfutils-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: expat-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: diffutils-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: fdupes-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: file-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: findutils-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: gawk-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: gzip-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: m4-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: make-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: patch-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: pkg-config-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: ruby-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: sed-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: tar-%{!?hostx86:x64}%{?hostx86:x86}-arm +%endif + +%if %speedperl +Support: perl-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: perl-HTML-Parser-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: perl-XML-Parser-%{!?hostx86:x64}%{?hostx86:x86}-arm +Macros: +%speedperl 1 +:Macros +%endif + +%if %speedpython +Support: python-base-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: python-%{!?hostx86:x64}%{?hostx86:x86}-arm +Support: python-xml-%{!?hostx86:x64}%{?hostx86:x86}-arm +Macros: +%speedpython 1 +:Macros +%endif + +%if %speedcommon +# cross-compilation/speedup +Preinstall: tizen-accelerator glibc-%{!?hostx86:x64}%{?hostx86:x86}-arm +Runscripts: tizen-accelerator glibc-%{!?hostx86:x64}%{?hostx86:x86}-arm +Required: tizen-accelerator +%endif + +%if %speedbash +# bash +Preinstall: ncurses-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm +Preinstall: bash-%{!?hostx86:x64}%{?hostx86:x86}-arm +Runscripts: bash-%{!?hostx86:x64}%{?hostx86:x86}-arm +%endif + +%if %speedbinutils +Required: cross-arm-binutils-accel +%endif + +%if %speedgcc +Required: cross-arm-gcc-accel +Macros: +%speedgcc 1 +:Macros +%endif + +# now i586 land +%else + +Ignore: ncurses-libs-%{!?hostx86:x64}%{?hostx86:x86} libncurses-%{!?hostx86:x64}%{?hostx86:x86} + +%endif + +# +# ARM End +# + +Preinstall: setup filesystem tizen-release + +Preinstall: bash bzip2 bzip2-libs coreutils diffutils glibc glibc-common elfutils-libelf +Preinstall: libacl libattr libcap libfile libgcc liblua libstdc++ +Preinstall: ncurses-libs nspr nss nss-softokn-freebl +Preinstall: popt readline sed sqlite tar xz-libs zlib + +Preinstall: rpm rpm-libs + +Runscripts: setup + +VMinstall: util-linux perl libblkid e2fsprogs-libs libuuid perl-libs grep libpcre + +Required: binutils cpp glibc-devel glibc-headers gcc gcc-c++ kernel-headers rpm-build + +Support: autoconf automake bzip2 cmake coreutils cpio elfutils +Support: fdupes file findutils gawk grep gzip libtool +Support: m4 make net-tools ncurses ncurses-base ncurses-libs +Support: patch patchelf pcre perl perl-libs pkg-config psmisc python +Support: sed tar tzdata util-linux +Support: xz xz-lzma-compat zlib + +Keep: binutils cpp glibc-devel glibc-headers gcc gcc-c++ kernel-headers libstdc++-devel rpm-build + +Keep: cloog cloog-ppl cpio elfutils +Keep: file findutils gawk gmp grep gzip isl libpcre +Keep: make mpc +Keep: patch perl perl-libs pkg-config ppl ppl-pwl +Keep: sed tar +Keep: xz-lzma-compat + +Ignore: iso-codes:xml-common + +Substitute: libncurses ncurses-libs +Substitute: libncurses-devel ncurses-devel +Substitute: gettext gettext-tools +Substitute: cloog-devel cloog-ppl-devel + +Prefer: libgcc libstdc++ libgomp libmudflap libitm libasan libtsan libatomic +Prefer: coreutils + + + +#################################### +%if "%{_repository}" == "emulator" +Prefer: libX11 libXext libXrender libXau libXv libXdamage libXfixes libXi libXrandr libXinerama libXtst libXcursor libXcomposite libXt +Prefer: libelf0 libffi libglib libtheora libtheoradec libjson libgobject libgio libgmodule libgthread libusb libgnutls libgmp libsoup db4 ncurses ug-myfile-efl +Prefer: libwayland-client +Macros: +%tizen_sdk 1 +%tizen_crash_enable 1 + +## FIXME: Borrowed from Tizen:2.4:Mobile ### +%tizen_build_binary_release_type_eng 1 +%sec_build_binary_sdk 1 +%sec_build_binary_debug_enable 1 +%sec_build_binary_crash_enable 1 + +:Macros + +%define gcc_version 49 +Macros: +%gcc_version 49 +:Macros + +########## compilation flags ########## + +%define __global_cflags -O2 -g2 -feliminate-unused-debug-types -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -fmessage-length=0 -fdiagnostics-color=never -Wl,--as-needed + +Optflags: i686 %{__global_cflags} -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer +Optflags: i586 %{__global_cflags} -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer +Optflags: x86_64 %{__global_cflags} -m64 -march=corei7 -mtune=corei7-avx -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer + +%endif +#################################### + + +############################################################## +# This is for Global configuration +# You should uncomment following two options for model project + +#Support: build-info + +Macros: +#%sec_build_project_name redwood_master +:Macros + +# This is for Global configuration +############################################################## + +############################################################## +# This is build parameters + + +### from Tizen:2.4:Mobile +%define _repository target-TM1 + +Macros: + +### from Tizen:2.4:Base +%_repository standard + +############################################################## +# This is temporary global product features +# Should be moved to sec_product_features +# +############################################################## + +%dist %{?sec_build_conf_tizen_product_name}%{!?sec_build_conf_tizen_product_name:tizen} + +%tizen_version 230 +%tizen 2.3 +%vendor tizen +%_vendor tizen +%_default_patch_fuzz 2 + +%use_gcc() BuildRequires: gcc%1 gcc%1-c++ %{?speedgcc:cross-arm-gcc%1-accel} + +# python main version +%py_ver %(echo `python -c "import sys; print sys.version[:3]"`) + +# directories +%py_prefix %(echo `python -c "import sys; print sys.prefix"`) +%py_libdir %{py_prefix}/lib/python%{py_ver} +%py_incdir /usr/include/python%{py_ver} +%py_sitedir %{py_libdir}/site-packages +%py_dyndir %{py_libdir}/lib-dynload + +# pure python modules compilation +%py_comp python -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])" +%py_ocomp python -O -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])" + +%ext_info .gz +%ext_man .gz + +%info_add(:-:) test -x /sbin/install-info -a -f %{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info --info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \ +%{nil} + +%info_del(:-:) test -x /sbin/install-info -a ! -f %{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info --quiet --delete --info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \ +%{nil} + +%lang_package \ +%package locale \ +Summary: Translations and Locale for package %{name}\ +Group: Translations\ +AutoReqProv: 0\ +%description locale\ +This package provides translations for package %{name}.\ +%files locale -f %{name}.lang\ +%defattr(-,root,root,-)\ +%{nil} + +%docs_package \ +%package docs \ +Summary: Documentation for package %{name}\ +Group: Documentation\ +AutoReqProv: 0\ +%description docs\ +This package provides documentation for package %{name}.\ +%files docs -f documentation.list\ +%defattr(-,root,root,-)\ +%{nil} + +%devel_package \ +%package devel \ +Summary: Development files for package %{name}\ +Group: Development\ +%description devel\ +This package provides header files and other developer releated files for package %{name}.\ +%files devel \ +%{_includedir}/*\ +%{_libdir}/pkgconfig/*.pc\ +%{_libdir}/*.so\ +%{nil} + +%remove_docs \ + rm -rf %{?buildroot:%{buildroot}}%{_infodir} \ + rm -rf %{?buildroot:%{buildroot}}%{_defaultdocdir} \ + rm -rf %{?buildroot:%{buildroot}}%{_datadir}/doc/%{name} \ + rm -rf %{?buildroot:%{buildroot}}%{_datadir}/gtk-doc \ + rm -rf %{?buildroot:%{buildroot}}%{_datadir}/man \ + find %{?buildroot:%{buildroot}} -regex ".*/man/man./.*\.[0-9]" | xargs rm -f -- \ + find %{?buildroot:%{buildroot}} -regex ".*/man/../man./.*\.[0-9]" | xargs rm -f -- \ + find %{?buildroot:%{buildroot}} -regex ".*/man/man./.*\.[0-9]pm" | xargs rm -f -- + +# macros.perl file +# macros for perl module building. handle with care. + +# Useful perl macros (from Artur Frysiak ) +# +%perl_sitearch %(eval "`%{__perl} -V:installsitearch`"; echo $installsitearch) +%perl_sitelib %(eval "`%{__perl} -V:installsitelib`"; echo $installsitelib) +%perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch) +%perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib) +%perl_archlib %(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib) +%perl_privlib %(eval "`%{__perl} -V:installprivlib`"; echo $installprivlib) + +# More useful perl macros (from Raul Dias ) +# +%perl_version %(perl -V:version | sed "s!.*='!!;s!'.*!!") +%perl_man1ext %(perl -V:man1ext | sed "s!.*='!!;s!'.*!!") +%perl_man3ext %(perl -V:man3ext | sed "s!.*='!!;s!'.*!!") +%perl_man1dir %(perl -V:man1dir | sed "s!.*='!!;s!'.*!!") +%perl_man3dir %(perl -V:man3dir | sed "s!.*='!!;s!'.*!!") +%perl_installman1dir %(perl -V:installman1dir | sed "s!.*='!!;s!'.*!!") +%perl_installman3dir %(perl -V:installman3dir | sed "s!.*='!!;s!'.*!!") +%perl_installarchlib %(perl -V:installarchlib | sed "s!.*='!!;s!'.*!!") +%perl_prefix %{buildroot} + +# suse specific macros +# +%perl_make_install make DESTDIR=$RPM_BUILD_ROOT install_vendor +%perl_process_packlist(n:) \ + if test -n "$RPM_BUILD_ROOT" -a -d $RPM_BUILD_ROOT%perl_vendorarch/auto; then \ + find $RPM_BUILD_ROOT%perl_vendorarch/auto -name .packlist -print0 | xargs -0 -r rm \ + if [ %{_target_cpu} == noarch ]; then \ + find $RPM_BUILD_ROOT%perl_vendorarch/auto -depth -type d -print0 | xargs -0 -r rmdir \ + fi \ + fi \ + rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod \ + %nil + +# macro: perl_gen_filelist (from Christian ) +# do the rpmlint happy filelist generation +# with %dir in front of directories +# +%perl_gen_filelist(n)\ +FILES=%{name}.files\ +# fgen_dir func\ +# IN: dir\ +fgen_dir(){\ +%{__cat} >> $FILES << EOF\ +%dir ${1}\ +EOF\ +}\ +# fgen_file func\ +# IN: file\ +fgen_file(){\ +%{__cat} >> $FILES << EOF\ +${1}\ +EOF\ +}\ +# check for files in %{perl_vendorlib}\ +RES=`find ${RPM_BUILD_ROOT}%{perl_vendorlib} -maxdepth 1 -type f`\ +if [ -n "$RES" ]; then\ + for file in $RES; do\ + fgen_file "%{perl_vendorlib}/$(basename ${file})"\ + done\ +fi\ +\ +# get all dirs into array\ +base_dir="${RPM_BUILD_ROOT}%{perl_vendorlib}/"\ +for dir in `find ${base_dir} -type d | sort`; do\ + if [ "$dir" = "${base_dir}" ]; then\ + continue\ + else\ + el=`echo $dir | %{__awk} -F"${base_dir}" '{print $2}'`\ + all_dir=(${all_dir[@]} $el)\ + fi\ +done\ +\ +# build filelist\ +for i in ${all_dir[@]}; do\ + # do not add "dir {perl_vendorlib/arch}/auto", included in perl package\ + if [ "${i}" = "auto" ]; then\ + continue\ + fi\ + if [ "%{perl_vendorlib}/${i}" = "%{perl_vendorarch}/auto" ]; then\ + continue\ + else\ + if [ -d ${base_dir}/${i} ]; then\ + RES=`find "${base_dir}/${i}" -maxdepth 1 -type f`\ + if [ -n "$RES" ]; then\ + fgen_dir "%{perl_vendorlib}/${i}"\ + for file in $RES; do\ + fgen_file "%{perl_vendorlib}/${i}/$(basename ${file})"\ + done\ + else\ + fgen_dir "%{perl_vendorlib}/${i}"\ + fi\ + fi\ + fi\ +done\ +# add man pages\ +# if exist :)\ +if [ -d "${RPM_BUILD_ROOT}%{_mandir}" ]; then\ +fgen_file "%{_mandir}/man?/*"\ +fi\ +\ +# add packlist file\ +# generated fom perllocal.pod\ +if [ -f "${RPM_BUILD_ROOT}/var/adm/perl-modules/%{name}" ]; then\ + fgen_file "/var/adm/perl-modules/%{name}"\ +fi\ +\ +# check for files in %{_bindir}\ +if [ -d ${RPM_BUILD_ROOT}%{_bindir} ]; then\ + RES=`find "${RPM_BUILD_ROOT}%{_bindir}" -maxdepth 1 -type f`\ + if [ -n "$RES" ]; then\ + for file in $RES; do\ + fgen_file "%{_bindir}/$(basename ${file})"\ + done\ + fi\ +fi +%distribution Tizen:2.4:Mobile / target-TM1 +%_project Tizen:2.4:Mobile + +### from Tizen:2.4:Mobile + +%_repository target-TM1 +:Macros + +################################################################################ +# OBS Project config for Tizen:2.4:Mobile +# +# vim: set syntax=spec: +################################################################################ +################################################################################ +################################################################################ +################################################################################ +################################################################################ +%ifarch %arm +Support: python-lxml-x86-arm +Support: libxslt-x86-arm + +############################# Perl and Python deacceleration macros ########### +%if %speedperl +Macros: +%no_speedperl BuildRequires: -perl-%{!?hostx86:x64}%{?hostx86:x86}-arm -perl-HTML-Parser-%{!?hostx86:x64}%{?hostx86:x86}-arm -perl-XML-Parser-%{!?hostx86:x64}%{?hostx86:x86}-arm +:Macros +%endif + +%if %speedpython +Macros: +%no_speedpython BuildRequires: -python-base-%{!?hostx86:x64}%{?hostx86:x86}-arm -python-%{!?hostx86:x64}%{?hostx86:x86}-arm -python-xml-%{!?hostx86:x64}%{?hostx86:x86}-arm +:Macros +%endif +%endif + + +############################# conflicts resolution ############################# + +FileProvides: /usr/sbin/groupadd pwdutils +FileProvides: python-rpm rpm-python +FileProvides: libhogweed.so.2 libhogweed +FileProvides: libnettle.so.4 libnettle +FileProvides: /usr/bin/cat coreutils + +Prefer: util-linux +Prefer: libtapi-devel +Prefer: libpci-devel +Prefer: opengl-es-virtual-drv opengl-es-virtual-drv-devel +Prefer: coreutils +Prefer: libasound libasound-devel +Prefer: avsystem avsystem-devel +Prefer: libjournal libjournal-proprietary +###Prefer: libopenssl +Prefer: openssl, openssl-devel +Prefer: linux-glibc-devel + +Prefer: iptables iptables-devel +Prefer: widget.web-provider widget.web-provider-devel + +############################# profile definition ############################### + +Macros: +%tizen_version_major 2 +%tizen_version_minor 4 +%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 +%_default_patch_fuzz 2 + +## To skip glibc locale build ## +%_with_fast_build 1 + +## /bin, /sbin, /lib are linked to /usr/bin, /usr/sbin, /usr/lib ## +%_with_unified_directory 1 + +## FIXME: required from wrt-plugins-tizen ## +%sec_product_feature_profile_lite 1 +%dist %{?sec_build_conf_tizen_product_name}%{!?sec_build_conf_tizen_product_name:tizen} + +%tizen_profile_name mobile +%tizen_crash_enable 1 + +## This will be needed to skip %check section. The make check typically causes abnormal error on qemu ## +%check \ +%%check \ +exit 0 +:Macros + +############################# target-TM1 repositories ############################## + +%if "%{_repository}" == "target-TM1" + +Macros: +%tizen_target_name Z300H + +%tizen_crash_enable 1 + +## FIXME: Borrowed from Tizen:2.4:Mobile ### +%tizen_build_binary_release_type_eng 1 +%tizen_build_binary_release_type_daily 1 +%sec_build_binary_debug_enable 1 +%sec_build_binary_crash_enable 1 +%tizen_build_binary_release_type_partner 1 +%sec_product_feature_multiwindow 0 + +:Macros +%endif + +############################# target-Z300H repositories ############################## + +%if "%{_repository}" == "target-Z300H" + +Macros: +%tizen_target_name Z300H + +%tizen_crash_enable 1 + +## FIXME: Borrowed from Tizen:2.4:Mobile ### +%tizen_build_binary_release_type_eng 1 +%tizen_build_binary_release_type_daily 1 +%sec_build_binary_debug_enable 1 +%sec_build_binary_crash_enable 1 +%tizen_build_binary_release_type_partner 1 +%sec_product_feature_multiwindow 0 + +:Macros +%endif + +############################# target-Z130H repositories ############################## + +%if "%{_repository}" == "target-Z130H" + +Macros: +%tizen_target_name Z130H + +%tizen_crash_enable 1 + +## FIXME: Borrowed from Tizen:2.4:Mobile ### +%tizen_build_binary_release_type_eng 1 +%tizen_build_binary_release_type_daily 1 +%sec_build_binary_debug_enable 1 +%sec_build_binary_crash_enable 1 +%tizen_build_binary_release_type_partner 1 +%sec_product_feature_multiwindow 0 + +:Macros +%endif + +############################# target repositories ############################## + +%if "%{_repository}" == "target" + +Macros: +%tizen_crash_enable 1 + +## FIXME: Borrowed from Tizen:2.4:Mobile ### +%tizen_build_binary_release_type_eng 1 +%tizen_build_binary_release_type_daily 1 +%sec_build_binary_debug_enable 1 +%sec_build_binary_crash_enable 1 +%tizen_build_binary_release_type_partner 1 +%sec_product_feature_multiwindow 0 + +:Macros +%endif + +############################# emulator repositories ############################ + +%if "%{_repository}" == "emulator" +Prefer: libX11 libXext libXrender libXau libXv libXdamage libXfixes libXi libXrandr libXinerama libXtst libXcursor libXcomposite libXt +Prefer: libffi libglib libtheora libtheoradec libjson libgobject libgio libgmodule libgthread libusb libgnutls libgmp libsoup db4 ncurses ug-myfile-efl libatk +Prefer: libwayland-client +Macros: +%tizen_sdk 1 +%tizen_crash_enable 1 + +## FIXME: Borrowed from Tizen:2.4:Mobile ### +%tizen_build_binary_release_type_eng 1 +%sec_build_binary_sdk 1 +%sec_build_binary_debug_enable 1 +%sec_build_binary_crash_enable 1 + +:Macros +%endif + + +############################# build config ##################################### + +%define gcc_version 49 +Macros: +%gcc_version 49 +:Macros diff --git a/build.conf b/build.conf deleted file mode 100644 index 5ef99b6..0000000 --- a/build.conf +++ /dev/null @@ -1,692 +0,0 @@ -Patterntype: rpm-md comps -Release: %%{?release_prefix:%%{release_prefix}.}. -Support: build build-compare - -%define suse_version 1230 - -%ifarch %arm -ExportFilter: \.i586\.rpm$ i586 -ExportFilter: \.x86_64\.rpm$ x86_64 -%endif -%ifarch %ix86 x86_64 -ExportFilter: \.armv5el\.rpm$ armv5el -ExportFilter: \.armv5tel\.rpm$ armv5el -ExportFilter: \.armv6el\.rpm$ armv6el -ExportFilter: \.armv6l\.rpm$ armv6el -ExportFilter: \.armv6vl\.rpm$ armv6el -ExportFilter: \.armv7el\.rpm$ armv7el -ExportFilter: \.armv7l\.rpm$ armv7l armv7el -ExportFilter: \.armv7vl\.rpm$ armv7el -ExportFilter: \.armv7hl\.rpm$ armv7hl armv8el -ExportFilter: \.armv7thl\.rpm$ armv7thl armv8el -ExportFilter: \.armv7tnhl\.rpm$ armv7tnhl armv8el -ExportFilter: \.armv7nhl\.rpm$ armv7nhl armv8el -%endif -# filter out packages of cross setup on ia32 -ExportFilter: \.vanish\.rpm$ -PublishFilter: \.vanish\.rpm$ -ExportFilter: \.dontuse\.rpm$ -PublishFilter: \.dontuse\.rpm$ - -# -# ARM Start -# -%ifarch %arm -# arm land -Hostarch: x86_64 -%ifnarch armv8el -%define hostx86 1 -%endif -%if %{hostx86} -Macros: -%hostx86 1 -:Macros -%endif -# cross build support for the build hosts -Preinstall: qemu-linux-user-%{!?hostx86:x64}%{?hostx86:x86}-arm - -%define cross_5 1 -%define cross_7 1 -%define cross_7h 1 -%define native 1 - -######################## -# preselect rpm targets -# more ifs for _repository possible as needed -######################### -%ifarch armv5el -Changetarget: armv5tel-tizen-linux -%define _gnu gnueabi -%if %{cross_5} -%define speedcommon 1 -%define speedbash 1 -%define speedbinutils 1 -%define speedgcc 1 -%define native 0 -%endif -%endif - -%ifarch armv6el -Changetarget: armv6l-tizen-linux -%define _gnu gnueabi -%endif - -%ifarch armv7el armv7l -Changetarget: armv7l-tizen-linux -%define _gnu gnueabi -%if %{cross_7} -Support: cross-armv7l-platformfile -Prefer: cross-armv7l-binutils-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7l -Prefer: cross-armv7l-gcc-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7l -Prefer: cross-armv7l-gcc46-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7l -%define speedcommon 1 -%define speedbash 1 -%define speedbinutils 1 -%define speedgcc 1 -%define native 0 -%define speedtools 1 -%define speedperl 1 -%define speedpython 1 -%endif -%endif - -%ifarch armv8el armv7hl -Changetarget: armv7hl-tizen-linux -%define _gnu gnueabi -%if %{cross_7h} -Support: cross-armv7tnhl-platformfile -Prefer: cross-armv7hl-binutils-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7hl -Prefer: cross-armv7hl-gcc-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7hl -Prefer: cross-armv7hl-gcc46-accel-%{!?hostx86:x64}%{?hostx86:x86}-armv7hl -%define speedcommon 1 -%define speedbash 1 -%define speedbinutils 1 -%define speedgcc 1 -%define native 0 -%define speedtools 1 -%define speedperl 1 -%define speedpython 1 -%endif -%endif - -%if %speedtools -Preinstall: bzip2-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: elfutils-libelf-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: libacl-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: libattr-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: libcap-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: libgcc-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: liblua-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: nspr-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: nss-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: nss-softokn-freebl-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: popt-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: sqlite-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: xz-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: zlib-%{!?hostx86:x64}%{?hostx86:x86}-arm - -Preinstall: rpm-%{!?hostx86:x64}%{?hostx86:x86}-arm rpm-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm -Runscripts: rpm-%{!?hostx86:x64}%{?hostx86:x86}-arm rpm-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm -Required: rpm-build-%{!?hostx86:x64}%{?hostx86:x86}-arm - -Support: bzip2-%{!?hostx86:x64}%{?hostx86:x86}-arm -#Support: ccache-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: cmake-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: coreutils-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: elfutils-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: expat-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: diffutils-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: fdupes-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: file-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: findutils-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: gawk-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: gzip-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: m4-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: make-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: patch-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: pkg-config-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: ruby-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: sed-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: tar-%{!?hostx86:x64}%{?hostx86:x86}-arm -%endif - -%if %speedperl -Support: perl-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: perl-HTML-Parser-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: perl-XML-Parser-%{!?hostx86:x64}%{?hostx86:x86}-arm -Macros: -%speedperl 1 -:Macros -%endif - -%if %speedpython -Support: python-base-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: python-%{!?hostx86:x64}%{?hostx86:x86}-arm -Support: python-xml-%{!?hostx86:x64}%{?hostx86:x86}-arm -Macros: -%speedpython 1 -:Macros -%endif - -%if %speedcommon -# cross-compilation/speedup -Preinstall: tizen-accelerator glibc-%{!?hostx86:x64}%{?hostx86:x86}-arm -Runscripts: tizen-accelerator glibc-%{!?hostx86:x64}%{?hostx86:x86}-arm -Required: tizen-accelerator -%endif - -%if %speedbash -# bash -Preinstall: ncurses-libs-%{!?hostx86:x64}%{?hostx86:x86}-arm -Preinstall: bash-%{!?hostx86:x64}%{?hostx86:x86}-arm -Runscripts: bash-%{!?hostx86:x64}%{?hostx86:x86}-arm -%endif - -%if %speedbinutils -Required: cross-arm-binutils-accel -%endif - -%if %speedgcc -Required: cross-arm-gcc-accel -Macros: -%speedgcc 1 -:Macros -%endif - -# now i586 land -%else - -Ignore: ncurses-libs-%{!?hostx86:x64}%{?hostx86:x86} libncurses-%{!?hostx86:x64}%{?hostx86:x86} - -%endif - -# -# ARM End -# - -Preinstall: setup filesystem tizen-release - -Preinstall: bash bzip2 bzip2-libs coreutils diffutils glibc glibc-common elfutils-libelf -Preinstall: libacl libattr libcap libfile libgcc liblua libstdc++ -Preinstall: ncurses-libs nspr nss nss-softokn-freebl -Preinstall: popt readline sed sqlite tar xz-libs zlib - -Preinstall: rpm rpm-libs - -Runscripts: setup - -VMinstall: util-linux perl libblkid e2fsprogs-libs libuuid perl-libs grep libpcre - -Required: binutils cpp glibc-devel glibc-headers gcc gcc-c++ kernel-headers rpm-build - -Support: autoconf automake bzip2 cmake coreutils cpio elfutils -Support: fdupes file findutils gawk grep gzip libtool -Support: m4 make net-tools ncurses ncurses-base ncurses-libs -Support: patch patchelf pcre perl perl-libs pkg-config psmisc python -Support: sed tar tzdata util-linux -Support: xz xz-lzma-compat zlib - -Keep: binutils cpp glibc-devel glibc-headers gcc gcc-c++ kernel-headers libstdc++-devel rpm-build - -Keep: cloog cloog-ppl cpio elfutils -Keep: file findutils gawk gmp grep gzip isl libpcre -Keep: make mpc -Keep: patch perl perl-libs pkg-config ppl ppl-pwl -Keep: sed tar -Keep: xz-lzma-compat - -Ignore: iso-codes:xml-common - -Substitute: libncurses ncurses-libs -Substitute: libncurses-devel ncurses-devel -Substitute: gettext gettext-tools -Substitute: cloog-devel cloog-ppl-devel - -Prefer: libgcc libstdc++ libgomp libmudflap libitm libasan libtsan libatomic -Prefer: coreutils - - - -#################################### -%if "%{_repository}" == "emulator" -Prefer: libX11 libXext libXrender libXau libXv libXdamage libXfixes libXi libXrandr libXinerama libXtst libXcursor libXcomposite libXt -Prefer: libelf0 libffi libglib libtheora libtheoradec libjson libgobject libgio libgmodule libgthread libusb libgnutls libgmp libsoup db4 ncurses ug-myfile-efl -Prefer: libwayland-client -Macros: -%tizen_sdk 1 -%tizen_crash_enable 1 - -## FIXME: Borrowed from Tizen:2.4:Mobile ### -%tizen_build_binary_release_type_eng 1 -%sec_build_binary_sdk 1 -%sec_build_binary_debug_enable 1 -%sec_build_binary_crash_enable 1 - -:Macros - -%define gcc_version 49 -Macros: -%gcc_version 49 -:Macros - -########## compilation flags ########## - -%define __global_cflags -O2 -g2 -feliminate-unused-debug-types -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -fmessage-length=0 -fdiagnostics-color=never -Wl,--as-needed - -Optflags: i686 %{__global_cflags} -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer -Optflags: i586 %{__global_cflags} -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer -Optflags: x86_64 %{__global_cflags} -m64 -march=corei7 -mtune=corei7-avx -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer - -%endif -#################################### - - -############################################################## -# This is for Global configuration -# You should uncomment following two options for model project - -#Support: build-info - -Macros: -#%sec_build_project_name redwood_master -:Macros - -# This is for Global configuration -############################################################## - -############################################################## -# This is build parameters - -Macros: - -############################################################## -# This is temporary global product features -# Should be moved to sec_product_features -# -############################################################## - -%dist %{?sec_build_conf_tizen_product_name}%{!?sec_build_conf_tizen_product_name:tizen} - -%tizen_version 230 -%tizen 2.3 -%vendor tizen -%_vendor tizen -%_default_patch_fuzz 2 - -%use_gcc() BuildRequires: gcc%1 gcc%1-c++ %{?speedgcc:cross-arm-gcc%1-accel} - -# python main version -%py_ver %(echo `python -c "import sys; print sys.version[:3]"`) - -# directories -%py_prefix %(echo `python -c "import sys; print sys.prefix"`) -%py_libdir %{py_prefix}/lib/python%{py_ver} -%py_incdir /usr/include/python%{py_ver} -%py_sitedir %{py_libdir}/site-packages -%py_dyndir %{py_libdir}/lib-dynload - -# pure python modules compilation -%py_comp python -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])" -%py_ocomp python -O -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])" - -%ext_info .gz -%ext_man .gz - -%info_add(:-:) test -x /sbin/install-info -a -f %{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info --info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \ -%{nil} - -%info_del(:-:) test -x /sbin/install-info -a ! -f %{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info --quiet --delete --info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \ -%{nil} - -%lang_package \ -%package locale \ -Summary: Translations and Locale for package %{name}\ -Group: Translations\ -AutoReqProv: 0\ -%description locale\ -This package provides translations for package %{name}.\ -%files locale -f %{name}.lang\ -%defattr(-,root,root,-)\ -%{nil} - -%docs_package \ -%package docs \ -Summary: Documentation for package %{name}\ -Group: Documentation\ -AutoReqProv: 0\ -%description docs\ -This package provides documentation for package %{name}.\ -%files docs -f documentation.list\ -%defattr(-,root,root,-)\ -%{nil} - -%devel_package \ -%package devel \ -Summary: Development files for package %{name}\ -Group: Development\ -%description devel\ -This package provides header files and other developer releated files for package %{name}.\ -%files devel \ -%{_includedir}/*\ -%{_libdir}/pkgconfig/*.pc\ -%{_libdir}/*.so\ -%{nil} - -%remove_docs \ - rm -rf %{?buildroot:%{buildroot}}%{_infodir} \ - rm -rf %{?buildroot:%{buildroot}}%{_defaultdocdir} \ - rm -rf %{?buildroot:%{buildroot}}%{_datadir}/doc/%{name} \ - rm -rf %{?buildroot:%{buildroot}}%{_datadir}/gtk-doc \ - rm -rf %{?buildroot:%{buildroot}}%{_datadir}/man \ - find %{?buildroot:%{buildroot}} -regex ".*/man/man./.*\.[0-9]" | xargs rm -f -- \ - find %{?buildroot:%{buildroot}} -regex ".*/man/../man./.*\.[0-9]" | xargs rm -f -- \ - find %{?buildroot:%{buildroot}} -regex ".*/man/man./.*\.[0-9]pm" | xargs rm -f -- - -# macros.perl file -# macros for perl module building. handle with care. - -# Useful perl macros (from Artur Frysiak ) -# -%perl_sitearch %(eval "`%{__perl} -V:installsitearch`"; echo $installsitearch) -%perl_sitelib %(eval "`%{__perl} -V:installsitelib`"; echo $installsitelib) -%perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch) -%perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib) -%perl_archlib %(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib) -%perl_privlib %(eval "`%{__perl} -V:installprivlib`"; echo $installprivlib) - -# More useful perl macros (from Raul Dias ) -# -%perl_version %(perl -V:version | sed "s!.*='!!;s!'.*!!") -%perl_man1ext %(perl -V:man1ext | sed "s!.*='!!;s!'.*!!") -%perl_man3ext %(perl -V:man3ext | sed "s!.*='!!;s!'.*!!") -%perl_man1dir %(perl -V:man1dir | sed "s!.*='!!;s!'.*!!") -%perl_man3dir %(perl -V:man3dir | sed "s!.*='!!;s!'.*!!") -%perl_installman1dir %(perl -V:installman1dir | sed "s!.*='!!;s!'.*!!") -%perl_installman3dir %(perl -V:installman3dir | sed "s!.*='!!;s!'.*!!") -%perl_installarchlib %(perl -V:installarchlib | sed "s!.*='!!;s!'.*!!") -%perl_prefix %{buildroot} - -# suse specific macros -# -%perl_make_install make DESTDIR=$RPM_BUILD_ROOT install_vendor -%perl_process_packlist(n:) \ - if test -n "$RPM_BUILD_ROOT" -a -d $RPM_BUILD_ROOT%perl_vendorarch/auto; then \ - find $RPM_BUILD_ROOT%perl_vendorarch/auto -name .packlist -print0 | xargs -0 -r rm \ - if [ %{_target_cpu} == noarch ]; then \ - find $RPM_BUILD_ROOT%perl_vendorarch/auto -depth -type d -print0 | xargs -0 -r rmdir \ - fi \ - fi \ - rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod \ - %nil - -# macro: perl_gen_filelist (from Christian ) -# do the rpmlint happy filelist generation -# with %dir in front of directories -# -%perl_gen_filelist(n)\ -FILES=%{name}.files\ -# fgen_dir func\ -# IN: dir\ -fgen_dir(){\ -%{__cat} >> $FILES << EOF\ -%dir ${1}\ -EOF\ -}\ -# fgen_file func\ -# IN: file\ -fgen_file(){\ -%{__cat} >> $FILES << EOF\ -${1}\ -EOF\ -}\ -# check for files in %{perl_vendorlib}\ -RES=`find ${RPM_BUILD_ROOT}%{perl_vendorlib} -maxdepth 1 -type f`\ -if [ -n "$RES" ]; then\ - for file in $RES; do\ - fgen_file "%{perl_vendorlib}/$(basename ${file})"\ - done\ -fi\ -\ -# get all dirs into array\ -base_dir="${RPM_BUILD_ROOT}%{perl_vendorlib}/"\ -for dir in `find ${base_dir} -type d | sort`; do\ - if [ "$dir" = "${base_dir}" ]; then\ - continue\ - else\ - el=`echo $dir | %{__awk} -F"${base_dir}" '{print $2}'`\ - all_dir=(${all_dir[@]} $el)\ - fi\ -done\ -\ -# build filelist\ -for i in ${all_dir[@]}; do\ - # do not add "dir {perl_vendorlib/arch}/auto", included in perl package\ - if [ "${i}" = "auto" ]; then\ - continue\ - fi\ - if [ "%{perl_vendorlib}/${i}" = "%{perl_vendorarch}/auto" ]; then\ - continue\ - else\ - if [ -d ${base_dir}/${i} ]; then\ - RES=`find "${base_dir}/${i}" -maxdepth 1 -type f`\ - if [ -n "$RES" ]; then\ - fgen_dir "%{perl_vendorlib}/${i}"\ - for file in $RES; do\ - fgen_file "%{perl_vendorlib}/${i}/$(basename ${file})"\ - done\ - else\ - fgen_dir "%{perl_vendorlib}/${i}"\ - fi\ - fi\ - fi\ -done\ -# add man pages\ -# if exist :)\ -if [ -d "${RPM_BUILD_ROOT}%{_mandir}" ]; then\ -fgen_file "%{_mandir}/man?/*"\ -fi\ -\ -# add packlist file\ -# generated fom perllocal.pod\ -if [ -f "${RPM_BUILD_ROOT}/var/adm/perl-modules/%{name}" ]; then\ - fgen_file "/var/adm/perl-modules/%{name}"\ -fi\ -\ -# check for files in %{_bindir}\ -if [ -d ${RPM_BUILD_ROOT}%{_bindir} ]; then\ - RES=`find "${RPM_BUILD_ROOT}%{_bindir}" -maxdepth 1 -type f`\ - if [ -n "$RES" ]; then\ - for file in $RES; do\ - fgen_file "%{_bindir}/$(basename ${file})"\ - done\ - fi\ -fi - -################################################################################ -# OBS Project config for Tizen:2.4:Mobile -# -# vim: set syntax=spec: -################################################################################ -################################################################################ -################################################################################ -################################################################################ -################################################################################ -%ifarch %arm -Support: python-lxml-x86-arm -Support: libxslt-x86-arm - -############################# Perl and Python deacceleration macros ########### -%if %speedperl -Macros: -%no_speedperl BuildRequires: -perl-%{!?hostx86:x64}%{?hostx86:x86}-arm -perl-HTML-Parser-%{!?hostx86:x64}%{?hostx86:x86}-arm -perl-XML-Parser-%{!?hostx86:x64}%{?hostx86:x86}-arm -:Macros -%endif - -%if %speedpython -Macros: -%no_speedpython BuildRequires: -python-base-%{!?hostx86:x64}%{?hostx86:x86}-arm -python-%{!?hostx86:x64}%{?hostx86:x86}-arm -python-xml-%{!?hostx86:x64}%{?hostx86:x86}-arm -:Macros -%endif -%endif - - -############################# conflicts resolution ############################# - -FileProvides: /usr/sbin/groupadd pwdutils -FileProvides: python-rpm rpm-python -FileProvides: libhogweed.so.2 libhogweed -FileProvides: libnettle.so.4 libnettle -FileProvides: /usr/bin/cat coreutils - -Prefer: util-linux -Prefer: libtapi-devel -Prefer: libpci-devel -Prefer: opengl-es-virtual-drv opengl-es-virtual-drv-devel -Prefer: coreutils -Prefer: libasound libasound-devel -Prefer: avsystem avsystem-devel -Prefer: libjournal libjournal-proprietary -###Prefer: libopenssl -Prefer: openssl, openssl-devel -Prefer: linux-glibc-devel - -Prefer: iptables iptables-devel -Prefer: widget.web-provider widget.web-provider-devel - -############################# profile definition ############################### - -Macros: -%tizen_version_major 2 -%tizen_version_minor 4 -%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 -%_default_patch_fuzz 2 - -## To skip glibc locale build ## -%_with_fast_build 1 - -## /bin, /sbin, /lib are linked to /usr/bin, /usr/sbin, /usr/lib ## -%_with_unified_directory 1 - -## FIXME: required from wrt-plugins-tizen ## -%sec_product_feature_profile_lite 1 -%dist %{?sec_build_conf_tizen_product_name}%{!?sec_build_conf_tizen_product_name:tizen} - -%tizen_profile_name mobile -%tizen_crash_enable 1 - -## This will be needed to skip %check section. The make check typically causes abnormal error on qemu ## -%check \ -%%check \ -exit 0 -:Macros - -############################# target-TM1 repositories ############################## - -%if "%{_repository}" == "target-TM1" - -Macros: -%tizen_target_name Z300H - -%tizen_crash_enable 1 - -## FIXME: Borrowed from Tizen:2.4:Mobile ### -%tizen_build_binary_release_type_eng 1 -%tizen_build_binary_release_type_daily 1 -%sec_build_binary_debug_enable 1 -%sec_build_binary_crash_enable 1 -%tizen_build_binary_release_type_partner 1 -%sec_product_feature_multiwindow 0 - -:Macros -%endif - -############################# target-Z300H repositories ############################## - -%if "%{_repository}" == "target-Z300H" - -Macros: -%tizen_target_name Z300H - -%tizen_crash_enable 1 - -## FIXME: Borrowed from Tizen:2.4:Mobile ### -%tizen_build_binary_release_type_eng 1 -%tizen_build_binary_release_type_daily 1 -%sec_build_binary_debug_enable 1 -%sec_build_binary_crash_enable 1 -%tizen_build_binary_release_type_partner 1 -%sec_product_feature_multiwindow 0 - -:Macros -%endif - -############################# target-Z130H repositories ############################## - -%if "%{_repository}" == "target-Z130H" - -Macros: -%tizen_target_name Z130H - -%tizen_crash_enable 1 - -## FIXME: Borrowed from Tizen:2.4:Mobile ### -%tizen_build_binary_release_type_eng 1 -%tizen_build_binary_release_type_daily 1 -%sec_build_binary_debug_enable 1 -%sec_build_binary_crash_enable 1 -%tizen_build_binary_release_type_partner 1 -%sec_product_feature_multiwindow 0 - -:Macros -%endif - -############################# target repositories ############################## - -%if "%{_repository}" == "target" - -Macros: -%tizen_crash_enable 1 - -## FIXME: Borrowed from Tizen:2.4:Mobile ### -%tizen_build_binary_release_type_eng 1 -%tizen_build_binary_release_type_daily 1 -%sec_build_binary_debug_enable 1 -%sec_build_binary_crash_enable 1 -%tizen_build_binary_release_type_partner 1 -%sec_product_feature_multiwindow 0 - -:Macros -%endif - -############################# emulator repositories ############################ - -%if "%{_repository}" == "emulator" -Prefer: libX11 libXext libXrender libXau libXv libXdamage libXfixes libXi libXrandr libXinerama libXtst libXcursor libXcomposite libXt -Prefer: libffi libglib libtheora libtheoradec libjson libgobject libgio libgmodule libgthread libusb libgnutls libgmp libsoup db4 ncurses ug-myfile-efl libatk -Prefer: libwayland-client -Macros: -%tizen_sdk 1 -%tizen_crash_enable 1 - -## FIXME: Borrowed from Tizen:2.4:Mobile ### -%tizen_build_binary_release_type_eng 1 -%sec_build_binary_sdk 1 -%sec_build_binary_debug_enable 1 -%sec_build_binary_crash_enable 1 - -:Macros -%endif - - -############################# build config ##################################### - -%define gcc_version 49 -Macros: -%gcc_version 49 -:Macros diff --git a/build.conf b/build.conf new file mode 120000 index 0000000..0550d50 --- /dev/null +++ b/build.conf @@ -0,0 +1 @@ +build-target-TM1.conf \ No newline at end of file diff --git a/meta.xml b/meta.xml new file mode 100644 index 0000000..699f02c --- /dev/null +++ b/meta.xml @@ -0,0 +1,25 @@ + + Tizen:2.4:Mobile + + + + + + + + + + + + + + + + armv7l + i586 + + + + i586 + + diff --git a/update_from_obs b/update_from_obs new file mode 100755 index 0000000..f8db591 --- /dev/null +++ b/update_from_obs @@ -0,0 +1,36 @@ +#!/bin/bash + +project="Tizen:2.4:Mobile" +default_target="target-TM1" +osc_cmd="osc -A https://api.tizen.org" + +targets=`$osc_cmd repos $project | awk '{print $1}'|sort |uniq` + +# removing all git tracked files except for myself +#git ls-files|grep -v update_from_obs |xargs rm -f +#git add -u + +echo "synchronizing build configs ..." +for target in $targets +do + $osc_cmd buildconfig $project $target > build-${target}.conf +# git add build-${target}.conf +done + +# get project meta file +echo "synchronizing project meta file" +$osc_cmd meta prj $project > meta.xml +#git add meta.xml + +# set default build config +ln -sf build-${default_target}.conf build.conf +#git add build.conf + +# commit changes to git tree +#git commit -m "Update from OBS at `date +\"%Y-%m-%d %H:%M:%S\"`" >/dev/null +#if [ $? -eq 0 ]; then +# echo "all local changes commit locally" +# echo "please review it with 'git show' and submit it with 'git push'" +#else +# echo "no change needs to be made" +#fi