本頁描述 CentOS Stream 及 source-git 的方案。
packit 計劃的文檔已詳儘地介紹了 source-git 的科技:https://packit.dev/docs/source-git/
請留意很多部件仍在研究及開發中:此頁將會不斷地更新。假若你有任何問題,請聯絡 packit 小組:https://packit.dev/#contact
最後更新:2021 年 1 月
CentOS Stream 8
現行 CentOS Stream 版本的 source-git 儲存庫已收錄於 CentOS Pagure 的暫存實例中:https://git.stg.centos.org/projects/source-git/%2A。待 CentOS GitLab 公開後,我們將會把這些源碼庫遷往 GitLab。
以下的描述適用於 source-git 儲存庫:
- 每個儲存庫包含特定組件的未加壓源碼,方便你通過 pagure 的網頁界面瀏覽。
- 儲存庫是從對應 dist-git 的部份建立而成。
- 解壓後的上游發行檔對應單一 commit。
- 下游所包裝的檔案分佈於多個 commit。
- 最頂的 commit 包含下游的修正,每個修正對應一個 commit 連同附屬的中繼資料(例如:修正檔名稱)
- dist-git 內對套件的改動很有可能阻礙轉換程序的運作。要是出現這情況,該儲存庫將不會獲更新,直至問題解決為止。
- 此外還有簡化版的 source-git 儲存庫:「單一 commit」的 source-git 內包含所有已解壓的源碼及下游的修正檔 —— 那些不支援標準轉換程序的儲存庫以此形式出現。
- 儲存庫擁有兩個獨立分支:
- c8 —— 追蹤 CentOS Linux 8
- c8s —— 針對 CentOS Stream 8
- 這些軟件庫隨著 dist-gist 儲存庫被改動而不斷更新。更新也許不會即時發生。
- 你可通過開啟合併請求(merge request)來作出貢獻。
- 合併請求本身是不會獲合併的 —— 一但某合併請求獲接納後,一個包含修正檔的相關 Bugzilla 錯誤報告將會獲建立,然後它會根據 Red Hat 的內部程序納入 RHEL 8 內。
- 合併請求是由持續整合所核對的 —— 例如:開始建立 RPM 之時。
CentOS Stream 9
CentOS Stream 9 的儲存庫將會有所改善,最顯注的是包含上游的 git 歷史。
CentOS Stream 9 的儲存庫是未來的方向,以下是它們的特性:
- 每個儲存庫包含特定組件的未加壓源碼,方便你通過 pagure 的網頁界面瀏覽。
- 每個儲存庫包含上游的 git 歷史,而 git 標籤對應個別發行版本。你可以在 git 歷史的頂端找到下游的內容,這與經 dist-git 轉換後的儲存庫相若。
- 你可以開啟合併請,而它們會被直接合併到儲存庫內。
- 建立發行版本時,dist-git 會利用 packit 的自動化程序從 source-git 取得改動,然後運用標準的 fedpkg/centpkg 工具建立套件。
測試可加進持續整合的程序內執行。
Translation of revision 3