rename 开始贡献/共创麒麟打包指南.md to 开始贡献/ openKylin 打包指南.md.
This commit is contained in:
parent
a0027b5af6
commit
07266cf9ce
|
@ -21,18 +21,18 @@
|
|||
### **1. 软件打包**
|
||||
|
||||
|
||||
一个共创麒麟下的软件包通常包含一系列文件的集合,它们定义了应用程序或者库文件可以如何通过包管理器(比如apt,yum等)进行发行部署。作为一种替代源码编译安装的方式,打包,即制作DEB软件包,将应用程序的二进制文件,配置文档,man/info帮助页面等文件合并打包在一个文件中,从而使软件的安装变得简单起来。通过软件包管理器,完成获取,安装,卸载,查询等一系列操作。
|
||||
一个 openKylin 下的软件包通常包含一系列文件的集合,它们定义了应用程序或者库文件可以如何通过包管理器(比如apt,yum等)进行发行部署。作为一种替代源码编译安装的方式,打包,即制作DEB软件包,将应用程序的二进制文件,配置文档,man/info帮助页面等文件合并打包在一个文件中,从而使软件的安装变得简单起来。通过软件包管理器,完成获取,安装,卸载,查询等一系列操作。
|
||||
|
||||
**1.1. 总体规则**
|
||||
|
||||
共创麒麟试图规范化多种多样的开源项目到一个连贯的系统。因此共创麒麟制定此打包指导来规范制作DEB的动作。
|
||||
openKylin 试图规范化多种多样的开源项目到一个连贯的系统。因此 openKylin 制定此打包指导来规范制作DEB的动作。
|
||||
|
||||
- 共创麒麟遵守一般的[Linux基础标准(LSB)](https://gitee.com/link?target=http://www.linuxbase.org/)。该标准致力于减少各个发行版间的不同。
|
||||
- openKylin 遵守一般的[Linux基础标准(LSB)](https://gitee.com/link?target=http://www.linuxbase.org/)。该标准致力于减少各个发行版间的不同。
|
||||
|
||||
- 共创麒麟也遵守[Linux文件系统层级标准(FHS)](https://gitee.com/link?target=http://www.pathname.com/fhs/)。该标准是关于如何管理
|
||||
- openKylin 也遵守[Linux文件系统层级标准(FHS)](https://gitee.com/link?target=http://www.pathname.com/fhs/)。该标准是关于如何管理
|
||||
Linux 文件系统层级的参考。
|
||||
|
||||
- 除了遵守这些一般Linux发行版都会遵守的一般规则,本文档规范化了为共创麒麟社区版打包的实际细节问题。
|
||||
- 除了遵守这些一般Linux发行版都会遵守的一般规则,本文档规范化了为 openKylin 社区版打包的实际细节问题。
|
||||
|
||||
**1.2. 打包基础知识**
|
||||
|
||||
|
@ -45,19 +45,19 @@
|
|||
|
||||
**1.3. 关联文档**
|
||||
|
||||
如果你计划将软件引入到共创麒麟官方软件仓库,请参考
|
||||
[共创麒麟贡献攻略](https://docs.ubuntukylin.com/zh/%E5%BC%80%E5%A7%8B%E8%B4%A1%E7%8C%AE/%E4%BC%98%E9%BA%92%E9%BA%9F%E8%B4%A1%E7%8C%AE%E6%94%BB%E7%95%A5)。
|
||||
如果你计划将软件引入到 openKylin 官方软件仓库,请参考
|
||||
[ openKylin 贡献攻略](https://docs.openkylin.top/zh/%E5%BC%80%E5%A7%8B%E8%B4%A1%E7%8C%AE/%E4%BC%98%E9%BA%92%E9%BA%9F%E8%B4%A1%E7%8C%AE%E6%94%BB%E7%95%A5)。
|
||||
|
||||
**1.4. 适用性**
|
||||
|
||||
一般来说,这些准则适用于优麒麟的所有版本,包括非生命周期版本、生命周期版本以及开发版本。
|
||||
一般来说,这些准则适用于 openKylin 的所有版本,包括非生命周期版本、生命周期版本以及开发版本。
|
||||
|
||||
指导方针也在一定程度上涵盖了进入共创麒麟的所有类型和交付场景的软件包。共创麒麟是一个社区版本,因此不能保证所有的规则是一成不变,当前其最核心最重要的基本原则,在可预期的未来是不会有大的变动。
|
||||
指导方针也在一定程度上涵盖了进入 openKylin 的所有类型和交付场景的软件包。 openKylin 是一个社区版本,因此不能保证所有的规则是一成不变,当前其最核心最重要的基本原则,在可预期的未来是不会有大的变动。
|
||||
|
||||
**1.5. 技术提醒**
|
||||
|
||||
这里给出一些技术上的建议,参考行事可以让您与其他维护者共同维护软件包时变得更加轻松有效,从而让
|
||||
共创麒麟 项目的输出成果最大化。
|
||||
openKylin 项目的输出成果最大化。
|
||||
|
||||
让您的软件包容易除错(debug)。
|
||||
|
||||
|
@ -92,18 +92,18 @@
|
|||
|
||||
**2.1. 软件包管理器**
|
||||
|
||||
共创麒麟不打算重复造轮子,使用DEB作为底座,附以apt、dpkg等来管理软件包。DEB 格式是
|
||||
openKylin 不打算重复造轮子,使用DEB作为底座,附以apt、dpkg等来管理软件包。DEB 格式是
|
||||
Debian 系统(包含 Debian 和 Ubuntu)专属安装包格式,配合 apt
|
||||
软件管理系统,成为了当前在 Linux
|
||||
下非常流行的一种安装包。也许在不久的将来,如果deb,apt等工具不能满足需求,优麒麟会考虑发起新的项目。
|
||||
下非常流行的一种安装包。也许在不久的将来,如果deb,apt等工具不能满足需求, openKylin 会考虑发起新的项目。
|
||||
|
||||
**2.2. 软件列表、软件选型**
|
||||
|
||||
共创麒麟有自己的软件列表集合,当前已经集成1000+软件包,还在继续丰富和完善。
|
||||
openKylin 有自己的软件列表集合,当前已经集成1000+软件包,还在继续丰富和完善。
|
||||
|
||||
共创麒麟的软件代码来源,是直接取自软件原生社区的稳定版本,同时按照此打包规范编写debian/\*规则文件打包并集成。
|
||||
openKylin 的软件代码来源,是直接取自软件原生社区的稳定版本,同时按照此打包规范编写debian/\*规则文件打包并集成。
|
||||
|
||||
共创麒麟遵循Upstream First原则。
|
||||
openKylin 遵循Upstream First原则。
|
||||
|
||||
**2.3. 软件拆分规则**
|
||||
|
||||
|
@ -191,7 +191,7 @@ check自测用例通过。
|
|||
|
||||
- 集成没有法律风险的开源软件,[开源许可名录](https://gitee.com/link?target=https://opensource.org/licenses/alphabetical)。
|
||||
|
||||
- debian目录文件内容要适配共创麒麟,做到正确、准确、清晰、简洁。如果引用了其他发行版内容,或来自原生社区,必须顶部说明。
|
||||
- debian目录文件内容要适配 openKylin ,做到正确、准确、清晰、简洁。如果引用了其他发行版内容,或来自原生社区,必须顶部说明。
|
||||
|
||||
- 存在于**黑名单**的软件**必须不能**引入。
|
||||
|
||||
|
@ -200,11 +200,11 @@ check自测用例通过。
|
|||
|
||||
**4.2. 架构支持**
|
||||
|
||||
- 软件包维护者应尽量保证在aarch64和x86_64,MIPS等几种架构上能编译成功,后续随共创麒麟对其它体系架构的支持,可能会增加构建的要求。
|
||||
- 软件包维护者应尽量保证在aarch64和x86_64,MIPS等几种架构上能编译成功,后续随 openKylin 对其它体系架构的支持,可能会增加构建的要求。
|
||||
|
||||
**4.3. 软件拆分**
|
||||
|
||||
- 软件的拆分需要按照共创麒麟软件拆分规则实施。
|
||||
- 软件的拆分需要按照 openKylin 软件拆分规则实施。
|
||||
|
||||
- 为所有二进制软件包在 **debian/control** 文件中创建对应的二进制软件包条目。
|
||||
|
||||
|
@ -216,7 +216,7 @@ check自测用例通过。
|
|||
**hello-0.9.12.tar.gz**,您可以将 **hello** 作为上游源代码名称,并将
|
||||
**0.9.12** 作为上游版本号。
|
||||
|
||||
- 组成共创麒麟
|
||||
- 组成 openKylin
|
||||
软件包名称的字符选取存在一定的限制。最明显的限制应当是软件包名称中禁止出现大写字母。这里给出正则表达式形式的规则总结:
|
||||
|
||||
上游软件包名称(**-p**):[-+.a-z0-9]{2,}
|
||||
|
@ -225,7 +225,7 @@ check自测用例通过。
|
|||
|
||||
上游版本号(**-u**):[0-9][-+.:\~a-z0-9A-Z]\*
|
||||
|
||||
共创麒麟修订版本(**-r**): [0-9][+.\~a-z0-9A-Z]\*
|
||||
openKylin 修订版本(**-r**): [0-9][+.\~a-z0-9A-Z]\*
|
||||
|
||||
- 版本比较的规则可以归纳如下:
|
||||
|
||||
|
@ -242,12 +242,12 @@ check自测用例通过。
|
|||
使用 **debmake**
|
||||
可以为软件包维护者创建符合deb包规范的必要模板文件。在生成的文件中,注释行以
|
||||
**\#**
|
||||
开始,其中包含一些教程性文字。您在将软件包上传至共创麒麟仓库之前必须删除或者修改这样的注释行。
|
||||
开始,其中包含一些教程性文字。您在将软件包上传至 openKylin 仓库之前必须删除或者修改这样的注释行。
|
||||
|
||||
在生成的模板文件中,以下文件是非常重要的:
|
||||
|
||||
- **debian/changelog**
|
||||
文件记录了软件包的历史并在其第一行定义了上游软件包的版本和共创麒麟
|
||||
文件记录了软件包的历史并在其第一行定义了上游软件包的版本和 openKylin
|
||||
修订版本。所有改变的内容应当以明确、正式而简明的语言风格进行记录。
|
||||
|
||||
- **debian/control**
|
||||
|
@ -257,7 +257,7 @@ check自测用例通过。
|
|||
|
||||
**4.6. 依赖关系**
|
||||
|
||||
- 要保证软件包的编译依赖和安装依赖已经存在于优麒麟仓库中。如果没有,需要一并打包引入。编译依赖和安装依赖需要自行确认,确保完整。尽量避免循环依赖。
|
||||
- 要保证软件包的编译依赖和安装依赖已经存在于 openKylin 仓库中。如果没有,需要一并打包引入。编译依赖和安装依赖需要自行确认,确保完整。尽量避免循环依赖。
|
||||
|
||||
- **Depends**
|
||||
|
Loading…
Reference in New Issue