[oden@oe ~]$ cat .rpmmacros %_buildshell /bin/bash %_topdir /home/oden/RPM %_builddir %{_topdir}/BUILD %_rpmdir %{_topdir}/RPMS %_sourcedir %{_topdir}/SOURCES %_specdir %{_topdir}/SPECS %_srcrpmdir %{_topdir}/SRPMS %_tmppath %{_topdir}/temp %packager Oden Eriksson #%_signature gpg #%_gpg_name Oden Eriksson %vendor Mandriva %distribution Mandrivalinux #%multiarch_platform multiarch-%{_arch}-%{_target_os} #%multiarch_bindir %{_bindir}/%{multiarch_platform} #%multiarch_includedir %{_includedir}/%{multiarch_platform} #%multiarch_x11bindir %{_prefix}/X11R6/bin/%{multiarch_platform} #%multiarch_x11includedir %{_prefix}/X11R6/include/%{multiarch_platform} #%multiarch_distro 1020 #%multiarch_binaries() \ #%if %{mdkversion} >= %{multiarch_distro} \ #%{_prefix}/lib/rpm/mkmultiarch binaries %* \ #%endif # #%multiarch_includes() \ #%if %{mdkversion} >= %{multiarch_distro} \ #%{_prefix}/lib/rpm/mkmultiarch includes %* \ #%endif # #%multiarch() \ #%if %{mdkversion} >= %{multiarch_distro} \ #%* \ #%endif # %_with_unstable --with-unstable #%mkrel(c:) %{-c:0.%{-c*}.}%{!?_with_unstable:%(perl -e '$_="%{1}";m/(.\*)(\\d+)$/;$rel=${2}-1;re;print "$1$rel";').%{?subrel:%subrel}%{!?subrel:1}.%{?distversion:%distversion}%{?!distversion:%(echo $[%{mdkversion}/10])}}%{?_with_unstable:%{1}}%{?distsuffix:%distsuffix}%{?!distsuffix:mdk} #------------------------------------------------------------------------------ # with/without macros # # this is heliocastro/niemeyer magic! # #%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}}} #------------------------------------------------------------------------------ # Allow us to use %{with debug} macro # #%define with_debug %{?debug:1}%{!?debug:0} #------------------------------------------------------------------------------ # Redefine RPM sections to allow jumping over them # #%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 %%install \ #[ %{with install} -eq 1 ] || exit 0 \ #%{nil} #------------------------------------------------------------------------------ # rpm macros for use in ruby packages %ruby_version %(ruby -rrbconfig -e 'print Config::CONFIG["ruby_version"]') %ruby_archdir %(ruby -rrbconfig -e 'puts Config::CONFIG["archdir"]') %ruby_libdir %(ruby -rrbconfig -e 'print Config::CONFIG["rubylibdir"]') %ruby_sitearchdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]') %ruby_sitelibdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]') %ruby_gemdir %(ruby -rrbconfig -e 'include Config; print CONFIG["rubylibdir"].sub(CONFIG["ruby_version"], "gems/#{CONFIG["ruby_version"]}")') %ruby_ridir %(ruby -rrbconfig -e 'include Config; print File.join(CONFIG["datadir"], "ri", CONFIG["ruby_version"])') #------------------------------------------------------------------------------ # 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