2

rpmbuild 在哪个目录下生成 RPM?

我检查了 RPMS 目录:-

[root@tom adil]# ls /usr/src/redhat/
BUILD  RPMS  SOURCES  SPECS  SRPMS
[root@tom adil]# ls /usr/src/redhat/RPMS/
athlon  i386  i486  i586  i686  noarch
[root@tom adil]# 

如何确定 rpmbuild 输出在上述哪个子目录中?它是由规范文件控制的吗?默认选项是什么?

我想uname -p,但它不是很可能uname -i使用的情况。
链接到我的上一个问题“机器硬件”和“硬件平台”之间的区别

4

3 回答 3

4

二进制包根据%_build_name_fmt宏命名。默认情况下,此宏包含%{ARCH}/在开头,因此这是放置二进制包的位置。

于 2010-04-02T20:32:48.600 回答
2

继您上一条评论之后,默认情况下,RPM 将进入与您正在构建的平台匹配的子目录。您可以通过将 --target 参数传递给 rpmbuild 来覆盖它,但这仅适用于有效的情况;例如,您可以在 x86_64 系统上使用 --target i386 来构建 32 位 RPM,但不能在 32 位平台上构建 64 位 RPM。

于 2010-04-02T20:28:21.560 回答
0

RPM 进入 RPMS 文件夹,源 RPM 进入 SRPMS。这不受规范文件控制 - 这是约定。你到底想做什么?

于 2010-04-02T07:28:34.340 回答