forked from huawei/openEuler2
woqhrt5in 60deecc351 | ||
---|---|---|
README.md |
README.md
使用 Rust 编程语言实现基于 SAT 算法的软件包依赖分析库
项目:rust-solv
描述:在开源软件操作系统中,软件包之间复杂依赖关系的分析与维护是软件包管理系统正常运行的重要基础,实践证明,通过将软件包依赖关系问题问题转变为布尔可满足(SAT)问题的基本映射规则,可以高效实现复杂的软件包管理系统。
本项目主要包含以下个部分:
- 软件依赖关系解析:支持主流Linux发行版软件包,如RPM(必选), DEB等,的依赖关系,并设计高效、可靠的数据结构对依赖关系进行存储,提供简单易用的数据结构访问;
- 软件仓库解析:支持主流Linux发行版软件仓库,如RPM(必选), DEB等,的软件仓库内容解析,并设计高效、可靠的数据结构对其进行存储,提供简单易用的数据结构访问;
- 基于SAT算法的软件包依赖分析:将软件依赖关系转变为布尔可满足(SAT)问题的基本映射规则,并实现SAT求解器,对给定的软件包进行依赖求解,输出给定的软件仓库中能否满足其依赖。
项目目标:设计并使用Rust语言实现以上各组成部分
参考资料:
[1]《基于SAT的软件包依赖问题的研究》顾昊,倪惜珍 [2] https://github.com/openSUSE/libsolv
导师
代码提交
https://gitee.com/openeuler/opensource-intern 仓库下 rust-solv 目录,每位参赛的学生都建立自己的目录提交代码,目录内包含 .gitignore 文件。 代码提交前需要签署 CLA ,签署地址:https://sourl.cn/SiH39B 签署指引 企业签署 CLA ,正式加入 openEuler 社区