私はかなり大きく、古い産業用ソフトウェアのためのビルドシステムを開発しています。ビルド結果は約20rpmより速くなりました(rpmbuildを使用して最初からビルド、setup.pyを介して最初からビルド、パッチ、src.rpmを再ビルド)。
他のシステム(すべてCentos 6.4および6.9)でビルドを実行すると、パッケージの最終アーキテクチャと一致しない結果が生成されます。 1つのシステムはすべてのi386パケットを吐き出します。他のコンピュータでは、一部のパッケージはi386で、一部はi686で提供されています。結果は1つのシステムでは一貫していますが、システム全体では一致しません。
私の質問は次のとおりです
rpmbuildがi386パッケージとi686パッケージを生成するかどうかを決定する要素は何ですか?
答え1
複数の要素が結果のアーキテクチャを制御します。
1)「spec」ファイルでは、各パッケージにはBuildArch
特定のスキーマを持つフィールドを含めることができます。
2)「spec」ファイルのパッケージにBuildArch
フィールドがない場合、ビルドパッケージにはターゲットビルドシステムアーキテクチャがあります。
3)以前のバージョンのrpm
コマンドには、--buildarch <arch>
アーチを定義するオプションがあります。