RPM 规范中的“%setup -q”是什么?

What is `%setup -q` in RPM spec?

如果您使用 ViM 创建 .spec 文件,编辑器将为其使用框架。非常方便!

但是生成的 %setup 宏有这个 -q 标志,我在任何地方都找不到,这让我很烦恼。

我也没有在 max-rpm guide page on macros, and does not get expanded by rpmspec: rpmspec --eval '%setup' only returns %setup, and the -p does not change anything. It is not mentioned in other relevant docs 上找到任何提及。

通过进一步调查,我注意到有很多宏不会被 rpmspec 扩展,即使我可以在 /usr/lib/rpm(在我的 Fedora 上)中找到很多宏。

所以我想知道:

  1. -q 有什么用?
  2. 为什么我看不到所有扩展?我错过了什么吗?
  3. 前面提到的 Max RPM 指南声称存在 rpm -b 命令的 --test 标志。我可以在我的系统上看到没有 rpm -b,实际上我用 rpmbuild 完成了所有工作。在 rpmbuild 中没有 --test 标志。如何查看展开的脚本?

-q 有什么用?

https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html-single/RPM_Guide/index.html#id366540

它代表:运行安静地以最小的输出。

为什么我看不到所有扩展?我错过了什么吗?

我不是 100% 确定,但 %setup 很可能是 term 并由 rpm 内部处理。和%if一样,也是不展开的

前面提到的 Max RPM 指南声称存在 rpm -b 命令的 --test 标志。我可以在我的系统上看到没有 rpm -b,实际上我用 rpmbuild 完成了所有工作。在 rpmbuild 中没有 --test 标志。如何查看展开的脚本?

最大 RPM 非常旧。它写于 2000 年。从那以后就没有更新过。虽然它仍然是最好和最全面的指南之一。有些事情改变了。这是其中之一。我不知道有任何等同于 --test 的东西。 "rpm --eval" 和 "rpm --showrc" 上存在。最后一个显示您系统上所有已定义的宏。