【技术实现步骤摘要】
快速检测apt仓库源依赖完整性的方法
[0001]本专利技术涉及软件包依赖检测
,具体涉及快速检测apt仓库源依赖完整性的方法。
技术介绍
[0002]Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面得到广泛应用。根据用户的不同需求,发布Linux操作系统的企业需同时开发众多定制的Linux操作系统,每种定制Linux操作系统又有众多的版本,且Linux操作系统又是由大量可安装的软件包组成的,这其中所包含的软件包之间有大量复杂的依赖关系需要检测。若在软件仓库源存在软件包的依赖错误,往往在安装软件包时才会被发现,需要解决这些错误才能交付该Linux操作系统,这会导致产品交付周期变长。若通过人工完成Linux操作系统软件包依赖关系的管理,软件包维护人员工作量、管理成本则会随着Linux操作系统和软件包规模不断增长,以及版本频繁的变更和更新而日益庞大。因此,如何快速有效地检测Linux操作系统软件包的依赖关系,提高企业发布Linux操作系统的效率显得尤为重要。
[0003]现有软件 ...
【技术保护点】
【技术特征摘要】
1.快速检测apt仓库源依赖完整性的方法,其特征在于,包括如下步骤:步骤S1:根据用户输入软件包的情况确定需要检测其依赖完整性的软件包,得到一个软件包列表packlist1;步骤S2:遍历软件包列表packlist1,从软件包列表packlist1中按照顺序获取一个软件包package1,通过下述步骤判断软件包package1的依赖完整性;步骤S3:判断软件包package1是否为虚包,若为虚包,则获取软件包package1的真实包名后再执行步骤S4,若不为虚包,则直接执行步骤S4;步骤S4:获取软件包package1所直接依赖的软件包,得到一个软件包列表packlistⅠ;步骤S5:判断软件包列表packlistⅠ是否为空,为空则说明软件包package1不依赖其它软件包,跳转至步骤S10或步骤S11,不为空则继续执行步骤S6;步骤S6:判断软件包package1是否存在依赖冲突,若存在则结束整个流程并输出结果,若不存在,则继续执行步骤S7;步骤S7:遍历软件包列表packlistⅠ,从中顺序获取一个软件包packageⅠ,检测软件包候选版本的情况,若没有候选版本,则结束整个流程并输出结果,若有候选版本,则获取候选版本号并继续执行步骤S8;步骤S8:判断候选版本号是否满足安装要求,若不满足安装要求,则结束整个流程并输出结果,若满足安装要求,则跳转至步骤S7继续顺序获取下一个软件包packageⅡ,直至软件包列表中所有的软件包packageⅠ、软件包package
Ⅱ……
均具备符合要求的候选版本;步骤S9:递归跳转至步骤S2,按照步骤S2
‑
步骤S8的方法,对软件包列表packlistⅠ中的软件包packageⅠ、软件包package
Ⅱ……
的依赖完整性进行循环递归检查;步骤S10:判断是否完成循环递归检查,若完成,则跳转至步骤S11;步骤S11:跳转至步骤S2,从软件包列表packlist1中顺序获取软件包package2、软件包package3
……
,并依次完成其依赖完整性检测,直至遍历完软件包列表packlist1中的所有软件包,然后结束整个流程。2.如权利要求1所述的快速检测apt仓库源依赖完整性的方法,其特征在于,所述步骤S1中,若用户输入了指定的软件包包名,仅检测传入的软件包的依赖完整性;若用户未输入软件包包名,则遍历软件源中所有的软件包,检查所有软件包的依赖完整性。3.如权利要求1所述的快速检测apt仓库源依赖完...
【专利技术属性】
技术研发人员:谌志华,陈斌,陆志平,谢炜,毛周,史晶,郭俊余,魏立峰,程启,
申请(专利权)人:麒麟软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。