Imported Upstream version 4.14.1
[platform/upstream/rpm.git] / doc / manual / macros
index 90d4529..1faf424 100644 (file)
@@ -66,21 +66,35 @@ to perform useful operations. The current list is
        %trace          toggle print of debugging information before/after
                        expansion
        %dump           print the active (i.e. non-covered) macro table
+       %verbose        is rpm in verbose mode?
 
-       %{echo:...}     print ... to stderr
-       %{warn:...}     print ... to stderr
-       %{error:...}    print ... to stderr and return BADSPEC
+       %{echo:...}     print ... to stdout
+       %{warn:...}     print warning: ... to stderr
+       %{error:...}    print error: ... to stderr and return an error
  
        %define ...     define a macro
        %undefine ...   undefine a macro
        %global ...     define a macro whose body is available in global context
 
+       %{basename:...} basename(1) macro analogue
+       %{dirname:...}  dirname(1) macro analogue
+       %{suffix:...}   expand to suffix part of a file name
+       %{url2path:...} convert url to a local path
+       %{getenv:...}   getenv(3) macro analogue
+       %{getconfdir:...}       expand to rpm "home" directory (typically /usr/lib/rpm)
        %{uncompress:...} expand ... to <file> and test to see if <file> is
                        compressed.  The expansion is
                                cat <file>              # if not compressed
                                gzip -dc <file>         # if gzip'ed
                                bzip2 -dc <file>        # if bzip'ed
+
+       %{load:...}     load a macro file
+       %{lua:...}      expand using the embedded Lua interpreter
        %{expand:...}   like eval, expand ... to <body> and (re-)expand <body>
+       %{shrink:...}   trim leading and trailing whitespace, reduce
+                       intermediate whitespace to a single space
+       %{quote:...}    quote a parametric macro argument, needed to pass
+                       empty strings or strings with whitespace
 
        %{S:...}        expand ... to <source> file name
        %{P:...}        expand ... to <patch> file name