生态贡献指南
加入 linyaps-packaging SIG 参与玲珑应用贡献,成为玲珑社区核心贡献者
如意玲珑(Linyaps)是一种新型的独立包管理工具集,专注于解决Linux系统下由传统软件包格式的复杂性和交叉依赖关系引起的兼容性问题。项目通过先进的隔离技术,将应用与系统完全解耦,从根本上解决因环境变化引发的应用兼容性问题,实现“一个架构,一次构建”,致力于简化软件开发流程、降低维护成本、加强数据安全,促进技术与平台间的协同合作,构建一个更加繁荣、安全和高效的Linux软件生态环境。
我们已经正式成立了专注于丰富玲珑应用生态的特别兴趣小组(linyaps-packaging SIG),致力于进行玲珑格式包应用的构建适配,并持续优化软件的构建及分发流程,促进Linux生态的发展。诚邀您加入生态共建SIG小组-linyaps-packaging SIG:1、小组章程传送门 2、小组活动仓库 >>>
小组目标:
- 丰富玲珑应用生态,包括打包、构建和分发。
- 推动软件打包标准化,提高跨平台兼容性,提高开发者打包效率。
- 共同解决和优化软件打包过程中的技术难题。
- 交流与分享打包工具和实践教程,促进知识传播。
如何参与玲珑应用贡献:
2. 配置玲珑环境
获取玲珑环境,参考文档:安装玲珑 | 玲珑
3. 导出工程配置文件(.yaml)/ 玲珑格式应用(.layer)
方案一、半自动转制:ll-pica
参考文档:ll-pica 简介 | 玲珑
第一步,准备待转制的文件
支持类型:1)deb 2)Appimage 3)Flatpak(即将发布)
文件来源:1)本地文件 2)联网获取
第二步,输入基础构建参数/指令
第三步,得到pica转制导出的工程配置文件(.yaml) 或 成品玲珑格式应用
方案二、高自定义构建:ll-builer
参考文档:ll-builder简介 | 玲珑
第一步,选择合适的构建类型
1)在线Git仓库拉取编译
2)本地源码编译
3)本地二进制执行文件
第二步,手动编写构建工程配置文件(.yaml)
配置内容包括但不限于:应用名、版本号、包名/id、配置运行时、构建规则
第三步,执行构建过程,导出玲珑应用,自行完成测试
4. 应用提交
方案一、工程配置文件提交——通过自动化公共构建平台提交并自动构建
通过 自动化公共构建平台 以PR形式提交,创建PR后会触发 OBS 构建
CICD 工作流
- 创建仓库 根据 PR 的提交创建新仓库
- 设置 OBS webhook 给创建的新仓库添加 OBS 的 webhook
- 创建 PR 后触发 OBS 构建 通过 webhook 触发 OBS 构建玲珑应用
- 在 PR 下面回复 layer 的下载地址 在构建成功后能在下载地址里看到构建出的 layer 文件
- 修改 linglong.yaml version 字段 自动发布 tag 在修改 version 字段的 PR 合并后自动发布 tag,tag 号和 version 一致
- 多个 linglong.yaml 文件检查保持 version 一致 在 PR 构建的时候检查多架构多 linglong.yaml 文件的 version 版本号要一致
- 发布 tag 后 触发 OBS 构建 通过 webhook 触发 OBS 构建玲珑应用
- tag 构建后推送 layer 到仓库 OBS 构建完成后触发 publish 脚本,publish 脚本推送 layer 到线上仓库
方案二、成品包提交——通过统信开发者平台提交构建成功的玲珑包
成品包(.layer)可以通过统信开发者平台投递
5. 应用分发
完成以上步骤,经SIG仓库管理员审阅通过并合并PR 或 完成统信应用商店上架测试后,提交的软件包将自动推送至以下商店进行分发:
如意玲珑应用商店客户端 (不限发行版,独立客户端)
统信应用商店 UOS及deepin官方分发渠道
备注:如意玲珑应用商店为 Linyaps Simple Store SIG 维护的独立项目,欢迎参与。
SIG贡献成长:
初级生态贡献者 Junior Contributor
新加入的成员,开始学习适配文档,使用适配工具,能够独立完成简单的适配任务。
关键贡献与要求
- 贡献者账号名下至少需主责维护 1 个在架的玲珑应用(通过GitHub自动化构建平台 或 统信开发者平台账号维护,需确保应用的可用性,并保持软件更新)
- 若是通过社区快速打包活动中提交的网页封装应用,至少需要满足个人账号下在架 ≥5个应用,方可获得Junior Contributor称号及证书
责任与权力
- 响应被分配的issue和PR
- 更新和维护软件包版本
- 创建维护全新的软件包
- 可以分配问题或PR
- 成为资深贡献者可获得社区颁发的贡献认证证书
中级生态贡献者 Intermediate Contributor
具备一定的软件适配经验,能够处理中等复杂度的适配问题。
关键贡献与要求
- 贡献者账号名下至少需主责维护 10 个在架的玲珑应用(通过GitHub自动化构建平台 或 统信开发者平台账号维护,需确保应用的可用性,并保持软件更新),鼓励源码构建或使用ll-pica进行转制,但纯网页封装类型应用不予计数
责任与权力
- 响应被分配的issue和PR
- 更新和维护软件包版本
- 创建维护全新的软件包
- 可以分配问题或PR
- 成为资深贡献者可获得社区颁发的贡献认证证书
资深生态贡献者 Senior Contributor
有丰富的适配经验,能够解决复杂的适配问题,对适配策略和技术有深入的理解和贡献。
关键贡献与要求
- 贡献者账号名下至少需主责维护 30 个在架的玲珑应用(通过GitHub自动化构建平台 或 统信开发者平台账号维护,需确保应用的可用性,并保持软件更新),鼓励源码构建或使用ll-pica进行转制,但纯网页封装类型应用不予计数
责任与权力
- 响应被分配的issue和PR
- 更新和维护软件包版本
- 创建维护全新的软件包
- 可以分配问题或PR
- 成为资深贡献者可获得社区颁发的贡献认证证书
审核者(Committer)
审核者(Committer)能够在 SIG 活动中审核Contributor 提交的代码,保证 PR 的质量,审核者一般对Linux软件工程原理非常了解。
关键贡献与要求
- 达到 Intermediate Contributor 的要求,并作为主要审阅者至少参与了 10 次 代码提交 或 软件上架 的审阅
- 能够独立审查 PR 软件代码质量,把控合并提交软件包的质量,可以指导 SIG 成员进行生态适配工作
- 熟悉SIG仓库代码,能够编写和维护适配脚本,参与适配流程优化,提升适配质量
- 可以自我提名,或由该 SIG 的审核者或维护者提名,并以2/3投票通过
责任与权力
- 评审 Contributor 提交的PR
- 跟踪、发现,分发和修复软件包中的各类问题,分发及处理 issue
- 制定测试规范,提供基本的测试用例用于测试回归
- 可作为核心贡献者参与社区的各项公开活动
- 参与 SIG 会议,共同制定 SIG 的发展计划
项目维护者(Maintainer )
项目维护者(Maintainer )是 SIG 组的组长或者管理委员会成员,能够像 Committer 一样审查和批准代码贡献。
拥有所有 Committer 的责任与权力,并承担了团队的技术路线、内外协调等工作。
关键贡献与要求
- 作为审核者至少 3 个月,并作为主要审阅者至少参与了 30 次 代码提交 或 软件上架 的审阅
- 能够设计和实施复杂的适配解决方案,提高小组工作质量
- 能够一定程度参与构建适配工具(ll-pica/ll-builer)的开发工作
- 指导 SIG 成员,带领 SIG 成员成长,深度参与社区,促进玲珑生态发展
- 可以自我提名,也可以由其他 Maintainer 提名,并且没有其他 Maintainer 的反对
责任与权力
- 定期召集 SIG 会议,并做出相关决策
- 参与社区的 PM 活动,并协调 SIG 计划和社区版本的里程碑时间表匹配
- 作为 SIG 的代表参与如意玲珑社区技术委员会或理事会组织的活动和特定会议等
- 提名新的核心成员
如意玲珑社区贡献者证书:
我们将依据SIG贡献成长说明,每月度为参与贡献的开发者颁发对应等级的《如意玲珑社区贡献者证书》;
其中 Junior Contributor (初级生态贡献者)仅颁发电子证书,其余4个级别的贡献者将在年末时统一发放最高等级的实体证书。