rpm/rpm-5.4.4-glob-wildcards-for-loading-macro-files.patch

25 lines
909 B
Diff
Raw Normal View History

2012-08-01 14:59:23 +04:00
--- rpm-5.4.4/rpmio/macro.c.glob~ 2011-09-30 20:40:18.000000000 +0200
+++ rpm-5.4.4/rpmio/macro.c 2011-11-17 16:49:16.870465121 +0100
@@ -2798,6 +2798,9 @@ rpmLoadMacroFile(MacroContext mc, const
/* Parse %{load:...} immediately recursively. */
if (s[1] == '{' && !strncmp(s+2, "load:", sizeof("load:")-1)) {
char * se = (char *) matchchar(s, '{', '}');
+ const char ** argv = NULL;
+ int argc = 0;
+ int i;
if (se == NULL) {
rpmlog(RPMLOG_WARNING,
_("%s:%u Missing '}' in \"%s\", skipping.\n"),
@@ -2814,7 +2817,10 @@ rpmLoadMacroFile(MacroContext mc, const
continue;
}
se = rpmMCExpand(mc, s, NULL);
- rc = rpmLoadMacroFile(mc, se, nesting - 1);
+ rc = rpmGlob(se, &argc, &argv);
+ for(i = 0; i < argc; i++)
+ rc |= rpmLoadMacroFile(mc, argv[i], nesting - 1);
+ argv = _free(argv);
se = _free(se);
if (rc != 0)
goto exit;