如何将一款软件包引入oepkgs镜像源

背景介绍

oepkgs 全称开放软件包服务(Open External Packages Service),是一个为 openEuler 以及其他 Linux 发行版提供软件包服务和容器镜像服务的第三方社区。

oepkgs 社区提供两种开源软件包适配方式,第一种方式开源软件包的源码合入 src-oepkgs 组织仓下面,由 src-oepkgs 的构建服务对软件包进行构建

测试,兼容性测试,并进入 oepkgs 的主体仓库中。另一种方式用户通过网页快速构建软件包,软件包进入个人账户下面的某个仓库中。

开源软件引入oepkgs主仓总体流程

1. 获取到spec文件以及源码文件

2. 在openEuler上进行编译构建

3. 在openEuler上进行兼容性测试

4. 将已经适配好的spec文件以及源码文件存放在src-oepkgs仓库中(建仓流程详见rpm包构建及建仓流程)

1. 软件包spec及源码文件获取

1.1 在一些网站上找到软件包的src.rpm包,解压获取spec文件以及软件包的源码文件:


https://pkgs.org/

https://src.fedoraproject.org/projects/rpms/*

https://koji.fedoraproject.org/koji/packages

www.google.com

www.baidu.com

www.bing.com

以libvirt 4.5.0版本引入为例,在网上寻找src.rpm包的流程如下图所示:


rpm -i http://vault.centos.org/7.9.2009/os/Source/SPackages/libvirt-4.5.0-36.el7.src.rpm

如上图所示的~/rpmbuild/SPECS/~/rpmbuild/SOURCES/目录下面分别存放了软件包的spec文件以及软件包的源码文件

2. 在openEuler上进行编译构建:

执行命令,安装构建工具:


yum install -y dnf-plugins-core rpm-build

执行命令,安装软件包的依赖包


# yum-builddep -y ~/rpmbuild/SPECS/*.spec

yum-builddep -y ~/rpmbuild/SPECS/libvirt.spec

执行命令,对软件包进行编译构建


# rpmbuild -ba ~/rpmbuild/SPECS/*.spec

rpmbuild -ba ~/rpmbuild/SPECS/libvirt.spec

编译构建通过就会在 ~/rpmbuild/RPMS/ 目录下面生成 rpm包


ls ~/rpmbuild/RPMS/*

3. 在openEuler上进行兼容性测试

执行命令,测试软件包的安装、卸载


yum localinstall ~/rpmbuild/RPMS/x86_64/*

yum remove *

执行命令,测试软件包的服务启停


systemctl start *

systemctl stop *

4. 将已经适配好的软件包的spec文件以及~/rpmbuild/SOURCE目录下面的源码文件存放在src-oepkgs仓库中(建仓流程详见rpm包构建及建仓流程)

1 个赞