[發明專利]一種基于koji進行編譯和軟件源制作的方法和裝置有效
| 申請號: | 202110903046.4 | 申請日: | 2021-08-06 |
| 公開(公告)號: | CN113721918B | 公開(公告)日: | 2023-08-04 |
| 發明(設計)人: | 王楷元;王凱強;王德明;宋凱;孫新鵬;戴純興 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F8/71;G06F11/30 |
| 代理公司: | 北京連和連知識產權代理有限公司 11278 | 代理人: | 劉小峰;陳黎明 |
| 地址: | 215000 江蘇省蘇州*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 koji 進行 編譯 軟件 制作 方法 裝置 | ||
本發明提供了一種基于koji進行編譯和軟件源制作的方法、系統、設備和存儲介質,方法包括:提交RPM包編譯任務,并輪詢所述編譯任務處于關閉狀態還是失敗狀態;響應于所述編譯任務處于關閉狀態,執行制作koji源任務并輪詢所述制作koji源任務處于關閉狀態還是失敗狀態;響應于所述制作koji源任務處于關閉狀態,執行制作軟件源任務并輪詢所述制作軟件源任務處于關閉狀態還是失敗狀態;以及響應于所述制作軟件源任務處于關閉狀態,確定所述軟件源制作完成。本發明使得在進行RPM包編譯及軟件源生成時,可以對各個階段任務狀態進行實時監控,及時反饋任務狀態信息;可以在RPM包重復編譯時自動刪除數據庫及存儲庫中的產物,以便RPM包重新編譯。
技術領域
本領域涉及操作系統領域,更具體地,特別是指一種基于koji進行編譯和軟件源制作的方法、系統、設備和存儲介質。
背景技術
Koji(Fedora的RPM包構建系統)主要用于RPM包(RPM包是從源碼打包的文件產物)的編譯,通常通過命令行方式從Koji服務器上提交編譯任務,并通過web(網頁)頁面方式展示編譯任務的狀態,當RPM包編譯成功后,在后端提交生成koji源的任務,之后在簽名服務器上指定RPM包所在的tag(Koji中一組RPM包的集合),對新編譯的RPM包進行簽名,簽名完成后在Koji服務器上執行生成軟件源的命令,提交給koji任務,生成可供Linux系統安裝使用的軟件源。在從源碼到軟件源制作的過程中包含如下步驟:RPM包編譯、Koji源制作、RPM包簽名、軟件源制作。有時由于某些RPM包已經在Koji上編譯成功,但是由于新提交的任務未修改RPM包對應的N-V-R(名稱-版本-發行次數),在Koji上無法重新編譯,需要從數據庫中刪除后再重新編譯;RPM包編譯時間不定,可能由于各種編譯環境或源碼問題導致失敗,開發人員不能實時監控編譯狀態;編譯完成后需要手動執行簽名任務,等待簽名任務完成后再生成最終的軟件源,過程耗費時間較長,效率低下。
發明內容
有鑒于此,本發明實施例的目的在于提出一種基于koji進行編譯和軟件源制作的方法、系統、計算機設備及計算機可讀存儲介質,本發明使得在進行RPM包編譯及軟件源生成時,可以對各個階段任務狀態進行實時監控,及時反饋任務狀態信息;可以在RPM包重復編譯時自動刪除數據庫及存儲庫中的產物,以便RPM包重新編譯。
基于上述目的,本發明實施例的一方面提供了一種基于koji進行編譯和軟件源制作的方法,包括如下步驟:提交RPM包編譯任務,并輪詢所述編譯任務處于關閉狀態還是失敗狀態;響應于所述編譯任務處于關閉狀態,執行制作koji源任務并輪詢所述制作koji源任務處于關閉狀態還是失敗狀態;響應于所述制作koji源任務處于關閉狀態,執行制作軟件源任務并輪詢所述制作軟件源任務處于關閉狀態還是失敗狀態;以及響應于所述制作軟件源任務處于關閉狀態,確定所述軟件源制作完成。
在一些實施方式中,方法還包括:響應于所述編譯任務處于失敗狀態,判斷當前koji中是否存在所述RPM包;以及響應于當前koji中存在所述RPM包,根據所述RPM包的建立標識將所述RPM包從所述koji的數據庫中刪除。
在一些實施方式中,方法還包括:響應于當前koji中不存在所述RPM包,將所述RPM包的名稱、版本號和第一任務標識進行反饋,并根據所述RPM包的名稱、版本號和第一任務標識分析所述編譯任務失敗的原因。
在一些實施方式中,方法還包括:響應于所述制作koji源任務處于失敗狀態,將所述制作koji源任務的第二任務標識進行反饋,并根據所述第二任務標識分析所述制作koji源任務失敗的原因。
在一些實施方式中,方法還包括:響應于所述制作軟件源任務處于失敗狀態,將所述制作軟件源任務的第三任務標識進行反饋,并根據所述第三任務標識分析所述制作軟件源任務失敗的原因。
在一些實施方式中,方法還包括:響應于所述制作koji源任務處于關閉狀態,對所述RPM包所在的tag進行簽名。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110903046.4/2.html,轉載請聲明來源鉆瓜專利網。





