el6システムでel5用のrpmbuildを使用する方法

el6システムでel5用のrpmbuildを使用する方法

el6ホストで実行するときにrpmbuildを使用してel5システム用の仕様ファイルを構築する方法を知っている人はいますか? specはpyスクリプトを単にカプセル化したものです。 el5とel6 rpmの違いは、Pythonの依存関係(python-jsonなど)に基づいて決定する必要があります。

私はrpmbuild -bb --target noarch-linux-el5 foo.spec似たようなものを使ってみましたが、運がありませんでした...:)

どんなアイデアがありますか?

ありがとう

答え1

両方のシステムのrpmビルド環境には興味深く難しい違いがあります。

シミュレーションを考えてみましたか?これはFedora-landにあるソフトウェアプロジェクトです。https://fedoraproject.org/wiki/Mock。これは、クロス環境RPMビルド用に明確に設計されています。

私のビルドはまだ自分でホストされていますが(EL5 VMの作成、そこからのビルド、EL6 VMの作成、そこからのビルドなど)、モックビルドはチェックのために私のリストにあります。

答え2

私にとって最も簡単な方法は、el6ホストでターゲットディストリビューション(el5)を使用して仮想マシンを作成することでした。ほんの数分で結果は確かでした。

答え3

rpmbuildコマンドライン(または.rpmmacros)に追加します。

--define "_source_filedigest_algorithm md5" --define "_binary_filedigest_algorithm md5"

el5用にビルドするには、モックオブジェクトを使用することをお勧めします。ただし、まだel5準拠のSRPMSが必要なので、少なくともsource_filedigestに準拠するようにしてください。

$ rpmbuild --define "_source_filedigest_algorithm md5" --define "dist .el5" -bs lbatofile.spec
Wrote: /home/stuart/rpm/SRPMS/lbatofile-0.3-1.el5.src.rpm
$ mock -r epel-5-i386 ../SRPMS/lbatofile*el5*

関連情報