commit c1cc636b19315a8c8244051990167c215cb684eb
Author: Elan Ruusamäe <[email protected]>
Date:   Sun Jun 2 13:25:53 2013 +0300

    1.664: do not memoize %releq_kernel* macros
    
    they take input and thus can't be memoized
    
    test:
    rpm --define 'alt_kernel longterm' -E '%{releq_kernel} %{releq_kernel -n 
drm} %{releq_kernel_up -n drm} %{releq_kernel_smp -n drm}'

 rpm-build-macros.spec |  4 ++--
 rpm.macros            | 13 ++++++++++---
 2 files changed, 12 insertions(+), 5 deletions(-)
---
diff --git a/rpm-build-macros.spec b/rpm-build-macros.spec
index e0cd320..39d1349 100644
--- a/rpm-build-macros.spec
+++ b/rpm-build-macros.spec
@@ -1,10 +1,10 @@
-%define                rpm_macros_rev  1.663
+%define                rpm_macros_rev  1.664
 %define                find_lang_rev   1.36
 Summary:       PLD Linux RPM build macros
 Summary(pl.UTF-8):     Makra do budowania pakietów RPM dla Linuksa PLD
 Name:          rpm-build-macros
 Version:       %{rpm_macros_rev}
-Release:       2
+Release:       1
 License:       GPL
 Group:         Development/Building
 Source0:       rpm.macros
diff --git a/rpm.macros b/rpm.macros
index d0fe128..3ccc0e2 100644
--- a/rpm.macros
+++ b/rpm.macros
@@ -429,10 +429,17 @@ CXXFLAGS="%{rpmcxxflags}" \
 # and release 0.zzz.bootstrap if built with bootstrap
 %bootstrap_release() 
%{!?with_bootstrap:%{1}%{?2:.%{2}}}%{?with_bootstrap:%{!?2:%(expr %{1} - 
1)}%{?2:%{1}.%(expr %{2} - 1)}.zzz.bootstrap}
 
+# rpm -qf on kernel version.h file
+%__kernel_qf()         %(R=$(cd %{_kernelsrcdir} 2>/dev/null && LC_ALL=C rpm 
-q --qf '%*' -f include/linux/version.h 2>/dev/null | grep -v 'is not'); echo 
${R:-ERROR})
+
+# kernel %{name} and kernel %{epoch}:%{version}-%{release} macro respecing 
alt_kernel
+%kernel_name   %{expand:%%global kernel_name %(N=%{__kernel_qf %{N}};echo 
${N%%-headers})}%kernel_name
+%kernel_version        %{expand:%%global kernel_version %{__kernel_qf 
%|E?{%{E}:}|%{V}-%{R}}}%kernel_version
+
 # -n drm to generate kernel%{_alt_kernel}-drm dependency
-%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
+%releq_kernel(n:)              %{kernel_name}%{?-n:-%{-n*}} = %{kernel_version}
+%releq_kernel_up(n:)   %{kernel_name}-up%{?-n:-%{-n*}} = %{kernel_version}
+%releq_kernel_smp(n:)  %{kernel_name}-smp%{?-n:-%{-n*}} = %{kernel_version}
 
 # -s post to generate Requires(post) dependency
 %requires_releq_kernel(s:n:)           Requires%{-s:(%{-s*})}: %releq_kernel
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/rpm-build-macros.git/commitdiff/c1cc636b19315a8c8244051990167c215cb684eb

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to