生态贡献指南

加入 linyaps-packaging SIG 参与玲珑应用贡献,成为玲珑社区核心贡献者

如意玲珑(Linyaps)是一种新型的独立包管理工具集,专注于解决Linux系统下由传统软件包格式的复杂性和交叉依赖关系引起的兼容性问题。项目通过先进的隔离技术,将应用与系统完全解耦,从根本上解决因环境变化引发的应用兼容性问题,实现“一个架构,一次构建”,致力于简化软件开发流程、降低维护成本、加强数据安全,促进技术与平台间的协同合作,构建一个更加繁荣、安全和高效的Linux软件生态环境。

我们已经正式成立了专注于丰富玲珑应用生态的特别兴趣小组(linyaps-packaging SIG),致力于进行玲珑格式包应用的构建适配,并持续优化软件的构建及分发流程,促进Linux生态的发展。诚邀您加入生态共建SIG小组-linyaps-packaging SIG:1、小组章程传送门   2、小组活动仓库 >>>

小组目标:

  • 丰富玲珑应用生态,包括打包、构建和分发。
  • 推动软件打包标准化,提高跨平台兼容性,提高开发者打包效率。
  • 共同解决和优化软件打包过程中的技术难题。
  • 交流与分享打包工具和实践教程,促进知识传播。

小组贡献成长

初级生态贡献者 Junior Contributor

新加入的成员,开始学习适配文档,使用适配工具,能够独立完成简单的适配任务

关键贡献与要求

  • 合并至少 1 个 PR 到SIG代码仓库(即至少成为 1 个新软件包的维护人 或 维护 1 次已创建的应用的新版本,可使用ll-pica转制并提交过程配置文件)

责任与权力

  • 响应被分配的issue和PR
  • 更新和维护软件包版本
  • 创建维护全新的软件包
  • 可以分配问题或PR
  • 成为资深贡献者可获得社区颁发的贡献认证证书

中级生态贡献者 Intermediate Contributor

具备一定的软件适配经验,能够处理中等复杂度的适配问题。

关键贡献与要求

  • 合并至少 10 个 PR 到SIG代码仓库,其中至少为 5 个软件包仓库的 contributor(限手写配置文件构建的软件包,pica转制的形式不算入其中)

责任与权力

  • 响应被分配的issue和PR
  • 更新和维护软件包版本
  • 创建维护全新的软件包
  • 可以分配问题或PR
  • 成为资深贡献者可获得社区颁发的贡献认证证书

资深生态贡献者 Senior Contributor

有丰富的适配经验,能够解决复杂的适配问题,对适配策略和技术有深入的理解和贡献。

关键贡献与要求

  • 合并至少 30 个 PR 到SIG代码仓库,其中至少为 15 个软件包仓库的 contributor(限手写配置文件构建的软件包,pica转制的形式不算入其中)

责任与权力

  • 响应被分配的issue和PR
  • 更新和维护软件包版本
  • 创建维护全新的软件包
  • 可以分配问题或PR
  • 成为资深贡献者可获得社区颁发的贡献认证证书

审核者(Committer)

审核者(Committer)能够在 SIG 活动中审核Contributor 提交的代码,保证 PR 的质量,审核者一般对Linux软件工程原理非常了解。

关键贡献与要求

  • 达到 Intermediate Contributor 的 PR 要求,并作为主要审阅者至少参与了 10 次 小组的 PR 审阅(在 PR 流程里提交审阅测试结果-提交测试报告)
  • 能够独立审查 PR 软件代码质量,把控合并提交软件包的质量,可以指导 SIG 成员进行生态适配工作
  • 熟悉SIG仓库代码,能够编写和维护适配脚本,参与适配流程优化,提升适配质量
  • 可以自我提名,或由该 SIG 的审核者或维护者提名,并以2/3投票通过

责任与权力

  • 评审 Contributor 提交的PR
  • 跟踪、发现,分发和修复软件包中的各类问题,分发及处理 issue
  • 制定测试规范,提供基本的测试用例用于测试回归
  • 可作为核心贡献者参与社区的各项公开活动
  • 参与 SIG 会议,共同制定 SIG 的发展计划

项目维护者(Maintainer )

