首页 > 解决方案 > 如何在 rpmbuild 中阻止架构(x86_64)的自动附加

问题描述

我正在尝试在 RHEL 8.4 操作系统上使用 rpmbuild 构建 RPM。与 RPM 相关的所有详细信息都在 SPEC 文件中给出。在“处理文件”阶段,架构(x86_64)会自动附加到 NVR 的末尾。

处理文件:Application-Server-10.2.0-3.x86-64。

发布后,我在 SPEC 文件中添加了“ BuildArch: noarch ”来阻止架构。但结果是,

处理文件:Application-Server-10.2.0-3.noarch

这种架构的添加会导致一些错误,例如“找不到文件”,最后得到错误为“usr/bin/rpmbuild failed with exit code 1”。

SPEC文件就像,

# Version
Name : ApplicationServer
Version : 10.2.0
Release : 3
License : xxxx
BuildArch: noarch

%description
Application Server

%files
%defattr(0755,xxx,xxx)
%attr(0755,xxx,xxx) /jboss
%changelog

请让我知道解决方法。

谢谢

标签: rpmrhelrpmbuildrpm-spec

解决方案


我不知道如何在 rpmbuild 阶段摆脱拱形部分,但是......

生成的文件只是一个文件。它可以有任何名称。你可以

mv Application-Server-10.2.0-3.noarch.rpm EvenMoreCoolApplication-Server-10.2.0-3.rpm

接着

rpm -Uvh EvenMoreCoolApplication-Server-10.2.0-3.rpm

rpm(或 DNF)将从这个文件安装它。不过,他们会打印类似“安装应用程序服务器”的内容。


推荐阅读