软件包引入到openEuler epol流程
发表于 2025/12/01
0
作者|李萍
1 前期准备
1.1 确认软件包合规性
- 确保软件包符合 openEuler 的软件包引入规范,包括:
- 许可证兼容性(如 MIT、Apache、GPL 等)。
- 不包含专利争议或法律风险。
- 软件包功能完整且无严重漏洞。 - 软件包需有明确的主页、源码仓库和版本发布记录。
1.2 注册 openEuler 社区账号
- 访问 openEuler Gitee,注册账号并签署 CLA(Contributor License Agreement)。
- 创建软件包仓库
参考 https://gitee.com/openeuler/community/blob/master/zh/contributors/create-package.md
2 编写 SPEC 文件
参考:https://gitee.com/openeuler/release-management/blob/master/Guidebook/SPEC文件编写.md
创建 foo.spec(RPM 打包规范文件):
Name: foo
Version: 1.0
Release: 1%{?dist}
Summary: A demo package for openEuler EPOL
License: MIT
URL: https://github.com/foo/foo
Source0: %{name}-%{version}.tar.xz
%description
This is a demo package for openEuler EPOL.
%prep
%autosetup -n %{name}-%{version}
%build
./configure
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
%files
%license LICENSE
%{_bindir}/foo
%changelog
* Tue Oct 10 2023 Your Name <your.email@example.com> - 1.0-1
- Initial package for openEuler EPOL3 本地构建与验证
3.1 下载源码并打包
3.2 本地构建 RPM
rpmbuild -ba foo.spec 3.3 安装测试
sudo dnf install ./RPMS/aarch64/foo-1.0-1.aarch64.rpm
foo --version # 验证功能4. 提交代码到 openEuler 社区
4.1 提交到 src-openeuler/foo 仓库
4.2 要发布到epol yum源,还需要提交到release-management仓库
参考 https://gitee.com/openeuler/release-management/blob/master/Guidebook/openEuler开发者提交PR指导文档.md
参考 pr:
https://gitee.com/openeuler/release-management/pulls/1932
https://gitee.com/openeuler/release-management/pulls/2054
4.3 提交Pull Request,并push 各个maintainer合pr
5. 审核与合入
- 社区维护者 将审核以下内容:
- SPEC 文件是否符合规范。
- 源码和 License 是否合法。
- 构建是否通过多架构验证。 - 若审核通过,软件包将合入 EPOL 仓库。


