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

问题描述 投票:0回答:2

如果您使用 ViM 创建

.spec
文件,编辑器将为其使用骨架。非常方便!

但是生成的

%setup
宏有这个
-q
标志,但我在任何地方都找不到。

我在宏的max-rpm指南页面上没有找到任何提及,并且没有被rpmspec

扩展:
rpmspec --eval '%setup'
只返回
%setup
,并且
-p
不会改变任何东西。其他
相关文档中也没有提及。

经过进一步调查,我注意到有很多宏没有被

rpmspec

 扩展,即使我可以在 
/usr/lib/rpm
(在我的 Fedora 上)中找到大量宏。

所以我想知道:

  1. -q
    有什么用?
  2. 为什么我看不到所有扩展?我错过了什么吗?
  3. 上述最大 RPM 指南声称存在用于
  4. --test
     命令的 
    rpm -b
     标志。我可以看到我的系统上没有 
    rpm -b
    ,实际上我用 
    rpmbuild
     完成了所有工作。在 
    rpmbuild
     中没有 
    --test
     标志。如何查看扩展脚本?
macros rpm specifications
2个回答
12
投票

-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 标志。如何查看扩展脚本?

Max RPM 已经很旧了。它写于 2000 年。此后就没有更新过。但它仍然是最好、最全面的指南之一。有些事情发生了变化。这是其中之一。我不知道有任何等同于 --test 的东西。存在“rpm --eval”和“rpm --showrc”。最后一个显示了系统上所有定义的宏。


0
投票
前面提到的 Max RPM 指南声称存在 rpm -b 命令的 --test 标志。我可以看到我的系统上没有 rpm -b,实际上我用 rpmbuild 完成了所有工作。在 rpmbuild 中没有 --test 标志。

这是因为过去

/usr/bin/rpm

 二进制文件用于执行 
both rpm 软件包安装/更新/删除操作以及构建 rpm 软件包。为了使代码不那么复杂,与构建相关的内容稍后被提取到单独的 rpmbuild
 二进制文件中,从而将 
-b
 选项从 
rpm
 移动到 
rpmbuild
,并且由于某种原因,
--test
 选项没有遵循沿着。


http://ftp.rpm.org/max-rpm/s1-rpm-inside-macros.html 包含 %setup

 等人的完整文档(尽管可能有些过时)。

© www.soinside.com 2019 - 2024. All rights reserved.