# Some miscellaneous Fedora-related macros # List files matching inclusion globs, excluding files matching exclusion blogs # Optional parameters: # – -i "<globs>" inclusion globs # – -x "<globs>" exclusion globs # Globs are space-separated lists of shell globs. Such lists require %{quote:} # use for safe rpm argument passing. # Alternatively, set the following rpm variables before calling the macro: # – “listfiles_include” inclusion globs # — “listfiles_exclude” exclusion globs # Arguments passed to the macro without flags will be interpreted as inclusion # globs. %listfiles(i:x:) %{expand: %if %{lua: print(string.len(rpm.expand("%{?-i*}%{?listfiles_include}%*")))} listfiles_include=$(realpath -e --relative-base=. %{?-i*} %{?listfiles_include} %* | sort -u) %if %{lua: print(string.len(rpm.expand("%{?-x*}%{?listfiles_exclude}")))} while IFS= read -r finc ; do realpath -qe --relative-base=. %{?-x*} %{?listfiles_exclude} \\ | sort -u | grep -q "${finc}" || echo "${finc}" done <<< "${listfiles_include}" %else echo "${listfiles_include}" %endif %endif } # https://github.com/rpm-software-management/rpm/issues/581 # Write the contents of a list of rpm variables to a macro file. # The target file must contain the corresponding anchors. # For example %writevars -f myfile foo bar will replace: # @@FOO@@ with the rpm evaluation of %{foo} and # @@BAR@@ with the rpm evaluation of %{bar} # in myfile %writevars(f:) %{lua: local fedora = require "fedora.common" local macrofile = rpm.expand("%{-f*}") local rpmvars = {} for i = 1, rpm.expand("%#") do table.insert(rpmvars, rpm.expand("%" .. i)) end fedora.writevars(macrofile,rpmvars) } # gpgverify verifies signed sources. There is documentation in the script. %gpgverify(k:s:d:) %{lua: local script = rpm.expand("%{_rpmconfigdir}/redhat/gpgverify ") local keyring = rpm.expand("%{-k*}") local signature = rpm.expand("%{-s*}") local data = rpm.expand("%{-d*}") print(script) if keyring ~= "" then print(rpm.expand("--keyring='%{SOURCE" .. keyring .. "}' ")) end if signature ~= "" then print(rpm.expand("--signature='%{SOURCE" .. signature .. "}' ")) end if data ~= "" then print(rpm.expand("--data='%{SOURCE" .. data .. "}' ")) end } # gpgverify verifies signed sources. There is documentation in the script. %gpgverify(k:s:d:) %{lua: local script = rpm.expand("%{_rpmconfigdir}/redhat/gpgverify ") local keyring = rpm.expand("%{-k*}") local signature = rpm.expand("%{-s*}") local data = rpm.expand("%{-d*}") print(script) if keyring ~= "" then print(rpm.expand("--keyring='%{SOURCE" .. keyring .. "}' ")) end if signature ~= "" then print(rpm.expand("--signature='%{SOURCE" .. signature .. "}' ")) end if data ~= "" then print(rpm.expand("--data='%{SOURCE" .. data .. "}' ")) end }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
macros.alt-python310 | File | 2.01 KB | 0644 |
|
macros.alt-python311 | File | 2.01 KB | 0644 |
|
macros.alt-python312 | File | 2.01 KB | 0644 |
|
macros.alt-python38 | File | 1.97 KB | 0644 |
|
macros.alt-python39 | File | 1.98 KB | 0644 |
|
macros.dwz | File | 1.76 KB | 0644 |
|
macros.efi-srpm | File | 3 KB | 0644 |
|
macros.environment-modules | File | 75 B | 0644 |
|
macros.fedora-misc | File | 2.76 KB | 0644 |
|
macros.fedora-misc-srpm | File | 239 B | 0644 |
|
macros.forge | File | 12.43 KB | 0644 |
|
macros.ghc-srpm | File | 414 B | 0644 |
|
macros.go-srpm | File | 7.17 KB | 0644 |
|
macros.info | File | 390 B | 0644 |
|
macros.kernel-srpm | File | 116 B | 0644 |
|
macros.ldc-srpm | File | 73 B | 0644 |
|
macros.ldconfig | File | 307 B | 0644 |
|
macros.mono-srpm | File | 181 B | 0644 |
|
macros.nodejs-srpm | File | 324 B | 0644 |
|
macros.ocaml-srpm | File | 737 B | 0644 |
|
macros.openblas-srpm | File | 104 B | 0644 |
|
macros.perl | File | 5.06 KB | 0644 |
|
macros.perl-srpm | File | 794 B | 0644 |
|
macros.pybytecompile | File | 886 B | 0644 |
|
macros.python | File | 3.36 KB | 0644 |
|
macros.python-srpm | File | 5.95 KB | 0644 |
|
macros.python2 | File | 1.82 KB | 0644 |
|
macros.python3 | File | 3.63 KB | 0644 |
|
macros.rust-srpm | File | 61 B | 0644 |
|
macros.scl | File | 13.53 KB | 0644 |
|
macros.selinux-policy | File | 6.61 KB | 0644 |
|
macros.systemd | File | 4.03 KB | 0644 |
|
macros.systemtap | File | 206 B | 0644 |
|
macros.valgrind-srpm | File | 127 B | 0644 |
|
macros.vim | File | 40 B | 0644 |
|
macros.vpath | File | 228 B | 0644 |
|