项目维护者(Maintainer 是 SIG 组的组长或者管理委员会成员,能够像 Committer 一样审查和批准代码贡献。

拥有所有 Committer 的责任与权力,并承担了团队的技术路线、内外协调等工作。

关键贡献与要求

  • 作为审核者至少 3 个月,并作为主要审阅者至少参与了 30 次 PR 的审阅(在PR流程里提交审阅测试结果-提交测试报告)
  • 能够设计和实施复杂的适配解决方案,提高小组工作质量
  • 能够一定程度参与构建适配工具(ll-pica/ll-builer)的开发工作
  • 指导 SIG 成员,带领 SIG 成员成长,深度参与社区,促进玲珑生态发展
  • 可以自我提名,也可以由其他 Maintainer 提名,并且没有其他 Maintainer 的反对

责任与权力

  • 定期召集 SIG 会议,并做出相关决策
  • 参与社区的 PM 活动,并协调 SIG 计划和社区版本的里程碑时间表匹配
  • 作为 SIG 的代表参与如意玲珑社区技术委员会或理事会组织的活动和特定会议等
  • 提名新的核心成员

如何参与玲珑应用贡献

1.  签署社区CLA(贡献者许可协议)

访问如意玲珑CLA页面签署协议,确保您对社区的贡献合法有效

2.  配置玲珑环境

获取玲珑环境,参考文档:安装玲珑 | 玲珑

3.  导出工程配置文件(.yaml)/ 玲珑格式应用(.layer)

方案一、半自动转制:ll-pica

   参考文档:ll-pica 简介 | 玲珑

   第一步,准备待转制的文件

   支持类型:1)deb 2)Appimage 3)Flatpak(即将发布)

   文件来源:1)本地文件 2)联网获取

   第二步,输入基础构建参数/指令

   查看教程:Pica转制工具教程&adep模块运用实例

   第三步,得到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)可以通过统信开发者平台投递

备注:此类投递方式将成为统信官方的软件开发者及SIG小组正式成员,但无法在GitHub平台上统计贡献数据,可自行选择

5.  应用分发

完成以上步骤,经SIG仓库管理员审阅通过并合并PR 或 完成统信应用商店上架测试后,提交的软件包将自动推送至以下商店进行分发:

网页版应用商店 不限发行版,在线分发

简易玲珑应用商店 (不限发行版,独立客户端

统信应用商店 UOS及deepin官方分发渠道

备注:其中网页版应用商店及简易玲珑应用商店为社区开发者贡献的独立商店项目,SIG组筹建中。

1.  签署社区CLA(贡献者许可协议)

访问如意玲珑CLA页面签署协议,确保您对社区的贡献合法有效

2.  配置玲珑环境

获取玲珑环境,参考文档:安装玲珑 | 玲珑

3.  导出工程配置文件(.yaml)/ 玲珑格式应用(.layer)

方案一、半自动转制:ll-pica

   参考文档:ll-pica 简介 | 玲珑

   第一步,准备待转制的文件

   支持类型:1)deb 2)Appimage 3)Flatpak(即将发布)

   文件来源:1)本地文件 2)联网获取

   第二步,输入基础构建参数/指令

   查看教程:Pica转制工具教程&adep模块运用实例

   第三步,得到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)可以通过统信开发者平台投递

备注:此类投递方式将成为统信官方的软件开发者及SIG小组正式成员,但无法在GitHub平台上统计贡献数据,可自行选择

5.  应用分发

完成以上步骤,经SIG仓库管理员审阅通过并合并PR 或 完成统信应用商店上架测试后,提交的软件包将自动推送至以下商店进行分发:

网页版应用商店 不限发行版,在线分发

简易玲珑应用商店 (不限发行版,独立客户端

统信应用商店 UOS及deepin官方分发渠道

备注:其中网页版应用商店及简易玲珑应用商店为社区开发者贡献的独立商店项目,SIG组筹建中。

1.  签署社区CLA(贡献者许可协议)

访问如意玲珑CLA页面签署协议,确保您对社区的贡献合法有效

2.  配置玲珑环境

获取玲珑环境,参考文档:安装玲珑 | 玲珑

3.  导出工程配置文件(.yaml)/ 玲珑格式应用(.layer)

方案一、半自动转制:ll-pica

   参考文档:ll-pica 简介 | 玲珑

   第一步,准备待转制的文件

   支持类型:1)deb 2)Appimage 3)Flatpak(即将发布)

   文件来源:1)本地文件 2)联网获取

   第二步,输入基础构建参数/指令

   查看教程:Pica转制工具教程&adep模块运用实例

   第三步,得到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)可以通过统信开发者平台投递

备注:此类投递方式将成为统信官方的软件开发者及SIG小组正式成员,但无法在GitHub平台上统计贡献数据,可自行选择

5.  应用分发

完成以上步骤,经SIG仓库管理员审阅通过并合并PR 或 完成统信应用商店上架测试后,提交的软件包将自动推送至以下商店进行分发:

网页版应用商店 不限发行版,在线分发

简易玲珑应用商店 (不限发行版,独立客户端

统信应用商店 UOS及deepin官方分发渠道

备注:其中网页版应用商店及简易玲珑应用商店为社区开发者贡献的独立商店项目,SIG组筹建中。

欢迎加入社群参与开发者讨论:

 

相关链接

课程中心

技术文档