軟件選集 SIG

SIG 狀況:已獲批准

協助啟動程序的委員會成員:JimPerrin

軟件選集 SIG 將會為上游提供空間開發各種軟件選集及相關工具。開發者可以建基於及延伸現有的 SCL,這樣他們便無須重蹈覆轍,或不必要地負起包裝依賴性套件的責任。

目標

資源需求

郵件列表及通訊

有關 CentOS 資源的工作及相關討論將會在 centos-devel 郵件列表上進行。所有將於 SCL、用戶之間的互動及上游的開發將會在現有的軟件選集郵件列表上進行。

此 SIG 一般亦會在 irc.freenode.net 的 #centos-devel 頻道上出現。

同步會議

特別興趣小組內容

有關所有組合及停止支援期請參閱 選集清單

如欲進一步獲取某軟件選集的資料,請在 http://softwarecollections.org 搜尋該選集。

我們會針對套件進行 CIhttps://ci.centos.org/view/SCLo-pkgs-cbs/

特別興趣小組成員

軟件選集 SIG 將會有一個督導委員會及多名軟件提交者。督導委員會最初計有:

其它成員的清單已收錄於 https://accounts.centos.org/group/members/sig-sclo

督導委員會有權增加軟件提交者及成員。督導委員會將會透過啟動程序的委員會成員與 CentOS 委員會接口。

軟件提交者的權限,一經獲取便不會到期,除非由督導委員會所撤消。

投身參與

給多產貢獻者的提示

路線圖及啟動程序

項目清單

待辦清單內有下列項目:

新增軟件選集的步驟

  1. 熟集包裝 SCL 套件的 包裝守則

  2. 自我介紹,然後在郵件列表建議新增一個軟件選集 sclorg@redhat.com

  3. 遵照 「投身參與」步驟 申請成為特別興趣小組成員

  4. 遵照 下文 申請標籤

  5. 遵從 建立套件 的步驟

  6. 考慮為你的選集編寫測試並將它們放入 CI

  7. http://softwarecollections.org 加入項目

  8. 更新 SCL 清單頁 上的軟件選集清單

  9. 首先在 centos-devel 郵件列表 宣佈在 buildlogs 上收錄了新的軟件選集,然後當鏡站準備好後,再在 centos-announce 郵件列表 上宣佈

  10. 在網誌、相關的(上游)郵件列表或社交媒體上推廣你的選集

(若要在任何步驟取得協助,請與特別興趣成員聯絡)

申請 CBS 標籤及目標

假若你要為新的軟件選集建立標籤及目標,請遵從以下步驟:

繼承 CBS 標籤

有時候某個 SCL 需要(於建立或執行時)採用來自另一個 SCL 的套件。建立 SCL 用的目錄內一般不會含有該 SCL 以外的套件,因此我們須要申請繼承特定的標籤(例如當建立 MongoDB SCL 的某些套件時需要採用 Maven SCL,MongoDB 的標籤須要繼承 Maven SCL 的套件)。若要申請繼承標籤,維護者必須遞交這樣的申請:https://bugs.centos.org/view.php?id=10525

個別標籤的繼承清單已收錄於: https://git.centos.org/blob/sig-core!cbs-tools.git/master/scripts!sigs!sclo!sclo-inheritance.sh

為軟件選集建立套件

源代碼軟件庫

軟件選集暫時仍未有 dist-git 源碼庫,但不少套件的源碼已收錄於 https://github.com/sclorg-distgit

建立套件

我們可如此直接建立套件:

cbs add-pkg sclo7-rh-mariadb100-rh-candidate --owner=sclo rh-mariadb100-mariadb
cbs build sclo7-rh-mariadb100-rh-el7 rh-mariadb100-mariadb-10.0.18-1.el7.src.rpm

建成後,CI(持續整合流程)將會為我們測試完整性,接著我們可以為它們加上 -testing 軟件庫的標籤:

cbs add-pkg sclo7-rh-mariadb100-rh-testing --owner=sclo rh-mariadb100-mariadb
cbs tag-build sclo7-rh-mariadb100-rh-testing rh-mariadb100-mariadb-10.0.18-1.el7

發放套件至 testing 軟件庫

http://buildlogs.centos.org/centos/7/sclo/x86_64/ 有一個工作流程會自動把所有標籤為 -testing 的套件放進 testing 軟件庫內。

若要採用這方法,每個軟件集在頭一次都必須被加進該工作流程內,做法就是建立這樣的申請:https://bugs.centos.org/view.php?id=10260 。然後,用戶便可透過安裝及啟用以下其中一個軟件庫來安裝套件:

yum-config-manager --enable centos-sclo-rh-testing
yum-config-manager --enable centos-sclo-sclo-testing

發行套件

當我們要發行套件時,步驟就如發放至 testing 軟件庫一般。 這些套件必須在 -testing 標籤/軟件庫內逗留最少一至兩個星期才可以發行。

  1. 為套件加上 -release 標籤:

cbs add-pkg sclo7-rh-mariadb100-rh-release --owner=sclo rh-mariadb100-mariadb
cbs tag-build sclo7-rh-mariadb100-rh-release rh-mariadb100-mariadb-10.0.18-1.el7

以下步驟只適用於首次發行的選集,更新選集時應被省略:

  1. 簽署並發行套件至 http://mirror.centos.org(如 https://bugs.centos.org/view.php?id=9838 般申請)

  2. https://lists.centos.org/pipermail/centos-announce/ 上發出公佈(例如 https://lists.centos.org/pipermail/centos-announce/2015-December/021577.html

    • 我們須要為 CentOS 6 及 CentOS 7 個別發出公佈
    • 我們必須測試公佈內的步驟是可行的

在SCLo 採用 EPEL 的套件

這只限於 sclo- 名稱空間,即是那些並非源於 RHSCL 的軟件選集。

SCLo 的建設過程是無法直接採用 EPEL 套件的,因為 CBS 只提供 CentOS 套件。因此,EPEL 套件必須在 CBS 下重建。然而,重建這些套件有很多方法(現時的建議):

我們想避免 SCLo 與 EPEL 套件之間的衝突而引發的依賴性惡夢(不同套件依賴同一套件的不同版本)。

1. 把 EPEL 套件轉變成某個軟件選集的一部份

2. 包裝為正常套件

3. 在 SCLo 軟件庫內把 EPEL 套件重新命名

4. 混合方案(例如:為 EPEL 6 重新命名,保留 EPEL 7 的正常套件)

軟件選集名稱解構

軟件選集的名稱是由作者選取的慣用識別碼,亦不應該被分拆為個別部件。

然而,由於多數名稱是根據某些指引而制定,下面就以 scol-vagrant1 軟件選集為例:

選集名稱的前置:

  1. 容許「其他人」(尤其是用戶)按他們的需要設立特定的名稱
  2. SCL 作者能在選集出現之處採用單一個「選集名稱」
  3. 用戶(是開源計劃好、是付款者也好)不論在哪一個平台都能針對單一個選集名稱

更多有關前置的資料:https://www.redhat.com/archives/sclorg/2015-February/msg00022.html

更多資訊

Translation of revision 54

zh-tw/SpecialInterestGroup/SCLo (last edited 2019-08-08 09:54:27 by TimothyLee)