openEuler 用户软件仓(EUR)介绍
什么是 EUR
EUR(openEuler User Repo)是 openEuler 社区针对开发者推出的个人软件包托管平台,目的在于为开发者提供一个易用的软件包分发平台。
链接:https://eur.openeuler.openatom.cn/
为什么我们需要 EUR
在操作系统的世界,软件包是一等公民,软件包的丰富程度和是否易于分发,一定程度上决定了操作系统用户和开发者的使用体验,试想一下这种情况:
开发者希望自己尚在开发中的软件能够尽早的与 openEuler 社区持续的集成并发布给自己的用户进行测试;
在引入新包时,发现其多个依赖的软件包在社区中不存在,极大增加开发者的工作量;
用户期望在 openEuler 20.03 上使用/集成某个软件包的 nightly 或 unstable 版本。
针对上面的场景,在当前 openEuler 社区的基础设施中,还没有太好的开箱即用的方案。仔细分析上面的场景,我们发现社区存在着如何平衡软件包丰富和软件包质量的问题,在和社区 TC 委员讨论后,我们形成了下述的软件包分层的思路:
core packages: openEuler 社区的开发者,sig 组维护着的一组核心软件包
extra packages:类似 EPOL 或 oepkgs 等尚不满足社区质量要求,但仍然处于可用阶段的软件包
developer packages(EUR):完全由开发者或个人维护并保证质量的软件仓库,不需要遵循 openEuler 社区软件包的大部分约束和质量要求
我们需要一个什么样的 EUR
基于上述的软件包分层模型,不难看出,对于 developer packages,社区需要一个简单轻量的对开发者友好的软件包分发平台。
按照以上描述,我们将这个平台命名为 EUR(openEuler User Repo)。我们发现针对 EUR 的需求和 copr 的功能十分类似,在和 copr 的开发团队进行沟通后,我们发现 copr 社区的目标和我们较为一致,并且十分 open,在提交一系列 pr 并得到快速合并后,我们打算使用 copr 构建我们第一版的 EUR 系统。
EUR 的定位
我们将 EUR 定位为开发者的个人仓库,类似于 ubuntu 的 PPA,fedora 的 COPR,这个服务专注于为开发者提供便利,EUR 支持自动从 pypi,rubygem(未来可以扩展更多的方式)打包软件包,支持通过 webhook 自动触发持续构建,后续还将支持一键将个人仓库的软件包引入社区。
谁适合使用 EUR
如果您:
想快速从 pypi/rubygem 上打包软件包;
想为已发布的 openEuler 版本添加最新的软件包或变体版本;
想为还在开发中的软件提供持续与 openEuler 集成的仓库;
只是将某个软件打包成 rpm 包供自己使用;
在将软件包贡献到社区前,测试验证自己的 spec 文件是否正确。
我们都建议您使用 EUR 实现快速构建独立的软件包仓库,分发您的软件包。
地址:https://eur.openeuler.openatom.cn/
联系我们
如果您在使用过程中有任何意见或建议,可以给我们发邮件:infra@openeuler.org,同时也可以在社区论坛https://forum.openeuler.org/ 中交流讨论。
评论