X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm-build-macros.git;a=blobdiff_plain;f=rpm.macros;h=068380d7941d5cf8fde5ad676b2012d02fde9b1e;hp=7e32c40094ab8a426eda38a7d6b357bb8c38cc8d;hb=4671b62adfe29ea151cf923276cab119285d265b;hpb=b3dce842ffe16c50bc56db1ce9cd9f7953dbfda3 diff --git a/rpm.macros b/rpm.macros index 7e32c40..068380d 100644 --- a/rpm.macros +++ b/rpm.macros @@ -1,11 +1,10 @@ -# $Revision$, $Date$ # vim:ts=4 sw=4 noet ft=spec # # PLD Linux rpm macros. # # can be used by builder script to check for version -%rpm_build_macros %(R="$Revision$"; RR="${R##: }"; echo ${RR%%?}) +%rpm_build_macros $Revision$ %epoch 0 %x8664 x86_64 amd64 ia32e @@ -429,9 +428,9 @@ CXXFLAGS="%{rpmcxxflags}" \ %bootstrap_release() %{!?with_bootstrap:%{1}%{?2:.%{2}}}%{?with_bootstrap:%{!?2:%(expr %{1} - 1)}%{?2:%{1}.%(expr %{2} - 1)}.zzz.bootstrap} # -n drm to generate kernel%{_alt_kernel}-drm dependency -%releq_kernel(n:) %{expand:%%global releq_kernel %(R=$(LC_ALL=C rpm -q --qf '%{N}%{?-n:-%{-n*}} = %|E?{%{E}:}|%{V}-%{R}' -f %{_kernelsrcdir}/include/linux/version.h 2>/dev/null | grep -v 'is not' | sed -e 's:-headers::;s:-config::'); echo ${R:-ERROR})}%releq_kernel -%releq_kernel_up(n:) %{expand:%%global releq_kernel_up %(R=$(LC_ALL=C rpm -q --qf '%{N}%{?-n:-%{-n*}}-up = %|E?{%{E}:}|%{V}-%{R}' -f %{_kernelsrcdir}/include/linux/version.h 2>/dev/null | grep -v 'is not' | sed -e 's:-headers::;s:-config::'); echo ${R:-ERROR})}%releq_kernel_up -%releq_kernel_smp(n:) %{expand:%%global releq_kernel_smp %(R=$(LC_ALL=C rpm -q --qf '%{N}%{?-n:-%{-n*}}-smp = %|E?{%{E}:}|%{V}-%{R}' -f %{_kernelsrcdir}/include/linux/version.h 2>/dev/null | grep -v 'is not' | sed -e 's:-headers::;s:-config::'); echo ${R:-ERROR})}%releq_kernel_smp +%releq_kernel(n:) %{expand:%%global releq_kernel %(R=$(cd %{_kernelsrcdir} 2>/dev/null && LC_ALL=C rpm -q --qf '%{N}%{?-n:-%{-n*}} = %|E?{%{E}:}|%{V}-%{R}' -f include/linux/version.h 2>/dev/null | grep -v 'is not' | sed -e 's:-headers::;s:-config::'); echo ${R:-ERROR})}%releq_kernel +%releq_kernel_up(n:) %{expand:%%global releq_kernel_up %(R=$(cd %{_kernelsrcdir} 2>/dev/null && LC_ALL=C rpm -q --qf '%{N}%{?-n:-%{-n*}}-up = %|E?{%{E}:}|%{V}-%{R}' -f include/linux/version.h 2>/dev/null | grep -v 'is not' | sed -e 's:-headers::;s:-config::'); echo ${R:-ERROR})}%releq_kernel_up +%releq_kernel_smp(n:) %{expand:%%global releq_kernel_smp %(R=$(cd %{_kernelsrcdir} 2>/dev/null && LC_ALL=C rpm -q --qf '%{N}%{?-n:-%{-n*}}-smp = %|E?{%{E}:}|%{V}-%{R}' -f include/linux/version.h 2>/dev/null | grep -v 'is not' | sed -e 's:-headers::;s:-config::'); echo ${R:-ERROR})}%releq_kernel_smp # -s post to generate Requires(post) dependency %requires_releq_kernel(s:n:) Requires%{-s:(%{-s*})}: %releq_kernel @@ -450,6 +449,12 @@ CXXFLAGS="%{rpmcxxflags}" \ # Requires: name >= version (version based on querying package %2) %requires_ge_to(r) %{!?2:ERROR}%{?3:ERROR}%{?2:%{!?3:%(if ! LC_ALL=C rpm -q --qf 'Requires: %1 >= %|E?{%{E}:}|%{V}%{?-r:-%{R}}\\n' %2 | grep '^Requires:'; then echo "BuildRequires: %2"; fi)}} +# \helper for renaming packages +# %rename old-package +%rename() \ +Obsoletes: %{1} < %{?epoch:%{epoch}:}%{?version:%{version}}%{?release:-%{release}} \ +Provides: %{1} = %{?epoch:%{epoch}:}%{?version:%{version}}%{?release:-%{release}} + %apache_modules_api %{expand:%%global apache_modules_api %(awk '/#define MODULE_MAGIC_NUMBER_MAJOR/ {print $3}' /usr/include/apache/ap_mmn.h 2>/dev/null || echo ERROR)}%apache_modules_api # kernel version-release handling @@ -459,8 +464,8 @@ CXXFLAGS="%{rpmcxxflags}" \ echo ${Z:-ERROR}; \\ )}%__kernel_ver -%__kernel_rel %{expand:%%global __kernel_rel %(Z=$(LC_ALL=C rpm -qf %{_kernelsrcdir}/include/linux/fs.h 2>/dev/null --qf "%{R}" | grep -v "is not"); echo ${Z:-ERROR})}%__kernel_rel -%__kernel_rpmvr %{expand:%%global __kernel_rpmvr %(Z=$(LC_ALL=C rpm -qf %{_kernelsrcdir}/include/linux/fs.h 2>/dev/null --qf "%{V}-%{R}" | grep -v "is not"); echo ${Z:-ERROR})}%__kernel_rpmvr +%__kernel_rel %{expand:%%global __kernel_rel %(Z=$(cd %{_kernelsrcdir} 2>/dev/null && LC_ALL=C rpm -qf include/linux/fs.h 2>/dev/null --qf "%{R}" | grep -v "is not"); echo ${Z:-ERROR})}%__kernel_rel +%__kernel_rpmvr %{expand:%%global __kernel_rpmvr %(Z=$(cd %{_kernelsrcdir} 2>/dev/null && LC_ALL=C rpm -qf include/linux/fs.h 2>/dev/null --qf "%{V}-%{R}" | grep -v "is not"); echo ${Z:-ERROR})}%__kernel_rpmvr %_kernel_ver %{expand:%%global _kernel_ver %{__kernel_ver}%{?with_dist_kernel:%(echo %{__kernel_ver} | grep -q -e - || echo -%{__kernel_rel})}}%_kernel_ver %_kernel_ver_str %{expand:%%global _kernel_ver_str %(echo %{!?_without_dist_kernel:%{__kernel_rpmvr}}%{?_without_dist_kernel:%{__kernel_ver}} | sed -e 's/-/_/g')}%_kernel_ver_str @@ -521,7 +526,9 @@ CXXFLAGS="%{rpmcxxflags}" \ l=${l#/usr/share/man/}; \ l=${l#/usr/X11R6/man/}; \ else \ - l=$m; \ + l=${a#$RPM_BUILD_ROOT$i/}; \ + l=${l%/*}; \ + l="$l/$m"; \ fi; \ rm -f $a; \ echo ".so $l" > $a; \ @@ -896,21 +903,26 @@ fi; \ # "_ts" if ZTS enabled, empty otherwise %zend_zts %{expand:%%global _zend_zts_%{?_zend_zts} 1}%{?_zend_zts_1:_ts} +# name of php package +%php_name php%{?php_suffix} +# use rpmbuild -D 'php_suffix 54' to build php extension for php 5.4 +%php_suffix %{nil} + # helper macro -%__php_api_requires(v:) Requires: php%{-v*}(%{expand:%1}) = %{expand:%{%{!?2:%{1}}%{?2}}} +%__php_api_requires(v:) Requires: %{php_name}(%{expand:%1}) = %{expand:%{%{!?2:%{1}}%{?2}}} # macros for public use # for php extensions (php-pecl) %requires_php_extension %{__php_api_requires modules_api php_api_version} \ %{__php_api_requires zend_module_api} \ -%{__php_api_requires -v %php_major_version debug php_debug} \ -%{__php_api_requires -v %php_major_version thread-safety _zend_zts} +%{__php_api_requires debug php_debug} \ +%{__php_api_requires thread-safety _zend_zts} # for zend extensions %requires_zend_extension %{__php_api_requires zend_module_api} \ %{__php_api_requires zend_extension_api} \ -%{__php_api_requires -v %php_major_version debug php_debug} \ -%{__php_api_requires -v %php_major_version thread-safety _zend_zts} +%{__php_api_requires debug php_debug} \ +%{__php_api_requires thread-safety _zend_zts} # for php pdo modules (php-pecl-PDO_*) %requires_php_pdo_module %{__php_api_requires PDO_API php_pdo_api_version} @@ -1085,6 +1097,7 @@ fi; \ %xmms_effect_plugindir %{expand:%%global xmms_effect_plugindir %(xmms-config --effect-plugin-dir 2>/dev/null || echo ERROR)}%xmms_effect_plugindir %xmms_general_plugindir %{expand:%%global xmms_general_plugindir %(xmms-config --general-plugin-dir 2>/dev/null || echo ERROR)}%xmms_general_plugindir +%_host_base_arch %{expand:%%global _host_base_arch %(echo %{_host_cpu} | sed 's/i.86/i386/;s/athlon/i386/;s/pentium./i386/;s/amd64/x86_64/;s/ia32e/x86_64/;s/sparcv./sparc/;s/arm.*/arm/')}%_host_base_arch %_target_base_arch %{expand:%%global _target_base_arch %(echo %{_target_cpu} | sed 's/i.86/i386/;s/athlon/i386/;s/pentium./i386/;s/amd64/x86_64/;s/ia32e/x86_64/;s/sparcv./sparc/;s/arm.*/arm/')}%_target_base_arch # user/group checking macros @@ -1629,8 +1642,8 @@ done \ %{!?-m:%{error:%{0}: Required module name/list missing} exit 1} \ \ %define Opts \\\\\\\ -%if "%{_target_base_arch}" != "%{_arch}" \\\ - %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386" \\\ +%if "%{_target_base_arch}" != "%{_host_base_arch}" \\\ + %if "%{_host_base_arch}" == "x86_64" && "%{_target_base_arch}" == "i386" \\\ CC="%{kgcc}" ARCH=%{_target_base_arch} \\\ %else \\\ ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux- \\\ @@ -1649,7 +1662,7 @@ compile() { \ \ [ -r "%{_kernelsrcdir}/.config" ] || exit 1 \ rm -rf o \ - install -d o/include/linux o/include/generated o/arch/powerpc/lib \ + install -d o/include/linux o/include/generated o/arch/x86/include o/arch/powerpc/lib \ ln -sf %{_kernelsrcdir}/.config o/.config \ ln -sf %{_kernelsrcdir}/Module.symvers o/Module.symvers \ if [ -f %{_kernelsrcdir}/include/generated/autoconf.h ]; then \ @@ -1657,6 +1670,9 @@ compile() { \ ln -s ../generated/autoconf.h o/include/linux/autoconf.h \ else \ ln -sf %{_kernelsrcdir}/include/linux/autoconf.h o/include/linux/autoconf.h \ + fi \ + if [ -d %{_kernelsrcdir}/arch/x86/include/generated ]; then \ + ln -s %{_kernelsrcdir}/arch/x86/include/generated o/arch/x86/include \ fi \ \ set +x \ @@ -2137,11 +2153,13 @@ fi; \ # # Usage: # %systemd_reload +# %systemd_service service_name1.service service_name2.service # %systemd_service_enable service_name1.service service_name2.service # %systemd_service_disable service_name1.service service_name2.service # %systemd_service_start service_name1.service service_name2.service # %systemd_service_stop service_name1.service service_name2.service # %systemd_service_restart service_name1.service service_name2.service +# %systemd_service_reload service_name1.service service_name2.service # # %systemd_post service_name1.service service_name2.service # %systemd_preun service_name1.service service_name2.service @@ -2161,7 +2179,7 @@ fi; \ # %systemd_trigger %{name}.service # # Requirements: -# BuildRequires: rpmbuild(macros) >= 1.644 +# BuildRequires: rpmbuild(macros) >= 1.647 # Requires: systemd-units >= 38 %systemd_reload /bin/systemd_booted && SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog /bin/systemctl --quiet daemon-reload || : @@ -2177,6 +2195,11 @@ fi; \ /bin/systemctl --quiet disable %{*} || : \ %{nil} +%systemd_service() \ + export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \ + /bin/systemd_booted && /bin/systemctl --quiet %{*} || : \ +%{nil} + %systemd_service_start() \ export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \ /bin/systemd_booted && /bin/systemctl --quiet start %{*} || : \ @@ -2192,6 +2215,11 @@ fi; \ /bin/systemd_booted && /bin/systemctl --quiet try-restart %{*} || : \ %{nil} +%systemd_service_reload() \ + export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog \ + /bin/systemd_booted && /bin/systemctl --quiet reload %{*} || : \ +%{nil} + %systemd_trigger() \ want_enable_service() { \ [ -f /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm \