Centos

自動 RPM 建構

  • January 18, 2016

我正在製作自己的個人 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 禁止這些包中的許多。

目前我遇到的問題是:

  1. 我想要一個僅簽入規範文件和更新檔的 Git 儲存庫。
  2. 為此,我希望將原始碼作為建構的一部分下載。
  3. 我正在建構的某些軟體包(例如 FFMPEG)需要將其他建構中的一些開發軟體包安裝在主機上,從而產生雞與蛋的問題。
  4. 我目前的所有建構都在 Fedora 23 Vagrant VM 中進行。如果我想為 rawhide 或 CentOS 7 建構,我是否必須在基於 CentOS 7 的單獨 VM 中執行這些建構,或者有沒有辦法讓一個主機建構包用於多個發行版?

是否有軟體可以幫助我以正確的順序為我的儲存庫建構所有包,並將開發 RPM 提供給需要它們的其他包?我想盡可能地自動化這個設置,所以我需要一些我可以執行的簡單建構腳本,它可以以正確的順序建構東西,使標頭檔可供其他需要它們的包使用,可能不需要安裝它們在主機上。

Mockchain(來自模擬包)可以做你想做的事。它接受 SRPM 列表作為參數,它有非常天真的算法試圖重建它們,那些失敗的算法在第二次迭代中嘗試。只要至少包在循環中成功建構,這些迭代就會繼續。所以它可以消耗大量的 CPU 週期,但它不需要你太多的互動。

引用自:https://unix.stackexchange.com/questions/255621