]> git.pld-linux.org Git - packages/rpm-build-macros.git/commitdiff
- remove memoization from kernel related macros, this will allow us to
authorJan Rękorajski <baggins@pld-linux.org>
Sun, 20 Oct 2013 19:51:42 +0000 (21:51 +0200)
committerJan Rękorajski <baggins@pld-linux.org>
Sun, 20 Oct 2013 19:51:42 +0000 (21:51 +0200)
  build multiple packages for different kernels in one rpmbuild pass

rpm.macros

index 35b09a8e30f982701bd9b1bafb92ef00d83ec1ef..f02cb32f5e5069455730bfc07fea09c3e39a207a 100644 (file)
@@ -429,8 +429,8 @@ CXXFLAGS="%{rpmcxxflags}" \
 %__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
+%kernel_name   %(N=%{__kernel_qf %{N}}; echo ${N%%-headers})
+%kernel_version        %{__kernel_qf %|E?{%{E}:}|%{V}-%{R}}
 
 # -n drm to generate kernel%{_alt_kernel}-drm dependency
 %releq_kernel(n:)              %{kernel_name}%{?-n:-%{-n*}} = %{kernel_version}
@@ -443,19 +443,19 @@ CXXFLAGS="%{rpmcxxflags}" \
 %requires_releq_kernel_smp(s:n:)       Requires%{-s:(%{-s*})}: %releq_kernel_smp
 
 # kernel version-release handling
-%__kernel_ver   %{expand:%%global __kernel_ver %( \\
+%__kernel_ver   %( \\
        Z=$([ -f '%{_kernelsrcdir}/include/generated/utsrelease.h' ] && awk -F'"' '/UTS_RELEASE/{print $2}' %{_kernelsrcdir}/include/{linux/version,generated/utsrelease}.h 2>/dev/null || awk -F'"' '/UTS_RELEASE/{print $2}' %{_kernelsrcdir}/include/linux/{version,utsrelease}.h 2>/dev/null); \\
        Z=${Z:-$(awk -F' = ' '/^VERSION/{v=$2} /^PATCHLEVEL/{p=$2} /^SUBLEVEL/{s=$2} /^EXTRAVERSION/{e=$2} END {printf("%d.%d.%d%s", v, p, s, e)}' %{_kernelsrcdir}/Makefile 2>/dev/null)}; \\
        echo ${Z:-ERROR}; \\
-)}%__kernel_ver
+)
 
-%__kernel_rel  %{expand:%%global __kernel_rel %{__kernel_qf %{R}}}%__kernel_rel
-%__kernel_rpmvr        %{expand:%%global __kernel_rpmvr %{__kernel_qf %{V}-%{R}}}%__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
+%__kernel_rel  %{__kernel_qf %{R}}
+%__kernel_rpmvr        %{__kernel_qf %{V}-%{R}}
+%_kernel_ver   %{__kernel_ver}%{?with_dist_kernel:%(echo %{__kernel_ver} | grep -q -e - || echo -%{__kernel_rel})}
+%_kernel_ver_str %(echo %{!?_without_dist_kernel:%{__kernel_rpmvr}}%{?_without_dist_kernel:%{__kernel_ver}} | sed -e 's/-/_/g')
 
 # `uname -r` to be used in @release field
-%_kernel_vermagic      %{expand:%%global _kernel_vermagic %(echo %{_kernel_ver} | sed -e 's/-/_/g')}%_kernel_vermagic
+%_kernel_vermagic      %(echo %{_kernel_ver} | sed -e 's/-/_/g')
 
 # Requires name = version-release
 %requires_releq()      %{!?1:ERROR}%{?2:ERROR}%{?1:%{!?2:%{expand:%%requires_eq_to -r %1 %1}}}
This page took 0.059597 seconds and 4 git commands to generate.