# directories %_infodir ${infodir} %_mandir ${mandir} %_sysconfdir %{_buildPrefix}${sysconfdir} %_localstatedir %{_buildPrefix}${localstatedir} %_defaultdocdir %{_usr}/share/doc/packages #use for systemd %_rootprefix / %_unitdir_user %{_prefix}/lib/systemd/user %_unitdir ${systemd_unitdir}/system #use for PAM %_base_libdir ${base_libdir} # package build macros # %make_install make install DESTDIR=%{?buildroot} # %makeinstall make DESTDIR=%{?buildroot:%{buildroot}} install %rb_arch %(echo %{_host_cpu}-linux | sed -e "s/i686/i586/" -e "s/armv5tel/armv4l/" -e "s/hppa2.0/hppa/") %rb_ver %(/usr/bin/ruby -e 'puts VERSION.sub(/\\\.\\\d$/, "")') # this script calls all scripts in /usr/lib/rpm/brp-tizen.d %__os_install_post \ /usr/lib/rpm/brp-compress \ /usr/lib/rpm/brp-tizen \ %{!?disable_docs_package:/usr/lib/rpm/tizen/find-docs.sh %{buildroot}} \ %{nil} # macro: %configure_kernel_source # # %configure_kernel_source() \ if test -d /usr/src/linux ; then \ pushd /usr/src/linux \ test -f .config || cp arch/%_arch/defconfig.default .config \ yes "" | make oldconfig \ make dep \ popd \ fi \ %nil %install_info(:-:) \ ALL_ARGS=(%{**}) \ NUM_ARGS=${#ALL_ARGS[@]} \ if test -x /sbin/install-info ; then \ if test -e "${ALL_ARGS[$((NUM_ARGS-1))]}" ; then \ /sbin/install-info "${ALL_ARGS[@]}" \ fi \ fi ; %install_info_delete(:-:) \ ALL_ARGS=(%{**}) \ NUM_ARGS=${#ALL_ARGS[@]} \ if test -x /sbin/install-info ; then \ if ! test -e "${ALL_ARGS[$((NUM_ARGS-1))]}" ; then \ /sbin/install-info --quiet --delete "${ALL_ARGS[@]}" \ fi ; \ fi ; # find-supplements.ksyms parses this macro directly out of the spec file: %supplements_kernel_module() \ %{expand:%(if ! rpm -q kernel-syms > /dev/null; then echo "%fail Please add the kernel-syms package to BuildRequires"; fi)} %do_profiling 0 %cflags_profile_generate -fprofile-generate %cflags_profile_feedback -fprofile-use # Tizen # %configure \ autotools_do_configure %reconfigure \ autotools_do_configure %autogen \ %reconfigure %makeinstall \ %{__make} \\\ DESTDIR=%{?buildroot:%{buildroot}} \\\ BINDIR=%{_bindir} \\\ prefix=%{_prefix} \\\ exec_prefix=%{_exec_prefix} \\\ bindir=%{_bindir} \\\ sbindir=%{_sbindir} \\\ sysconfdir=%{_sysconfdir} \\\ datadir=%{_datadir} \\\ includedir=%{_includedir} \\\ libdir=%{_libdir} \\\ libexecdir=%{_libexecdir} \\\ localstatedir=}%{_localstatedir} \\\ sharedstatedir=%{_sharedstatedir} \\\ mandir=%{_mandir} \\\ infodir=%{_infodir} \\\ install %make_install \ %{__make} \\\ DESTDIR=%{?buildroot:%{buildroot}} \\\ INSTALL_ROOT=%{?buildroot:%{buildroot}} \\\ BINDIR=%{_bindir} \\\ install \ rm -f %{?buildroot:%{buildroot}}%{_infodir}/dir \ find %{?buildroot:%{buildroot}} -regex ".*\\.la$" | xargs rm -f -- \ %{!?keepstatic:find %{?buildroot:%{buildroot}} -regex ".*\\.a$" | xargs rm -f --} %_smp_mflags \${PARALLEL_MAKE} %lang_package(n:f:) \ %package %{-n:-n %{-n*}-}locale \ Summary: Translations and Locale for package %{name}\ Group: System/Localization\ Requires: %{-n:%{-n*}}%{!-n:%{name}} = %{version} \ Provides: %{-n:%{-n*}}%{!-n:%{name}}-lang-all = %{version} \ BuildArch: noarch \ %description %{-n:-n %{-n*}-}locale\ This package provides translations for package %{name}.\ %files %{-n:-n %{-n*}-}locale -f %{-f:%{-f*}.lang} %{!-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} # Bad hack to set $LANG to C during all RPM builds %prep \ %%prep\ LANG=C\ export LANG\ unset DISPLAY\ %{nil} %build %%build\ LANG=C\ export LANG\ unset DISPLAY\ LD_AS_NEEDED=1; export LD_AS_NEEDED ;\ %{nil} %install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package}}}\ %%install\ LANG=C\ export LANG\ unset DISPLAY\ rm -rf %{?buildroot:%{buildroot}}\ mkdir -p %{?buildroot:%{buildroot}}\ %{nil} %clean %%clean\ rm -rf %{?buildroot:%{buildroot}}\ %{nil} %find_lang %{_rpmconfigdir}/lib/find-lang.sh \${D}%{_buildPrefix} %find_docs %{_rpmconfigdir}/lib/tizen/find-docs.sh %{buildroot} #============================================================================== # ---- default .desktop directories per the desktop-entry freedesktop.org spec %_desktopdir %{_datadir}/applications #============================================================================== # ---- Generic auto req/prov filtering macros # # http://fedoraproject.org/wiki/PackagingDrafts/AutoProvidesAndRequiresFiltering # prevent anything matching from being scanned for provides %filter_provides_in(P) %{expand: \ %global __filter_prov_cmd %{?__filter_prov_cmd} %{__grep} -v %{-P} '%*' | \ } # prevent anything matching from being scanned for requires %filter_requires_in(P) %{expand: \ %global __filter_req_cmd %{?__filter_req_cmd} %{__grep} -v %{-P} '%*' | \ } # filter anything matching out of the provides stream %filter_from_provides() %{expand: \ %global __filter_from_prov %{?__filter_from_prov} | %{__sed} -e '%*' \ } # filter anything matching out of the requires stream %filter_from_requires() %{expand: \ %global __filter_from_req %{?__filter_from_req} | %{__sed} -e '%*' \ } # actually set up the filtering bits %filter_setup %{expand: \ %global _use_internal_dependency_generator 0 \ %global __deploop() while read FILE; do /usr/lib/rpm/rpmdeps -%{1} ${FILE}; done | /bin/sort -u \ %global __find_provides /bin/sh -c "%{?__filter_prov_cmd} %{__deploop P} %{?__filter_from_prov}" \ %global __find_requires /bin/sh -c "%{?__filter_req_cmd} %{__deploop R} %{?__filter_from_req}" \ } %remove_docs \ rm -rf %{?buildroot:%{buildroot}}%{_infodir} \ rm -rf %{?buildroot:%{buildroot}}%{_defaultdocdir} \ rm -rf %{?buildroot:%{buildroot}}%{_datadir}/doc/%{name} \ rm -rf %{?buildroot:%{buildroot}}%{_datadir}/doc/%{name}-%{version} \ rm -rf %{?buildroot:%{buildroot}}%{_datadir}/gtk-doc \ rm -rf %{?buildroot:%{buildroot}}%{_datadir}/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 -- %install_service() \ mkdir -p %{buildroot}/%{_unitdir}/%{1} \ ln -s ../%{2} %{buildroot}/%{_unitdir}/%{1}/%{2} \ %{nil} %_fontsdir %{_usr}/share/fonts %_ttfontsdir %{_fontsdir}/truetype %_miscfontsdir %{_fontsdir}/misc %_fontsconfdir %{_sysconfdir}/fonts %_fontsconfddir %{_fontsconfdir}/conf.d %_fontsconfavaildir %{_datadir}/%{name}/conf.avail %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} %devel_desc This package contains all necessary include files and libraries needed \ to develop applications that require %{name}.\ %{nil}