[rpm] - Macro-expand load macro argument
Panu Matilainen
pmatilai at fedoraproject.org
Tue Jul 1 10:39:39 UTC 2014
commit 7674f0d76be7fe09a4fb91e0494082bb9b7ccb45
Author: Panu Matilainen <pmatilai at redhat.com>
Date: Tue Jul 1 13:39:03 2014 +0300
- Macro-expand load macro argument
rpm-4.11.90-expand-load-arg.patch | 30 ++++++++++++++++++++++++++++++
rpm.spec | 3 +++
2 files changed, 33 insertions(+), 0 deletions(-)
---
diff --git a/rpm-4.11.90-expand-load-arg.patch b/rpm-4.11.90-expand-load-arg.patch
new file mode 100644
index 0000000..9e2c65c
--- /dev/null
+++ b/rpm-4.11.90-expand-load-arg.patch
@@ -0,0 +1,30 @@
+commit d4ab1d82d7888f41b866751d0ef340a82be7cff2
+Author: Panu Matilainen <pmatilai at redhat.com>
+Date: Tue Jul 1 12:04:40 2014 +0300
+
+ Macro-expand %{load:...} argument to make the thing more useful...
+
+diff --git a/rpmio/macro.c b/rpmio/macro.c
+index b00155c..1d9bd1c 100644
+--- a/rpmio/macro.c
++++ b/rpmio/macro.c
+@@ -1093,16 +1093,15 @@ expandMacro(MacroBuf mb, const char *src, size_t slen)
+
+ /* Expand builtin macros */
+ if (STREQ("load", f, fn)) {
+- if (g && gn > 0) {
+- char arg[gn + 1];
+- strncpy(arg, g, gn);
+- arg[gn] = '\0';
++ char *arg = NULL;
++ if (g && gn > 0 && expandThis(mb, g, gn, &arg) == 0) {
+ /* Print failure iff %{load:...} or %{!?load:...} */
+ if (loadMacroFile(mb->mc, arg) && chkexist == negate) {
+ rpmlog(RPMLOG_ERR,
+ _("failed to load macro file %s"), arg);
+ }
+ }
++ free(arg);
+ s = se;
+ continue;
+ }
diff --git a/rpm.spec b/rpm.spec
index 184b1f6..62c8127 100644
--- a/rpm.spec
+++ b/rpm.spec
@@ -49,6 +49,7 @@ Patch4: rpm-4.8.1-use-gpg2.patch
# Patches already upstream:
Patch100: rpm-4.11.90-hardlink-groups.patch
+Patch101: rpm-4.11.90-expand-load-arg.patch
# These are not yet upstream
Patch302: rpm-4.7.1-geode-i686.patch
@@ -286,6 +287,7 @@ Requires: rpm-libs%{_isa} = %{version}-%{release}
%patch4 -p1 -b .use-gpg2
%patch100 -p1 -b .hardlink-groups
+%patch101 -p1 -b .expand-load-arg
%patch302 -p1 -b .geode
%patch304 -p1 -b .ldflags
@@ -541,6 +543,7 @@ exit 0
%changelog
* Tue Jul 01 2014 Panu Matilainen <pmatilai at redhat.com> - 4.11.90-0.git12844.3
- Drop no longer needed temporary UsrMove patch
+- Macro-expand load macro argument
* Mon Jun 30 2014 Panu Matilainen <pmatilai at redhat.com> - 4.11.90-0.git12844.2
- Fix multiple interleaved hardlink groups during build
More information about the scm-commits
mailing list