-1

外部エンティティから入手したソフトウェアのRPMを作成しようとしています。これらは、32ビットバイナリと64ビットバイナリのtarballを提供します。

両方のタイプのバイナリを処理できるスペックファイルを作成するための最良の方法は何でしょうか。

私は次のようなものを試しました:

%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を抽出する」という意味だと思います。

これを行うためのより良い方法はありますか?

4

1 に答える 1

0

Source0 または Source1 に何が含まれているかはわかりませんが、tarball ではない可能性が高いため、%setup. 代わりに、次のように操作します。

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

%ifarch x86_64
  #use %{SOURCE1}
%endif
于 2012-04-24T22:28:05.867 に答える