summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2023-01-16 12:08:48 +0200
committerMichal Domonkos <mdomonko@redhat.com>2023-03-13 15:32:25 +0100
commitc90144e2f899e4a5e053ecf899b1c4036be3e35c (patch)
tree01f64099ecac37f91ed30cd7c44f80dd82b07865
parent56c190f181b1a75f6402400fef1e3229f3701276 (diff)
downloadrpm-c90144e2f899e4a5e053ecf899b1c4036be3e35c.tar.gz
Issue deprecation warnings on %patchN syntax
(cherry picked from commit eb5ece1267a22330f6116149997cf5cc1c22b21f)
-rw-r--r--build/parsePrep.c3
-rw-r--r--tests/rpmbuild.at13
2 files changed, 16 insertions, 0 deletions
diff --git a/build/parsePrep.c b/build/parsePrep.c
index 3f283db79..7b80f82c1 100644
--- a/build/parsePrep.c
+++ b/build/parsePrep.c
@@ -345,6 +345,9 @@ static rpmRC doPatchMacro(rpmSpec spec, const char *line)
/* Convert %patchN to %patch -PN to simplify further processing */
if (! strchr(" \t\n", line[6])) {
+ rpmlog(RPMLOG_WARNING,
+ _("%%patchN is deprecated, use %%patch N (or %%patch -P N):\n%s"),
+ line);
rasprintf(&buf, "%%patch -P %s", line + 6);
}
poptParseArgvString(buf ? buf : line, &argc, &argv);
diff --git a/tests/rpmbuild.at b/tests/rpmbuild.at
index 7b246f5e1..0e250023f 100644
--- a/tests/rpmbuild.at
+++ b/tests/rpmbuild.at
@@ -298,6 +298,19 @@ run rpmbuild \
[ignore])
AT_CLEANUP
+AT_SETUP([rpmbuild with deprecated patch])
+AT_KEYWORDS([build])
+RPMDB_INIT
+AT_CHECK([
+runroot rpmbuild -bp --quiet /data/SPECS/hello2-suid.spec
+],
+[0],
+[ignore],
+[warning: %patchN is deprecated, use %patch N (or %patch -P N):
+%patch0 -p1 -b .modernize
+])
+AT_CLEANUP
+
AT_SETUP([rpmbuild scriptlet -f])
AT_KEYWORDS([build])
RPMDB_INIT