打包二进制文件的最佳方法,该二进制文件有两个不同体系结构的源

时间:2012-03-15 16:02:38

标签: redhat rpm rhel rhel5

我正在尝试使用外部实体创建一些软件的RPM。它为我们提供了32位二进制文​​件和64位二进制文​​件的压缩包。

我想知道创建一个可以处理两种类型二进制文件的spec文件的最佳方法是什么。

我尝试过类似的事情:

%prep
%ifarch i686
    # Use Source0 (32bit)
    %setup -c -T -a 0
%endif

%ifarch x86_64
    # Use Source1 (64bit)
    %setup -c -T -a 1
%endif

但这让我回头:     +%setup -c -T -a 1     /var/tmp/rpm-tmp.67731:第25行:fg:没有作业控制     错误:/var/tmp/rpm-tmp.67731(%prep)

的退出状态错误

我猜这是由于%setup的-a选项,我认为这意味着“首先更改目录,然后提取源$ arg1。

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我不确定您的Source0或Source1中包含的内容,但可能它们不是tarball,因此我认为没有理由致电%setup。而是像这样与他们一起工作:

%prep
#no %setup
%ifarch i686
  #use %{SOURCE0}
%endif

%ifarch x86_64
  #use %{SOURCE1}
%endif