[Rpm-maint] [rpm-software-management/rpm] Add support for macro-only dependency generators (#1053)

Panu Matilainen notifications at github.com
Thu Feb 6 11:05:39 UTC 2020

pmatilai commented on this pull request.

> @@ -514,6 +514,22 @@ static ARGV_t runCmd(const char *cmd,
     return output;
+static ARGV_t runCall(const char *cmd,
+		     const char *buildRoot, const char *fn)
+    ARGV_t output = NULL;
+    char *fullcmd = rstrscat(NULL, "%{", cmd, " ", "%{?buildroot:buildroot/}", fn, "}", NULL);

Hmm, annoying but true. One simple way around this would be passing the argument via a separately defined macro, eg
    char *path = rstrscat(NULL, buildRoot ? buildRoot : "", "/", fn, NULL);
    rpmPushMacro(NULL, "filename", NULL, path, 0);
    char *exp = rpmExpand("%{", cmd, "}", NULL);
    rpmPopMacro(NULL, "filename");

...and then use %{filename} instead of %{1} in the macro, but that's not very elegant. Maybe there should be a rpmPushMacroArg() or such to get around this in a generic way.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20200206/e5e1972d/attachment.html>

More information about the Rpm-maint mailing list