私は独自のプライベートRPMリポジトリを作成しています。これまで、私は次のパッケージを構築しました。
- x264
- ライブラリx264
- libx264 - 開発
- x265
- ライブラリx265
- libx265 - 開発
- 絶頂
- libmp3lame
- libmp3lameの開発
- libmfx
- libmfxの開発
- libdvdcss
- libdvdcss - 開発
- libfdk-aac
- libfdk-aac-開発
- ffmpeg
- libavコーデック
- libavデバイス
- 図書館フィルター
- libavresample
- libavutil
- libpostproc
- ライブラリのリサンプリング
- libswscale
近いうちにデスクトップをFedoraに移行する予定なので、主にFedora用にパッケージ化しています。私は次のパッケージを作成したいと思います。銅しかし、これらのパッケージの多くはFedoraが禁止。
これまで私が経験した問題は次のとおりです。
- 仕様ファイルとパッチのみをチェックインするGitリポジトリが必要です。
- このために、ビルドの一部としてソースコードをダウンロードしたいと思います。
- 私が作成している一部のパッケージ(FFMPEGなど)は、他のビルドの一部の開発パッケージをホストシステムにインストールする必要があるため、鶏と卵の問題が発生します。
- 現在、すべてのビルドはFedora 23 Vagrant VMで行われます。生皮またはCentOS 7用にビルドする場合は、CentOS 7ベースの別々の仮想マシンでこれらのビルドを実行する必要がありますか、または複数のデプロイ用のホストビルドパッケージを提供する方法はありますか?
私のリポジトリのすべてのパッケージを正しい順序でビルドし、それを必要とする他のパッケージに開発RPMを提供するのに役立つソフトウェアはありますか?この設定をできるだけ自動化したいので、正しい順序でアイテムをビルドしてヘッダーを必要とする他のパッケージからヘッダーをインストールすることなく使用できるように実行できる簡単なビルドスクリプトの一種が必要です。ホストコンピュータから。
答え1
Mockchain(mockingパッケージの)はあなたが望むことをすることができます。 SRPMリストを引数として受け入れてそれを再構成する非常に単純なアルゴリズムがあり、失敗したアルゴリズムは2回目の反復で試行されます。少なくともループでパッケージが正常に構築される限り、これらの反復は続行されます。したがって、多くのCPUサイクルを消費することができますが、ユーザー側では多くの対話を必要としません。