---
title: 软件包引入到openEuler epol流程-官方技术文章-鲲鹏社区
description: 本文介绍将软件包引入 openEuler 社区并发布到 EPOL（Extra Packages for openEuler） 源的流程
keywords: Euler,软件包引入到,流程,官方技术文章,鲲鹏社区,前期准备,确认软件包合规性,注册
url: https://www.hikunpeng.com/developer/techArticles/20251201-6?envFlag=1
section: (其他)
---

# 软件包引入到openEuler epol流程-官方技术文章-鲲鹏社区

URL: https://www.hikunpeng.com/developer/techArticles/20251201-6?envFlag=1
描述: 本文介绍将软件包引入 openEuler 社区并发布到 EPOL（Extra Packages for openEuler） 源的流程
关键词: Euler,软件包引入到,流程,官方技术文章,鲲鹏社区,前期准备,确认软件包合规性,注册

官方技术文章 [了解详情](https://www.hikunpeng.com/zh/developer/techArticles)

软件包引入到openEuler epol流程

软件包引入到openEuler epol流程

openEuler

发表于 2025/12/01

0

作者|李萍

# 1 前期准备

## 1.1 确认软件包合规性

- 确保软件包符合 openEuler 的软件包引入规范，包括：- 许可证兼容性（如 MIT、Apache、GPL 等）。- 不包含专利争议或法律风险。- 软件包功能完整且无严重漏洞。
- 软件包需有明确的主页、源码仓库和版本发布记录。

## 1.2 注册 openEuler 社区账号

- 访问openEuler Gitee [了解详情](https://gitee.com/openeuler)，注册账号并签署CLA（Contributor License Agreement）。
- 创建软件包仓库参考https://gitcode.com/openeuler/community/blob/master/zh/contributors/create-package.md [了解详情](https://gitcode.com/openeuler/community/blob/master/zh/contributors/create-package.md)

2  编写 SPEC 文件参考：https://gitcode.com/openeuler/release-management/blob/master/Guidebook/SPEC文件编写.md [了解详情](https://gitcode.com/openeuler/release-management/blob/master/Guidebook/SPEC%E6%96%87%E4%BB%B6%E7%BC%96%E5%86%99.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/emacs-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 EPOL
```

# 3 本地构建与验证

## 3.1 下载源码并打包

## 3.2 本地构建 RPM

```hljs
rpmbuild -ba foo.spec 
```

#### 3.3 安装测试

```hljs
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://gitcode.com/openeuler/release-management/blob/master/Guidebook/openEuler开发者提交PR指导文档.md [了解详情](https://gitcode.com/openeuler/release-management/blob/master/Guidebook/openEuler%E5%BC%80%E5%8F%91%E8%80%85%E6%8F%90%E4%BA%A4PR%E6%8C%87%E5%AF%BC%E6%96%87%E6%A1%A3.md)参考 pr：

https://gitcode.com/openeuler/release-management/pulls/1932 [了解详情](https://gitcode.com/openeuler/release-management/pulls/1932)

https://gitcode.com/openeuler/release-management/pulls/2054 [了解详情](https://gitcode.com/openeuler/release-management/pulls/2054)

## 4.3 提交Pull Request，并push 各个maintainer合pr

# 5. 审核与合入

- 社区维护者将审核以下内容：- SPEC 文件是否符合规范。- 源码和 License 是否合法。- 构建是否通过多架构验证。
- 若审核通过，软件包将合入 EPOL 仓库。

本页内容
