[发明专利]一种基于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.vipzhuanli.com/pat/books/202110903046.4/2.html,转载请声明来源钻瓜专利网。