[Rpm-maint] [rpm-software-management/rpm] Eliminating special conditional syntaxes from builtin macros (#1421)

Panu Matilainen notifications at github.com
Wed Nov 4 09:20:36 UTC 2020

Some builtin macros have their own special meaning for ! and ? which is inconsistent with the general meaning of those. This is confusing, bad and conflicts with the goal of making builtins more like normal macros.

This changes %{verbose} to return a simple boolean that can be used in an expression, and drops support for undocumented conditional %{?load:...} which can be avoided by using newly added boolean %{exists:...} instead. Also drop support for undocumented %{!trace} syntax to disable tracing, we can easily add some other syntax to support that if necessary. 

With that, builtin macros have no special syntaxes left, eliminate the internal arguments.
You can view, comment on, or merge this pull request online at:


-- Commit Summary --

  * Change builtin %{verbose:...} to return a simple 0/1 boolean
  * Add %{exists:...} builtin macro for testing file existence
  * Drop undocumented special conditional syntax from %{load:...} builtin
  * Drop support for undocumented %{!trace} builtin syntax
  * Lose now unnecessary chkexist and negate arguments to builtin macros

-- File Changes --

    M doc/manual/macros.md (4)
    M macros.in (2)
    M rpmio/macro.c (84)
    M tests/rpmmacro.at (45)

-- Patch Links --


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/20201104/475c48ce/attachment-0001.html>

More information about the Rpm-maint mailing list