我有以下结构的dunno.spec
文件:
Name: dunno
Version: 1.0
...
BuildArch: x86_64
%description
...
%package common
Summary: Shared files
BuildArch: noarch
我想在运行
rpmbuild -ba dunno.spec
之后,我应该得到两个二进制包:dunno-1.0.x86_64.rpm
dunno-common-1.0.noarch.rpm
但是我得到:
dunno-1.0.x86_64.rpm
dunno-common-1.0.x86_64.rpm
如果我从规范中删除
BuildArch: x86_64
行,那么我得到dunno-1.0.noarch.rpm
dunno-common-1.0.noarch.rpm
如何解决?
RPM v4.4.2.3。
最佳答案
将构建分为2个软件包,一个x86_64,另一个noarch。
您可以使用%ifarch逻辑从一个规范中进行2个构建(但
即使烦人,通常也更容易使用2个spec文件)。
在平台中包含独立于平台的内容也没有什么害处
x86_64子软件包而不是noarch子软件包。
关于rpm - 如何从一个.spec生成特定于平台和独立于平台的RPM子包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27862771/