]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.macros
- no backslashing needed inside %()
[packages/rpm.git] / rpm.macros
index 7d8c13761495ce21df5edb185a8c100f39ae1b4f..96ad4d9d9b0d97264e3ad400cc0f90d9278aa5c6 100644 (file)
@@ -1289,22 +1289,26 @@ done                                                                                                                            \
 # generate SourceX urls from range START STOP
 # Format can be SINGLE format char of %e, %f, %g, see seq(1)
 # The sources start from 10000
-%patchset_source(x:f:) %(\
-       seq -f 'Patch10%03g:' %1 %{?2}%{!?2:%{1}} > %{tmpdir}/__ps1; \
-       seq -f '%{-f*}' %1 %{?2}%{!?2:%{1}} > %{tmpdir}/__ps2; \
-       paste %{tmpdir}/__ps{1,2}; \
-       rm -f %{tmpdir}/__ps{1,2}; \
-) \
-%{nil}
+%patchset_source(f:b:) %(
+       base=%{-b*}%{!-b*:10000};
+       start=$((%1 + $base));
+       end=$((%{?2}%{!?2:%{1}} + $base));
+       # we need to call seq twice as it doesn't allow two formats
+       seq -f 'Patch%g:' $start $end > %{tmpdir}/__ps1;
+       seq -f '%{-f*}' %1 %{?2}%{!?2:%{1}} > %{tmpdir}/__ps2;
+       paste %{tmpdir}/__ps{1,2};
+       rm -f %{tmpdir}/__ps{1,2};
+) %{nil}
 
 # apply sources from %patchset_source
 # -p specify -pX for %patch line
 # -b base offset: defaults to 10000
 %patchset_patch(f:p:b:) %(
-       echo ": patchset_patch %1%{?2: to %2}"; \
-       seq -f '%g=%{-p*:-p%{-p*}}' %1 %{?2}%{!?2:%{1}} | \
-       awk -vbase=%{-b*}%{!-b*:10000} -F= '{printf(": patchset %d\\n%%%%patch%d %s\\n", $1, $1+base, $2)}'; \
-) \
-%{nil}
+       base=%{-b*}%{!-b*:10000};
+       start=$((%1 + $base));
+       end=$((%{?2}%{!?2:%{1}} + $base));
+       echo ": patchset_patch %1%{?2: to %2}";
+       seq -f 'patch%g %{-p*:-p%{-p*}}' $start $end | sed -e s,^,%%,;
+) %{nil}
 
 # vim:ts=4 sw=4 noet syn=spec
This page took 0.027248 seconds and 4 git commands to generate.