-
Notifications
You must be signed in to change notification settings - Fork 1
/
noexpand.patch
45 lines (39 loc) · 1.73 KB
/
noexpand.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
diff -ur rpm-4.16.0/build/parseChangelog.c rpm-4.16.0-noexpand/build/parseChangelog.c
--- rpm-4.16.0/build/parseChangelog.c 2020-12-18 20:09:28.341535424 +0100
+++ rpm-4.16.0-noexpand/build/parseChangelog.c 2020-12-18 20:01:53.963847399 +0100
@@ -321,7 +321,7 @@
goto exit;
}
- if ((res = parseLines(spec, STRIP_COMMENTS, &sb, NULL)) == PART_ERROR)
+ if ((res = parseLines(spec, STRIP_COMMENTS | STRIP_NOEXPAND, &sb, NULL)) == PART_ERROR)
goto exit;
if (sb && addChangelog(spec->packages->header, sb)) {
diff -ur rpm-4.16.0/build/parseSpec.c rpm-4.16.0-noexpand/build/parseSpec.c
--- rpm-4.16.0/build/parseSpec.c 2020-05-28 12:04:25.007136522 +0200
+++ rpm-4.16.0-noexpand/build/parseSpec.c 2020-12-18 20:08:13.791373996 +0100
@@ -242,6 +242,9 @@
if (!spec->readStack->reading)
return 0;
}
+ /* Also don't expand macros in %changelog and %description, where we set STRIP_NOEXPAND flag */
+ if (strip & STRIP_NOEXPAND)
+ return 0;
if (specExpand(spec, ofi->lineNum, spec->lbuf, &lbuf))
return 1;
@@ -476,7 +476,7 @@
lineType = copyNextLineFinish(spec, strip);
s = spec->line;
SKIPSPACE(s);
- if (!lineType)
+ if (!lineType || (strip & STRIP_NOEXPAND))
goto after_classification;
/* check ordering of the conditional */
diff -ur rpm-4.16.0/build/rpmbuild_internal.h rpm-4.16.0-noexpand/build/rpmbuild_internal.h
--- rpm-4.16.0/build/rpmbuild_internal.h 2020-12-18 20:09:28.354868788 +0100
+++ rpm-4.16.0-noexpand/build/rpmbuild_internal.h 2020-12-18 20:09:09.054827168 +0100
@@ -246,6 +246,7 @@
#define STRIP_NOTHING 0
#define STRIP_TRAILINGSPACE (1 << 0)
#define STRIP_COMMENTS (1 << 1)
+#define STRIP_NOEXPAND (1 << 2)
#define ALLOW_EMPTY (1 << 16)