Centos
自動 RPM 建構
我正在製作自己的個人 RPM 儲存庫。到目前為止,我已經建構了以下軟體包:
x264
- libx264
- libx264-開發
x265
- libx265
- libx265-開發
瘸
- libmp3lame
- libmp3lame-devel
libmfx
- libmfx-開發
libdvdcss
- libdvdcss-開發
libfdk-aac
- libfdk-aac-devel
ffmpeg
- libav編解碼器
- libav設備
- 庫過濾器
- libavresample
- libavutil
- libpostproc
- libswresample
- libswscale
我主要為 Fedora 打包它們,因為我希望在不久的將來將我的桌面遷移到 Fedora。我想在Copr之類的東西上建構這些包,但是Fedora 禁止這些包中的許多。
目前我遇到的問題是:
- 我想要一個僅簽入規範文件和更新檔的 Git 儲存庫。
- 為此,我希望將原始碼作為建構的一部分下載。
- 我正在建構的某些軟體包(例如 FFMPEG)需要將其他建構中的一些開發軟體包安裝在主機上,從而產生雞與蛋的問題。
- 我目前的所有建構都在 Fedora 23 Vagrant VM 中進行。如果我想為 rawhide 或 CentOS 7 建構,我是否必須在基於 CentOS 7 的單獨 VM 中執行這些建構,或者有沒有辦法讓一個主機建構包用於多個發行版?
是否有軟體可以幫助我以正確的順序為我的儲存庫建構所有包,並將開發 RPM 提供給需要它們的其他包?我想盡可能地自動化這個設置,所以我需要一些我可以執行的簡單建構腳本,它可以以正確的順序建構東西,使標頭檔可供其他需要它們的包使用,可能不需要安裝它們在主機上。
Mockchain(來自模擬包)可以做你想做的事。它接受 SRPM 列表作為參數,它有非常天真的算法試圖重建它們,那些失敗的算法在第二次迭代中嘗試。只要至少包在循環中成功建構,這些迭代就會繼續。所以它可以消耗大量的 CPU 週期,但它不需要你太多的互動。