【技术实现步骤摘要】
软件包依赖关系的维护方法、装置、介质和设备
本专利技术涉及网络通信
,特别涉及一种软件包依赖关系的维护方法、装置、介质和设备。
技术介绍
网络操作系统多采用模块化开发方式,即将系统功能划分为若干个功能内聚的模块,单个模块可能由驱动程序、服务程序、库程序等多个文件构成,把这些文件放在软件包中维护,一个模块对应一个软件包。软件包之间可能存在依赖关系,所谓的软件包依赖,实际是接口的依赖。假设A软件包中的bar_server服务程序使用了B软件包中的libfoo库程序的某个接口foo_api1,该接口在B软件包的1.2.0版本才开始提供,那么A软件包就对B软件包存在依赖,依赖关系可以描述为B>=1.2.0。只有当设备上的B软件包版本大于等于1.2.0,才允许安装A软件包,否则不允许安装。目前软件包依赖关系的维护方式,可以使用gcc编译工具的符号版本机制,由软件包开发人员为接口分配符号版本。这要求软件包开发人员维护一个.vers文件,该文件举例如下:上述.vers文件 ...
【技术保护点】
1.一种软件包依赖关系的维护方法,其特征在于,所述方法包括:/n扫描编译输出的至少一个目标文件,确定依赖接口表,所述依赖接口表包括所述至少一个目标文件依赖的接口;/n获取接口与软件包版本关联表,所述接口与软件包版本关联表包括每个完成归档的软件包对应的软件包名称、软件包版本和提供的所有接口的对应关系;/n根据所述接口与软件包版本关联表、以及所述依赖接口表,确定所述至少一个目标文件对应的依赖软件包表,所述依赖软件包表包括所述至少一个目标文件依赖的软件包名称和软件包版本。/n
【技术特征摘要】
1.一种软件包依赖关系的维护方法,其特征在于,所述方法包括:
扫描编译输出的至少一个目标文件,确定依赖接口表,所述依赖接口表包括所述至少一个目标文件依赖的接口;
获取接口与软件包版本关联表,所述接口与软件包版本关联表包括每个完成归档的软件包对应的软件包名称、软件包版本和提供的所有接口的对应关系;
根据所述接口与软件包版本关联表、以及所述依赖接口表,确定所述至少一个目标文件对应的依赖软件包表,所述依赖软件包表包括所述至少一个目标文件依赖的软件包名称和软件包版本。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
打包所述至少一个目标文件和所述依赖软件包表,生成目标软件包。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
利用文件提取命令,提取每个完成归档的软件包内的选定文件;
利用库文件获取命令,从提取出的选定文件中获取库文件;
利用接口获取命令,获取每个库文件提供的接口;
将确定出的每个完成归档的软件包对应的软件包名称、软件包版本、以及获取到的接口更新到接口与软件包版本关联表。
4.如权利要求1或2所述的方法,其特征在于,扫描编译输出的至少一个目标文件,确定依赖接口表,包括:
利用目标文件获取命令,获取编译输出的至少一个目标文件;
利用接口获取命令,获取每个目标文件依赖的接口;
将获取的接口输出到依赖接口表。
5.如权利要求1或2所述的方法,其特征在于,根据所述接口与软件包版本关联表、以及所述依赖接口表,确定所述至少一个目标文件对应的依赖软件包表至少一个目标文件,包括:
遍历所述依赖接口表中的每个接口,从所述接口与软件包版本关联表中查找提供遍历到的接口的软件包名称和软件包版本;
将查找出的软件包名称和软件包版本输出到所述至少一个目标文件对应的依赖软件包表。
6.如权利要求2所述的方法,其特征在于,打包所述至少一个目标文件和所述依赖软件包...
【专利技术属性】
技术研发人员:纪孝榜,
申请(专利权)人:锐捷网络股份有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。