操作系统的编译方法和装置与流程

文档序号:12596550阅读:来源:国知局

技术特征:

1.一种操作系统的编译方法,其特征在于,包括:

步骤一、获取最小编译数据包,所述最小编译数据包用于提供所述操作系统编译时所需的最小编译环境;

步骤二、在当前平台上,根据所述最小编译数据包生成第一编译环境;

步骤三、根据所述第一编译环境在多个非基础的源码数据包中确定第一源码数据包,所述第一编译环境满足编译所述第一源码数据包所需的依赖条件;

步骤四、根据所述第一编译环境对所述第一源码数据包进行编译操作,得到第一编译数据包;

步骤五、基于所述第一编译环境安装所述第一编译数据包,建立第二编译环境;

步骤六、将所述第二编译环境作为新的第一编译环境,执行步骤三,直至所述多个非基础的源码数据包均已被编译;

其中,所述操作系统的发行版所需的源码集合由所述多个基础的源码数据包和所述多个非基础的源码数据包构成,所述最小编译数据包根据多个基础的源码数据包编译得到。

2.根据权利要求1所述的编译方法,其特征在于,所述根据第一编译环境在所述多个非基础的源码数据包中确定第一源码数据包,包括:

在所述多个非基础的源码数据包中选取任意一个未编译的源码数据包;

根据所述第一编译环境,对在所述多个非基础的源码数据包中选取的当前源码数据包进行解析判断操作,得到判断结果;

判断是否根据当前的所述第一编译环境对所述多个非基础的源码数据包中所有未编译的源码数据包进行过解析判断操作,若否,则选择任意一个未进行过解析判断操作的源码数据包作为新的当前源码数据包,返回执行所述解析判断操作;

将所述判断结果为所述第一编译环境符合编译所述待编译数据包所需的依赖条件的源码数据包确定为所述第一源码数据包。

3.根据权利要求2所述的编译方法,其特征在于,所述根据所述第一编译环境,对在所述多个非基础的源码数据包中选取的当前源码数据包进行 解析判断操作,包括:

对所述当前源码数据包进行解析,获得编译所述当前源码数据包所需要的依赖条件,所述依赖条件为编译所述当前源码数据包前需要预先安装的编译数据包的包名;

从所述第一编译环境对应的仓库索引中获取所述第一编译环境已经安装的编译数据包的信息;所述仓库索引中存储了用于建立所述第一编译环境的各个编译数据包的包名;

判断所述第一编译环境已经安装的编译数据包的信息是否包含编译所述当前源码数据包前需要预先安装的全部编译数据包的包名。

4.根据权利要求3所述的编译方法,其特征在于,所述基于所述第一编译环境安装所述第一编译数据包,建立第二编译环境之后,所述编译方法还包括:

将所述第一编译数据包的包名添加至所述第二编译环境对应的仓库索引中,得到所述第二编译环境对应的仓库索引。

5.根据权利要求4所述的编译方法,其特征在于,在所述获取最小编译数据包之前,所述编译方法还包括:

下载所述操作系统的发行版所需的源码集合和预设的最小依赖规则,所述预设的最小依赖规则为能够提供所述操作系统的最小编译环境的多个基础的源码数据包的包名和所述多个基础的源码数据包的编译顺序;

从所述操作系统的发行版所需的源码集合中获取所述多个基础的源码数据包的包名对应的源码数据包;

所述获取用于提供所述操作系统编译时所需的最小编译环境的最小编译数据包,包括:

按照所述预设的最小依赖规则,对所述多个基础的源码数据包中的每一个源码数据包依次进行编译,得到多个所述基础的源码数据包对应的最小编译数据包;

所述根据所述最小编译数据包生成第一编译环境,包括:

安装所述多个基础的源码数据包对应的最小编译数据包,生成所述第一编译环境,并生成所述第一编译环境对应的仓库索引。

6.一种操作系统的编译装置,其特征在于,包括:

获取模块,用于获取最小编译数据包,所述最小编译数据包用于提供所述操作系统的最小编译环境,所述最小编译数据包根据多个基础的源码数据包编译得到;

建立模块,用于在当前平台上,根据所述最小编译数据包生成第一编译环境;

确定模块,用于在当前平台上,根据所述第一编译环境在多个非基础的源码数据包中确定第一源码数据包,所述第一编译环境满足编译所述第一源码数据包所需的依赖条件;

编译模块,用于根据所述建立模块生成的所述第一编译环境对所述确定模块确定的所述第一源码数据包进行编译操作,得到第一编译数据包;

所述建立模块,还用于基于所述第一编译环境安装所述编译模块得到的第一编译数据包,建立第二编译环境;

所述建立模块,还用于将所述第二编译环境作为新的第一编译环境,控制所述确定模块执行所述根据所述第一编译环境在所述多个非基础的源码数据包中确定第一源码数据包,直至所述多个非基础的源码数据包均已被编译;

其中,所述操作系统的发行版所需的源码集合由所述多个基础的源码数据包和所述多个非基础的源码数据包构成,所述最小编译数据包根据多个基础的源码数据包编译得到。

7.根据权利要求6所述的编译装置,其特征在于,所述确定模块具体包括:

在所述多个非基础的源码数据包中选取任意一个未编译的源码数据包;

根据所述第一编译环境,对在所述多个非基础的源码数据包中选取的当前源码数据包进行解析判断操作,得到判断结果;

若所述当前源码数据包对应的判断结果为所述第一编译环境不符合编译所述当前源码数据包所需的依赖条件,则在所述多个非基础的源码数据包中,选择除该当前源码数据包以外的任意一个源码数据包作为新的当前源码数据包,返回执行所述解析判断操作;

将所述判断结果为所述第一编译环境符合编译所述待编译数据包所需的依赖条件的源码数据包确定为所述第一源码数据包。

8.根据权利要求7所述的编译装置,其特征在于,所述确定模块具体用于:

对所述当前源码数据包进行解析,获得编译所述当前源码数据包所需要的依赖条件,所述依赖条件为编译所述当前源码数据包前需要预先安装的编译数据包的包名;

从所述第一编译环境对应的仓库索引中获取所述第一编译环境已经安装的编译数据包的信息;所述仓库索引中存储了用于建立所述第一编译环境的各个编译数据包的包名;

判断所述第一编译环境已经安装的编译数据包的信息是否包含编译所述当前源码数据包前需要预先安装的全部编译数据包的包名。

9.根据权利要求8所述的编译装置,其特征在于,所述建立模块还用于:

在基于所述第一编译环境安装所述编译模块得到的第一编译数据包,建立第二编译环境之后,将所述第一编译数据包的包名添加至所述第二编译环境对应的仓库索引中,得到所述第二编译环境对应的仓库索引。

10.根据权利要求9所述的编译装置,其特征在于,

所述获取模块,还用于:

下载所述操作系统的发行版所需的源码集合和预设的最小依赖规则,所述预设的最小依赖规则为能够提供所述操作系统的最小编译环境的多个基础的源码数据包的包名和所述多个基础的源码数据包的编译顺序;

从所述操作系统的发行版所需的源码集合中获取所述多个基础的源码数据包的包名对应的源码数据包;

所述获取模块,具体用于:

按照所述预设的最小依赖规则,对所述多个基础的源码数据包中的每一个源码数据包依次进行编译,得到多个所述基础的源码数据包对应的最小编译数据包;

所述建立模块,还用于:

安装所述多个基础的源码数据包对应的最小编译数据包,生成第一编译环境,并生成所述第一编译环境对应的仓库索引。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1