diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2008-01-29 16:37:09 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2008-01-29 16:37:09 +0000 |
commit | d56fb8ee567b2165f63d23cbaa096653811039ab (patch) | |
tree | dfd901761ece67bc5480af9ef34410d89883d481 | |
parent | 6a3b2c36a77bbdc0f521e745ba227d8ba9855d08 (diff) | |
download | rpm-setup-d56fb8ee567b2165f63d23cbaa096653811039ab.tar rpm-setup-d56fb8ee567b2165f63d23cbaa096653811039ab.tar.gz rpm-setup-d56fb8ee567b2165f63d23cbaa096653811039ab.tar.bz2 rpm-setup-d56fb8ee567b2165f63d23cbaa096653811039ab.tar.xz rpm-setup-d56fb8ee567b2165f63d23cbaa096653811039ab.zip |
move many macros out of /usr/lib/rpm/<vendor>/macros into
new file /etc/rpm/macros.d/build.macros, those macros will not be available
anymore if rpm-<vendor>-setup-build is not installed
-rw-r--r-- | Makefile.am | 19 | ||||
-rw-r--r-- | build.macros.in | 435 | ||||
-rw-r--r-- | macros.in | 464 |
3 files changed, 450 insertions, 468 deletions
diff --git a/Makefile.am b/Makefile.am index 1ab58bf..364c5bb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,8 +9,15 @@ pkg_gdata = \ rpmrc \ macros +pkg_sysconf_macros_tmp = \ + build.macros + pkg_data_in = $(pkg_gdata:=.in) +pkg_sysconf_macros_in = $(pkg_sysconf_macros_tmp:=.in) + +pkg_sysconf_macros = $(pkg_sysconf_macros_tmp) + pkg_gconfig = \ platform \ $(if $(CANONTARGETCPU32), platform32, ) @@ -64,6 +71,7 @@ pkglib_SCRIPTS = \ EXTRA_DIST = \ $(pkg_data) \ $(pkg_data_in) \ + $(pkg_sysconf_macros_in) \ $(pkg_scripts) \ $(pkg_scripts_in) \ macros-perarch.in make_arch_macrosfiles.sh.in \ @@ -86,7 +94,7 @@ edit = sed \ %: %.in Makefile $(edit) $< > $@ -%.macros: macros-perarch make_arch_macrosfiles.sh +$(arch_macrosfiles): macros-perarch make_arch_macrosfiles.sh arch=`echo $@ | sed 's,\\.macros,,'`; \ sh ./make_arch_macrosfiles.sh macros-perarch $$arch > $@ @@ -96,7 +104,7 @@ platform: rpmgenplatform Makefile platform32: rpmgenplatform Makefile perl rpmgenplatform $(CANONTARGETCPU32) > $@ -install-data-local: $(arch_macrosfiles) $(pkg_gconfig) +install-data-local: $(arch_macrosfiles) $(pkg_gconfig) $(pkg_sysconf_macros_tmp) if ONLY_RPMRC echo "not installing per-arch macros which are already in rpmrc and standard rpm per-arch macros" else @@ -105,8 +113,11 @@ else $(install_sh_DATA) $${i}.macros $(DESTDIR)$(RPMVENDORDIR)/$${i}-$(RPMOS)/macros; \ done endif - [ -d $(DESTDIR)$(RPMSYSCONFDIR) ] || $(mkinstalldirs) $(DESTDIR)$(RPMSYSCONFDIR) + [ -d $(DESTDIR)$(RPMSYSCONFDIR)/macros.d ] || $(mkinstalldirs) $(DESTDIR)$(RPMSYSCONFDIR)/macros.d $(install_sh_SCRIPT) rpmb_deprecated $(DESTDIR)$(RPMLIBDIR) + for i in $(pkg_sysconf_macros); do \ + $(install_sh_DATA) $${i} $(DESTDIR)$(RPMSYSCONFDIR)/macros.d/$${i}; \ + done if RPMPLATFORM for i in $(pkg_gconfig); do \ $(install_sh_DATA) $${i} $(DESTDIR)$(RPMSYSCONFDIR)/$${i}; \ @@ -124,5 +135,5 @@ test: $(pkg_gdata) $(pkg_gscripts) $(arch_macrosfiles) $(pkg_gconfig) sh tests.sh CLEANFILES = $(pkg_gdata) $(pkg_gscripts) $(arch_macrosfiles) $(pkg_gconfig)\ - macros-perarch \ + macros-perarch $(pkg_sysconf_macros_tmp) \ make_arch_macrosfiles.sh diff --git a/build.macros.in b/build.macros.in new file mode 100644 index 0000000..c4cfae9 --- /dev/null +++ b/build.macros.in @@ -0,0 +1,435 @@ + +%__gzip /usr/bin/gzip + +%_sys_macros_dir @RPMSYSCONFDIR@/macros.d +%build_sysmacrospath() %{_sys_macros_dir}/%{?1:%{1}}%{?!1:%{name}}.macros + +%defaultbuildroot %{_tmppath}/%{name}-%{version}-%{release}-buildroot + +%__cputoolize cputoolize + +# Where install-info is located +%__install_info /sbin/install-info + +# Various programs used in rpm scripts +%_update_desktop_database_bin %{_bindir}/update-desktop-database +%_update_mime_database_bin %{_bindir}/update-mime-database +%_update_icon_cache_bin %{_bindir}/gtk-update-icon-cache +%_gconftool_bin %{_bindir}/gconftool-2 +%_scrollkeeper_bin %{_bindir}/scrollkeeper-update + +%__service /sbin/service +%__chkconfig /sbin/chkconfig + +#============================================================================== +# ---- Required rpmrc macros. +# Macros that used to be initialized as a side effect of rpmrc parsing. +# These are the default values that can be overridden by other +# (e.g. per-platform, per-system, per-packager, per-package) macros. +# + +%_enable_debug_packages 1 + +%debugcflags %{?_enable_debug_packages:-g} + +%debug_package_and_restore %{debug_package} \ +%package __restore__\ +Summary: %{summary}\ +Group: %{group}\ +%description __restore__ + +%ix86 i386 i486 i586 i686 pentium3 pentium4 athlon k6 + +%sunsparc sun4 sun4m sun4c sun4d sparc sparcv8 sparcv9 sparc64 scparcv9b sparcv9v + +# common compilation flags +%_fortify_cflags -Wp,-D_FORTIFY_SOURCE=2 +%_serverbuild_flags %nil +%_ssp_cflags -fstack-protector --param=ssp-buffer-size=4 %{?_serverbuild_flags} +%__common_cflags -O2 %{debugcflags} -pipe %{?_fortify_cflags} -fexceptions +%__common_cflags_with_ssp %{__common_cflags} %{?_ssp_cflags} + +# Multilibs +%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$ + +%_arch_tag_suffix (%_lib) +%arch_tagged() %{1}%{_arch_tag_suffix} %{?2:%{2} %{3}%{?!3:%{error:undefined 3rd argument in arch_tagged}}} + +# Games macros +%_gamesdir games +%_gamesbindir %{_prefix}/%{_gamesdir} +%_gamesdatadir %{_datadir}/%{_gamesdir} + +# Default extension to use. +%_extension .lzma + +# Menu directories +%_menudir %{_prefix}/lib/menu +%_iconsdir %{_datadir}/icons +%_miconsdir %{_datadir}/icons/mini +%_liconsdir %{_datadir}/icons/large + +%_xfontdir %_datadir/fonts + +%_webconfdir %{_sysconfdir}/httpd/conf +%_webappconfdir %_webconfdir/webapps.d +# compatibility +%webappconfdir %_webappconfdir + +#============================================================================== +# ---- Build configuration macros. +# +# Package version macro. +# The type of package to produce, for compatibility with legacy +# versions of rpm. +# +# Script gets packaged file list on input. +# Returns list of multiarch files that are not marked as such, +# i.e. files in $RPM_BUILD_ROOT that have arch-dependent values +# +# Note: Disable (by commenting out) for legacy compatibility. +#%__check_multiarch_files @RPMLIBDIR@/check-multiarch-files %{buildroot} + +# Use internal dependency generator rather than external helpers? +%_use_internal_dependency_generator 0 + +%__find_provides @RPMVENDORDIR@/filter.sh '%{?_provides_exceptions:%{_provides_exceptions}}%{!?_provides_exceptions: }' '%{?_exclude_files_from_autoprov:%{_exclude_files_from_autoprov}}%{!?_exclude_files_from_autoprov: }' '%{buildroot}' @RPMVENDORDIR@/find-provides +%__find_requires @RPMVENDORDIR@/filter.sh '%{?_requires_exceptions:%{_requires_exceptions}}%{!?_requires_exceptions: }' '%{?_exclude_files_from_autoreq:%{_exclude_files_from_autoreq}}%{!?_exclude_files_from_autoreq: }' '%{buildroot}' @RPMVENDORDIR@/find-requires %{?buildroot:%{buildroot}} %{?_target_cpu:%{_target_cpu}} + +%find_lang @RPMVENDORDIR@/find-lang.pl %{buildroot} + +# Macro: %{mklibname <name> [<major> [<minor>]] [-s] [-d]} +# - %{mklibname test} => lib64test, on a lib64 platform +# - %{mklibname test 1 -d} => libtest1-devel +# - %{mklibname test 1 -d 0 -s} => libtest1_0-static-devel +%mklibname(ds) %{_lib}%{1}%{?2:%{2}}%{?3:_%{3}}%{-s:-static}%{-d:-devel} + +# Update Menu +%_update_menus_bin %{_bindir}/update-menus +%update_menus if [ -x %{_update_menus_bin} ]; then %{_update_menus_bin} || true ; fi \ +%{nil} + +# Clean Menu +%clean_menus if [ "$1" = "0" -a -x %{_update_menus_bin} ]; then %{_update_menus_bin} || true ; fi \ +%{nil} + +# Update Window Managers session. +%_fndsession_bin %{_sbindir}/fndSession +%make_session if [ -x %{_fndsession_bin} ]; then %{_fndsession_bin} || true ; fi \ +%{nil} + +# Macros to install info-files. +%_install_info() if [[ -f %{_infodir}/%{1}%{_extension} ]];then %{__install_info} %{_infodir}/%{1}%{_extension} --dir=%{_infodir}/dir;fi \ +%{nil} + +# Macros to remove info-files. (keep the "alone on its line ';'") +%_remove_install_info() if [ "$1" = "0" ]; then if [[ -f %{_infodir}/%{1}%{_extension} ]];then %{__install_info} %{_infodir}/%{1}%{_extension} --dir=%{_infodir}/dir --remove ;fi; fi \ +%{nil} + +# For rebuilding gcj-db +%_rebuildgcjdb_bin %{_bindir}/rebuild-gcj-db +%update_gcjdb if [ -x %{_rebuildgcjdb_bin} ]; then %{_rebuildgcjdb_bin} || true ; fi \ +%{nil} + +%clean_gcjdb if [ -x %{_rebuildgcjdb_bin} ]; then %{_rebuildgcjdb_bin} || true ; fi \ +%{nil} + +# Rebuild .desktop / MIME mapping database +%update_desktop_database if [ -x %{_update_desktop_database_bin} ]; then \ +%{_update_desktop_database_bin} %{_datadir}/applications > /dev/null || \ +true ; fi \ +%{nil} + +%clean_desktop_database if [ "$1" = "0" -a -x %{_update_desktop_database_bin} ]; then \ +%{_update_desktop_database_bin} %{_datadir}/applications > /dev/null || true ; fi \ +%{nil} + +# Rebuild freedesktop.org MIME magic/extension database +%update_mime_database if [ -x %{_update_mime_database_bin} ]; then \ +%{_update_mime_database_bin} %{_datadir}/mime > /dev/null || true ; fi \ +%{nil} + +%clean_mime_database if [ "$1" = "0" -a -x %{_update_mime_database_bin} ]; \ +then %{_update_mime_database_bin} %{_datadir}/mime > /dev/null || true ; fi \ +%{nil} + +# Rebuild icon cache +%update_icon_cache() if [ -x %{_update_icon_cache_bin} ]; then \ +%{_update_icon_cache_bin} --force --quiet %{_iconsdir}/%{1} || true; fi \ +%{nil} + +%clean_icon_cache() if [ -x %{_update_icon_cache_bin} -a -r %{_iconsdir}/%{1}/index.theme ]; then \ +%{_update_icon_cache_bin} --force --quiet %{_iconsdir}/%{1} || true ; fi \ +%{nil} + +# Install GConf schemas +%post_install_gconf_schemas() if [ -x %{_gconftool_bin} ]; then \ +SCHEMAS="" \ +for SCHEMA in %{*} ; do \ + SCHEMAS="$SCHEMAS %{_sysconfdir}/gconf/schemas/$SCHEMA.schemas" \ +done \ +GCONF_CONFIG_SOURCE=`%{_gconftool_bin} --get-default-source` %{_gconftool_bin} --makefile-install-rule $SCHEMAS > /dev/null || true ; fi \ +%{nil} + +%preun_uninstall_gconf_schemas() if [ "$1" = "0" -a -x %{_gconftool_bin} ]; then \ +SCHEMAS="" \ +for SCHEMA in %{*} ; do \ + SCHEMAS="$SCHEMAS %{_sysconfdir}/gconf/schemas/$SCHEMA.schemas" \ +done \ +GCONF_CONFIG_SOURCE=`%{_gconftool_bin} --get-default-source` %{_gconftool_bin} --makefile-uninstall-rule $SCHEMAS > /dev/null || true ; fi \ +%{nil} + +# Rebuild scrollkeeper database +%update_scrollkeeper if [ -x %{_scrollkeeper_bin} ]; then \ +%{_scrollkeeper_bin} -q || true ; fi \ +%{nil} + +%clean_scrollkeeper if [ "$1" = "0" -a -x %{_scrollkeeper_bin} ]; \ +then %{_scrollkeeper_bin} -q || true ; fi \ +%{nil} + +# Mandriva Linux version +# - "9.1" => 910 +# - "10.2.2" => 1022 +# (user may copy the following line in specfile) +%mdkversion %(perl -pe '/(\\d+)\\.(\\d)\\.?(\\d)?/; $_="$1$2".($3||0)' /etc/mandriva-release) + +%distsuffix mdv + +%mkrel(c:) %{-c: 0.%{-c*}.}%{1}%{?subrel:.%subrel}%{?distsuffix:%distsuffix}%{?!distsuffix:mdv}%{?mandriva_release:%mandriva_release} + +%_smp_mflags %([ -z "$RPM_BUILD_NCPUS" ] \\\ + && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\ + [ "$RPM_BUILD_NCPUS" -gt 1 ] && echo "-j$RPM_BUILD_NCPUS") + +# make +%_make_bin make +%make %{_make_bin} %_smp_mflags + +#============================================================================== +# ---- Build policy macros. +# +#--------------------------------------------------------------------- +# Expanded at end of %install scriptlet. +# + +%__os_install_post \ + %{?__spec_helper_post}%{?!__spec_helper_post:/usr/share/spec-helper/spec-helper} \ +%{nil} + +%__debug_install_post \ + @RPMVENDORDIR@/find-debuginfo.sh %{_builddir}/%{?buildsubdir}\ +%{nil} + + +#============================================================================== +# ---- specfile macros. +# Macro(s) here can be used reliably for reproducible builds. +# (Note: Above is the goal, below are the macros under development) +# + +# Servers opt flags. +# Also set the env variables for backward compatibility (#32050). +%serverbuild %define _serverbuild_flags -fstack-protector-all \ +export CFLAGS="%optflags"; export CXXFLAGS="%optflags"; export RPM_OPT_FLAGS="%optflags" \ +%{nil} + +%__libtoolize_configure %{?__libtoolize:(cd $CONFIGURE_TOP; [ -f configure.in -o -f configure.ac ] && %{__libtoolize} --copy --force)} + +# This is an improved version of %configure (from PLD team). +%configure \ + CONFIGURE_TOP="${CONFIGURE_TOP:-.}"; \ + CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \ + CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \ + FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \ + %{?__cputoolize:%{__cputoolize} -c $CONFIGURE_TOP} ; \ + %{?_enable_libtoolize:%{?__libtoolize_configure:%{__libtoolize_configure};}} \ + [ -f $CONFIGURE_TOP/configure.in -o -f $CONFIGURE_TOP/configure.ac ] && \ + CONFIGURE_XPATH="--x-includes=%{_prefix}/include --x-libraries=%{_prefix}/%{_lib}" \ + $CONFIGURE_TOP/configure %{_target_platform} \\\ + --program-prefix=%{?_program_prefix} \\\ + --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} \\\ + $CONFIGURE_XPATH + +%configure2_5x \ + CONFIGURE_TOP="${CONFIGURE_TOP:-.}"; \ + CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \ + CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \ + FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \ + %{?__cputoolize:%{__cputoolize} -c $CONFIGURE_TOP} ; \ + %{?_enable_libtoolize:%{?__libtoolize_configure:%{__libtoolize_configure};}} \ + [ -f $CONFIGURE_TOP/configure.in -o -f $CONFIGURE_TOP/configure.ac ] && \ + CONFIGURE_XPATH="--x-includes=%{_prefix}/include --x-libraries=%{_prefix}/%{_lib}" \ + $CONFIGURE_TOP/configure --build=%{_target_platform} \\\ + --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} \\\ + $CONFIGURE_XPATH + +%makeinstall_std make DESTDIR=%{?buildroot:%{buildroot}} install + +%old_makeinstall \ + make \\\ + prefix=%{?buildroot:%{buildroot}}%{_prefix} \\\ + exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \\\ + bindir=%{?buildroot:%{buildroot}}%{_bindir} \\\ + sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \\\ + sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \\\ + datadir=%{?buildroot:%{buildroot}}%{_datadir} \\\ + includedir=%{?buildroot:%{buildroot}}%{_includedir} \\\ + libdir=%{?buildroot:%{buildroot}}%{_libdir} \\\ + libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \\\ + localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \\\ + sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \\\ + mandir=%{?buildroot:%{buildroot}}%{_mandir} \\\ + infodir=%{?buildroot:%{buildroot}}%{_infodir} \\\ + install + + +#------------------------------------------------------------------------------ +# Useful python macros +%pyver %(python -V 2>&1 | cut -f2 -d" " | cut -f1,2 -d".") + +#------------------------------------------------------------------------------ +# Useful perl macros +# (initially from Artur Frysiak <wiget@t17.ds.pwr.wroc.pl>) +# (modified by Pixel <pixel@mandriva.com>) +# +# [...] +# Group: Development/Perl +# [...] +# %build +# perl Makefile.PL INSTALLDIRS=vendor +# %make +# [...] +# %install +# rm -rf $RPM_BUILD_ROOT +# make install PREFIX="$RPM_BUILD_ROOT/%{prefix}" +# [...] +# %files +# %defattr(644,root,root,755) +# %{perl_vendorlib}/CGI +# or +# %{perl_vendorarch}/DBI +# %{perl_vendorarch}/auto/DBI +# %{_mandir}/*/* +# + +# kept for compatibility, but should not be used, especially the ugly perl_archlib! +%perl_sitearch %(eval "`perl -V:installsitearch`"; echo $installsitearch) +%perl_archlib %(eval "`perl -V:installarchlib`"; echo $installarchlib) + +#-------------------------------------------------------------------------------- +# Macro from conectiva + +%rename() \ +Obsoletes: %{1} < %{version}-%{release} \ +Provides: %{1} = %{version}-%{release} + +# Shorthand for %{defined with_...} +# macros provided by rpm 4.4, but buggy :( +%_with() %{expand: %%{?_with_%1:1} %%{!?_with_%1: %%{?_without_%1:0} %%{!?_without_%1: %%{?with_%1:%%{with_%1}} %%{!?with_%1: %%{?without_%1:!%%{without_%1}} %%{!?without_%1: %%{?2:%%2} %%{!?2:1} } } } } } +%_without() !%{expand: %%{with %1 %{?2:%2}}} + +%_package_i18n(g:f:) \ +%%package -n %{?1:%{1}}%{?!1:%{name}}-i18n\ +Summary: Internationalization and locale data for %{?1:%{1}}%{?!1:%{name}}\ +License: %{license}\ +Group: %{?-g:%{-g*}}%{?!-g:%{group}}\ +\ +%%description -n %{?1:%{1}}%{?!1:%{name}}-i18n\ +Internationalization and locale data for %{?1:%{1}}%{?!1:%{name}}\ +\ +%%files -n %{?1:%{1}}%{?!1:%{name}}-i18n %{?-f:%{-f}}%{?!-f:-f %{?1:%{1}}%{?!1:%{name}}.lang}\ +%{nil} + + +#------------------------------------------------------------------------------ +# Python specific macros + +# (from rpm 4.4.6) +%python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)") +%python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()") +%python_version %(%{__python} -c "import sys; print(sys.version[0:3])") + +# More Python specific macro definitions (originally from PLD). +# +%py_ver %(python -c "import sys; v=sys.version_info[:2]; print '%%d.%%d'%%v" 2>/dev/null || echo PYTHON-NOT-FOUND) +%py_prefix %(python -c "import sys; print sys.prefix" 2>/dev/null || echo PYTHON-NOT-FOUND) +# backward compatibility +%py_libdir %py_purelibdir +%py_platlibdir %(python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(standard_lib=1,plat_specific=1)' 2>/dev/null || echo PYTHON-LIBDIR-NOT-FOUND) +%py_purelibdir %(python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(standard_lib=1,plat_specific=0)' 2>/dev/null || echo PYTHON-LIBDIR-NOT-FOUND) +%py_incdir %(python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_inc()' 2>/dev/null || echo PYTHON-INCLUDEDIR-NOT-FOUND) +%py_sitedir %py_puresitedir +%py_platsitedir %(python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(plat_specific=1)' 2>/dev/null || echo PYTHON-LIBDIR-NOT-FOUND) +%py_puresitedir %(python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()' 2>/dev/null || echo PYTHON-LIBDIR-NOT-FOUND) + +%py_compile(O) \ +find %1 -name '*.pyc' -exec rm -f {} \\; \ +python -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \ +%{-O: \ +find %1 -name '*.pyo' -exec rm -f {} \\; \ +python -O -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \ +} +%py_requires(d) \ +%define minver %py_ver \ +%define maxver %(python -c "import sys; a,b=sys.version_info[:2]; print '%%d.%%d'%%(a,b+1)" 2>/dev/null || echo PYTHON-NOT-FOUND) \ +BuildRequires: python %{-d:python-devel} \ +Requires: python >= %minver, python < %maxver + + +#------------------------------------------------------------------------------ +# Ocaml macro +# + +%ocaml_sitelib %(if [ -x /usr/bin/ocamlc ]; then ocamlc -where;fi)/site-lib + +#------------------------------------------------------------------------------ +# Redefine RPM sections to allow jumping over them using "--without <section>". +# This an interesting alternative to --short-circuit. +# The following are mostly equivalent: +# % rpmbuild -bi --short-circuit foo.spec && rpmbuild -bb --short-circuit foo.spec +# % rpmbuild -bb --without build foo.spec + +%prep %%prep \ +[ %{_with prep} -eq 1 ] || exit 0 \ +[ %{_with build} -eq 1 ] || exit 0 \ +[ %{_with install} -eq 1 ] || exit 0 \ +%{nil} + +%build %%build \ +[ %{_with install} -eq 1 ] || exit 0 \ +[ %{_with build} -eq 1 ] || exit 0 \ +%{nil} + +%install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package_and_restore}}}\ +%%install\ +[ %{_with install} -eq 1 ] || exit 0 \ +%{nil} + +%check %%check \ +[ %{_with check} -eq 1 ] || exit 0 \ +%{nil} @@ -19,87 +19,8 @@ %_host %{_host_cpu}-%{_real_vendor}-%{_host_os} -#============================================================================== -# Macro naming conventions (preliminary): -# -# Macros that begin with an underscore are "local" in the sense that -# they (if used) will not be exported in rpm headers. Some macros -# that don't start with an underscore (but look like they should) -# are compatible with macros generated by rpm-2.5.x and will be made -# more consistent in a future release. -# - -%__gzip /usr/bin/gzip - -%_sys_macros_dir @RPMSYSCONFDIR@/macros.d -%build_sysmacrospath() %{_sys_macros_dir}/%{?1:%{1}}%{?!1:%{name}}.macros - -#============================================================================== -# ---- Build system path macros. -# - -%defaultbuildroot %{_tmppath}/%{name}-%{version}-%{release}-buildroot - -%__cputoolize cputoolize - -# Where install-info is located -%__install_info /sbin/install-info - -# Update Menu -%_update_menus_bin %{_bindir}/update-menus - -# Various programs used in rpm scripts -%_update_desktop_database_bin %{_bindir}/update-desktop-database -%_update_mime_database_bin %{_bindir}/update-mime-database -%_update_icon_cache_bin %{_bindir}/gtk-update-icon-cache -%_gconftool_bin %{_bindir}/gconftool-2 -%_scrollkeeper_bin %{_bindir}/scrollkeeper-update - -%__service /sbin/service -%__chkconfig /sbin/chkconfig - -#============================================================================== -# ---- Required rpmrc macros. -# Macros that used to be initialized as a side effect of rpmrc parsing. -# These are the default values that can be overridden by other -# (e.g. per-platform, per-system, per-packager, per-package) macros. -# - -%_enable_debug_packages 1 - -%debugcflags %{?_enable_debug_packages:-g} - -%debug_package_and_restore %{debug_package} \ -%package __restore__\ -Summary: %{summary}\ -Group: %{group}\ -%description __restore__ - -%ix86 i386 i486 i586 i686 pentium3 pentium4 athlon k6 - -%sunsparc sun4 sun4m sun4c sun4d sparc sparcv8 sparcv9 sparc64 scparcv9b sparcv9v - -# common compilation flags -%_fortify_cflags -Wp,-D_FORTIFY_SOURCE=2 -%_serverbuild_flags %nil -%_ssp_cflags -fstack-protector --param=ssp-buffer-size=4 %{?_serverbuild_flags} -%__common_cflags -O2 %{debugcflags} -pipe %{?_fortify_cflags} -fexceptions -%__common_cflags_with_ssp %{__common_cflags} %{?_ssp_cflags} - -#============================================================================== -# ---- Optional rpmrc macros. -# Macros that are initialized as a side effect of rpmrc and/or spec -# file parsing. -# - %_changelog_truncate 3 years ago -# Multilibs -%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$ - -%_arch_tag_suffix (%_lib) -%arch_tagged() %{1}%{_arch_tag_suffix} %{?2:%{2} %{3}%{?!3:%{error:undefined 3rd argument in arch_tagged}}} - %_sysconfdir /etc %_localstatedir %{_var}/lib %_logdir %{_var}/log @@ -114,179 +35,6 @@ Group: %{group}\ %_libexecdir %_libdir -# Games macros -%_gamesdir games -%_gamesbindir %{_prefix}/%{_gamesdir} -%_gamesdatadir %{_datadir}/%{_gamesdir} - -# Default extension to use. -%_extension .lzma - -# Menu directories -%_menudir %{_prefix}/lib/menu -%_iconsdir %{_datadir}/icons -%_miconsdir %{_datadir}/icons/mini -%_liconsdir %{_datadir}/icons/large - -%_xfontdir %_datadir/fonts - -%_webconfdir %{_sysconfdir}/httpd/conf -%_webappconfdir %_webconfdir/webapps.d -# compatibility -%webappconfdir %_webappconfdir - -#============================================================================== -# ---- Build configuration macros. -# -# Package version macro. -# The type of package to produce, for compatibility with legacy -# versions of rpm. -# -# Script gets packaged file list on input. -# Returns list of multiarch files that are not marked as such, -# i.e. files in $RPM_BUILD_ROOT that have arch-dependent values -# -# Note: Disable (by commenting out) for legacy compatibility. -#%__check_multiarch_files @RPMLIBDIR@/check-multiarch-files %{buildroot} - -# Use internal dependency generator rather than external helpers? -%_use_internal_dependency_generator 0 - -%__find_provides @RPMVENDORDIR@/filter.sh '%{?_provides_exceptions:%{_provides_exceptions}}%{!?_provides_exceptions: }' '%{?_exclude_files_from_autoprov:%{_exclude_files_from_autoprov}}%{!?_exclude_files_from_autoprov: }' '%{buildroot}' @RPMVENDORDIR@/find-provides -%__find_requires @RPMVENDORDIR@/filter.sh '%{?_requires_exceptions:%{_requires_exceptions}}%{!?_requires_exceptions: }' '%{?_exclude_files_from_autoreq:%{_exclude_files_from_autoreq}}%{!?_exclude_files_from_autoreq: }' '%{buildroot}' @RPMVENDORDIR@/find-requires %{?buildroot:%{buildroot}} %{?_target_cpu:%{_target_cpu}} - -%find_lang @RPMVENDORDIR@/find-lang.pl %{buildroot} - -# Macro: %{mklibname <name> [<major> [<minor>]] [-s] [-d]} -# - %{mklibname test} => lib64test, on a lib64 platform -# - %{mklibname test 1 -d} => libtest1-devel -# - %{mklibname test 1 -d 0 -s} => libtest1_0-static-devel -%mklibname(ds) %{_lib}%{1}%{?2:%{2}}%{?3:_%{3}}%{-s:-static}%{-d:-devel} - -# Update Menu -%_update_menus_bin %{_bindir}/update-menus -%update_menus if [ -x %{_update_menus_bin} ]; then %{_update_menus_bin} || true ; fi \ -%{nil} - -# Clean Menu -%clean_menus if [ "$1" = "0" -a -x %{_update_menus_bin} ]; then %{_update_menus_bin} || true ; fi \ -%{nil} - -# Update Window Managers session. -%_fndsession_bin %{_sbindir}/fndSession -%make_session if [ -x %{_fndsession_bin} ]; then %{_fndsession_bin} || true ; fi \ -%{nil} - -# Macros to install info-files. -%_install_info() if [[ -f %{_infodir}/%{1}%{_extension} ]];then %{__install_info} %{_infodir}/%{1}%{_extension} --dir=%{_infodir}/dir;fi \ -%{nil} - -# Macros to remove info-files. (keep the "alone on its line ';'") -%_remove_install_info() if [ "$1" = "0" ]; then if [[ -f %{_infodir}/%{1}%{_extension} ]];then %{__install_info} %{_infodir}/%{1}%{_extension} --dir=%{_infodir}/dir --remove ;fi; fi \ -%{nil} - -# For rebuilding gcj-db -%_rebuildgcjdb_bin %{_bindir}/rebuild-gcj-db -%update_gcjdb if [ -x %{_rebuildgcjdb_bin} ]; then %{_rebuildgcjdb_bin} || true ; fi \ -%{nil} - -%clean_gcjdb if [ -x %{_rebuildgcjdb_bin} ]; then %{_rebuildgcjdb_bin} || true ; fi \ -%{nil} - -# Rebuild .desktop / MIME mapping database -%update_desktop_database if [ -x %{_update_desktop_database_bin} ]; then \ -%{_update_desktop_database_bin} %{_datadir}/applications > /dev/null || \ -true ; fi \ -%{nil} - -%clean_desktop_database if [ "$1" = "0" -a -x %{_update_desktop_database_bin} ]; then \ -%{_update_desktop_database_bin} %{_datadir}/applications > /dev/null || true ; fi \ -%{nil} - -# Rebuild freedesktop.org MIME magic/extension database -%update_mime_database if [ -x %{_update_mime_database_bin} ]; then \ -%{_update_mime_database_bin} %{_datadir}/mime > /dev/null || true ; fi \ -%{nil} - -%clean_mime_database if [ "$1" = "0" -a -x %{_update_mime_database_bin} ]; \ -then %{_update_mime_database_bin} %{_datadir}/mime > /dev/null || true ; fi \ -%{nil} - -# Rebuild icon cache -%update_icon_cache() if [ -x %{_update_icon_cache_bin} ]; then \ -%{_update_icon_cache_bin} --force --quiet %{_iconsdir}/%{1} || true; fi \ -%{nil} - -%clean_icon_cache() if [ -x %{_update_icon_cache_bin} -a -r %{_iconsdir}/%{1}/index.theme ]; then \ -%{_update_icon_cache_bin} --force --quiet %{_iconsdir}/%{1} || true ; fi \ -%{nil} - -# Install GConf schemas -%post_install_gconf_schemas() if [ -x %{_gconftool_bin} ]; then \ -SCHEMAS="" \ -for SCHEMA in %{*} ; do \ - SCHEMAS="$SCHEMAS %{_sysconfdir}/gconf/schemas/$SCHEMA.schemas" \ -done \ -GCONF_CONFIG_SOURCE=`%{_gconftool_bin} --get-default-source` %{_gconftool_bin} --makefile-install-rule $SCHEMAS > /dev/null || true ; fi \ -%{nil} - -%preun_uninstall_gconf_schemas() if [ "$1" = "0" -a -x %{_gconftool_bin} ]; then \ -SCHEMAS="" \ -for SCHEMA in %{*} ; do \ - SCHEMAS="$SCHEMAS %{_sysconfdir}/gconf/schemas/$SCHEMA.schemas" \ -done \ -GCONF_CONFIG_SOURCE=`%{_gconftool_bin} --get-default-source` %{_gconftool_bin} --makefile-uninstall-rule $SCHEMAS > /dev/null || true ; fi \ -%{nil} - -# Rebuild scrollkeeper database -%update_scrollkeeper if [ -x %{_scrollkeeper_bin} ]; then \ -%{_scrollkeeper_bin} -q || true ; fi \ -%{nil} - -%clean_scrollkeeper if [ "$1" = "0" -a -x %{_scrollkeeper_bin} ]; \ -then %{_scrollkeeper_bin} -q || true ; fi \ -%{nil} - -# Mandriva Linux version -# - "9.1" => 910 -# - "10.2.2" => 1022 -# (user may copy the following line in specfile) -%mdkversion %(perl -pe '/(\\d+)\\.(\\d)\\.?(\\d)?/; $_="$1$2".($3||0)' /etc/mandriva-release) - -%distsuffix mdv - -%mkrel(c:) %{-c: 0.%{-c*}.}%{1}%{?subrel:.%subrel}%{?distsuffix:%distsuffix}%{?!distsuffix:mdv}%{?mandriva_release:%mandriva_release} - -%_smp_mflags %([ -z "$RPM_BUILD_NCPUS" ] \\\ - && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\ - [ "$RPM_BUILD_NCPUS" -gt 1 ] && echo "-j$RPM_BUILD_NCPUS") - -# make -%_make_bin make -%make %{_make_bin} %_smp_mflags - -#============================================================================== -# ---- Build policy macros. -# -#--------------------------------------------------------------------- -# Expanded at end of %install scriptlet. -# - -%__os_install_post \ - @RPMVENDORDIR@/brp-compress \ - @RPMVENDORDIR@/brp-strip \ - @RPMVENDORDIR@/brp-strip-static-archive \ - @RPMVENDORDIR@/brp-strip-comment-note \ -%{nil} - -%__os_install_post \ - %{?__spec_helper_post}%{?!__spec_helper_post:/usr/share/spec-helper/spec-helper} \ -%{nil} - -%__debug_install_post \ - @RPMVENDORDIR@/find-debuginfo.sh %{_builddir}/%{?buildsubdir}\ -%{nil} - #============================================================================== # ---- GPG/PGP/PGP5 signature macros. @@ -316,215 +64,3 @@ then %{_scrollkeeper_bin} -q || true ; fi \ %_rpmlock_path %{_dbpath}/__db.000 - -#============================================================================== -# ---- specfile macros. -# Macro(s) here can be used reliably for reproducible builds. -# (Note: Above is the goal, below are the macros under development) -# - -# Servers opt flags. -# Also set the env variables for backward compatibility (#32050). -%serverbuild %define _serverbuild_flags -fstack-protector-all \ -export CFLAGS="%optflags"; export CXXFLAGS="%optflags"; export RPM_OPT_FLAGS="%optflags" \ -%{nil} - -%__libtoolize_configure %{?__libtoolize:(cd $CONFIGURE_TOP; [ -f configure.in -o -f configure.ac ] && %{__libtoolize} --copy --force)} - -# This is an improved version of %configure (from PLD team). -%configure \ - CONFIGURE_TOP="${CONFIGURE_TOP:-.}"; \ - CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \ - CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \ - FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \ - %{?__cputoolize:%{__cputoolize} -c $CONFIGURE_TOP} ; \ - %{?_enable_libtoolize:%{?__libtoolize_configure:%{__libtoolize_configure};}} \ - [ -f $CONFIGURE_TOP/configure.in -o -f $CONFIGURE_TOP/configure.ac ] && \ - CONFIGURE_XPATH="--x-includes=%{_prefix}/include --x-libraries=%{_prefix}/%{_lib}" \ - $CONFIGURE_TOP/configure %{_target_platform} \\\ - --program-prefix=%{?_program_prefix} \\\ - --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} \\\ - $CONFIGURE_XPATH - -%configure2_5x \ - CONFIGURE_TOP="${CONFIGURE_TOP:-.}"; \ - CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \ - CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \ - FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \ - %{?__cputoolize:%{__cputoolize} -c $CONFIGURE_TOP} ; \ - %{?_enable_libtoolize:%{?__libtoolize_configure:%{__libtoolize_configure};}} \ - [ -f $CONFIGURE_TOP/configure.in -o -f $CONFIGURE_TOP/configure.ac ] && \ - CONFIGURE_XPATH="--x-includes=%{_prefix}/include --x-libraries=%{_prefix}/%{_lib}" \ - $CONFIGURE_TOP/configure --build=%{_target_platform} \\\ - --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} \\\ - $CONFIGURE_XPATH - -%makeinstall_std make DESTDIR=%{?buildroot:%{buildroot}} install - -%old_makeinstall \ - make \\\ - prefix=%{?buildroot:%{buildroot}}%{_prefix} \\\ - exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \\\ - bindir=%{?buildroot:%{buildroot}}%{_bindir} \\\ - sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \\\ - sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \\\ - datadir=%{?buildroot:%{buildroot}}%{_datadir} \\\ - includedir=%{?buildroot:%{buildroot}}%{_includedir} \\\ - libdir=%{?buildroot:%{buildroot}}%{_libdir} \\\ - libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \\\ - localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \\\ - sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \\\ - mandir=%{?buildroot:%{buildroot}}%{_mandir} \\\ - infodir=%{?buildroot:%{buildroot}}%{_infodir} \\\ - install - - -#------------------------------------------------------------------------------ -# Useful python macros -%pyver %(python -V 2>&1 | cut -f2 -d" " | cut -f1,2 -d".") - -#------------------------------------------------------------------------------ -# Useful perl macros -# (initially from Artur Frysiak <wiget@t17.ds.pwr.wroc.pl>) -# (modified by Pixel <pixel@mandriva.com>) -# -# [...] -# Group: Development/Perl -# [...] -# %build -# perl Makefile.PL INSTALLDIRS=vendor -# %make -# [...] -# %install -# rm -rf $RPM_BUILD_ROOT -# make install PREFIX="$RPM_BUILD_ROOT/%{prefix}" -# [...] -# %files -# %defattr(644,root,root,755) -# %{perl_vendorlib}/CGI -# or -# %{perl_vendorarch}/DBI -# %{perl_vendorarch}/auto/DBI -# %{_mandir}/*/* -# - -# kept for compatibility, but should not be used, especially the ugly perl_archlib! -%perl_sitearch %(eval "`perl -V:installsitearch`"; echo $installsitearch) -%perl_archlib %(eval "`perl -V:installarchlib`"; echo $installarchlib) - -#-------------------------------------------------------------------------------- -# Macro from conectiva - -%rename() \ -Obsoletes: %{1} < %{version}-%{release} \ -Provides: %{1} = %{version}-%{release} - -# Shorthand for %{defined with_...} -# macros provided by rpm 4.4, but buggy :( -%_with() %{expand: %%{?_with_%1:1} %%{!?_with_%1: %%{?_without_%1:0} %%{!?_without_%1: %%{?with_%1:%%{with_%1}} %%{!?with_%1: %%{?without_%1:!%%{without_%1}} %%{!?without_%1: %%{?2:%%2} %%{!?2:1} } } } } } -%_without() !%{expand: %%{with %1 %{?2:%2}}} - -%_package_i18n(g:f:) \ -%%package -n %{?1:%{1}}%{?!1:%{name}}-i18n\ -Summary: Internationalization and locale data for %{?1:%{1}}%{?!1:%{name}}\ -License: %{license}\ -Group: %{?-g:%{-g*}}%{?!-g:%{group}}\ -\ -%%description -n %{?1:%{1}}%{?!1:%{name}}-i18n\ -Internationalization and locale data for %{?1:%{1}}%{?!1:%{name}}\ -\ -%%files -n %{?1:%{1}}%{?!1:%{name}}-i18n %{?-f:%{-f}}%{?!-f:-f %{?1:%{1}}%{?!1:%{name}}.lang}\ -%{nil} - - -#------------------------------------------------------------------------------ -# Python specific macros - -# (from rpm 4.4.6) -%python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)") -%python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()") -%python_version %(%{__python} -c "import sys; print(sys.version[0:3])") - -# More Python specific macro definitions (originally from PLD). -# -%py_ver %(python -c "import sys; v=sys.version_info[:2]; print '%%d.%%d'%%v" 2>/dev/null || echo PYTHON-NOT-FOUND) -%py_prefix %(python -c "import sys; print sys.prefix" 2>/dev/null || echo PYTHON-NOT-FOUND) -# backward compatibility -%py_libdir %py_purelibdir -%py_platlibdir %(python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(standard_lib=1,plat_specific=1)' 2>/dev/null || echo PYTHON-LIBDIR-NOT-FOUND) -%py_purelibdir %(python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(standard_lib=1,plat_specific=0)' 2>/dev/null || echo PYTHON-LIBDIR-NOT-FOUND) -%py_incdir %(python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_inc()' 2>/dev/null || echo PYTHON-INCLUDEDIR-NOT-FOUND) -%py_sitedir %py_puresitedir -%py_platsitedir %(python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(plat_specific=1)' 2>/dev/null || echo PYTHON-LIBDIR-NOT-FOUND) -%py_puresitedir %(python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()' 2>/dev/null || echo PYTHON-LIBDIR-NOT-FOUND) - -%py_compile(O) \ -find %1 -name '*.pyc' -exec rm -f {} \\; \ -python -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \ -%{-O: \ -find %1 -name '*.pyo' -exec rm -f {} \\; \ -python -O -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \ -} -%py_requires(d) \ -%define minver %py_ver \ -%define maxver %(python -c "import sys; a,b=sys.version_info[:2]; print '%%d.%%d'%%(a,b+1)" 2>/dev/null || echo PYTHON-NOT-FOUND) \ -BuildRequires: python %{-d:python-devel} \ -Requires: python >= %minver, python < %maxver - - -#------------------------------------------------------------------------------ -# Ocaml macro -# - -%ocaml_sitelib %(if [ -x /usr/bin/ocamlc ]; then ocamlc -where;fi)/site-lib - -#------------------------------------------------------------------------------ -# Redefine RPM sections to allow jumping over them using "--without <section>". -# This an interesting alternative to --short-circuit. -# The following are mostly equivalent: -# % rpmbuild -bi --short-circuit foo.spec && rpmbuild -bb --short-circuit foo.spec -# % rpmbuild -bb --without build foo.spec - -%prep %%prep \ -[ %{_with prep} -eq 1 ] || exit 0 \ -[ %{_with build} -eq 1 ] || exit 0 \ -[ %{_with install} -eq 1 ] || exit 0 \ -%{nil} - -%build %%build \ -[ %{_with install} -eq 1 ] || exit 0 \ -[ %{_with build} -eq 1 ] || exit 0 \ -%{nil} - -%install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package_and_restore}}}\ -%%install\ -[ %{_with install} -eq 1 ] || exit 0 \ -%{nil} - -%check %%check \ -[ %{_with check} -eq 1 ] || exit 0 \ -%{nil} |