rename 开始贡献/ukylin打包指南.md to 开始贡献/优麒麟打包指南.md.

This commit is contained in:
luoyaoming 2022-01-14 03:11:30 +00:00 committed by Gitee
parent b1fb51a23a
commit 7d3b3c1b29
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
1 changed files with 13 additions and 13 deletions

View File

@ -1,4 +1,4 @@
# **ukylin打包指南** # **优麒麟打包指南**
### **关于本文档** ### **关于本文档**
@ -21,18 +21,18 @@
### **1. 软件打包** ### **1. 软件打包**
一个ukylin下的软件包通常包含一系列文件的集合它们定义了应用程序或者库文件可以如何通过包管理器比如aptyum等进行发行部署。作为一种替代源码编译安装的方式打包即制作DEB软件包将应用程序的二进制文件配置文档man/info帮助页面等文件合并打包在一个文件中从而使软件的安装变得简单起来。通过软件包管理器完成获取安装卸载查询等一系列操作。 一个优麒麟下的软件包通常包含一系列文件的集合它们定义了应用程序或者库文件可以如何通过包管理器比如aptyum等进行发行部署。作为一种替代源码编译安装的方式打包即制作DEB软件包将应用程序的二进制文件配置文档man/info帮助页面等文件合并打包在一个文件中从而使软件的安装变得简单起来。通过软件包管理器完成获取安装卸载查询等一系列操作。
**1.1. 总体规则** **1.1. 总体规则**
ukylin试图规范化多种多样的开源项目到一个连贯的系统。因此ukylin制定此打包指导来规范制作DEB的动作。 优麒麟试图规范化多种多样的开源项目到一个连贯的系统。因此优麒麟制定此打包指导来规范制作DEB的动作。
- ukylin遵守一般的[Linux基础标准(LSB)](https://gitee.com/link?target=http://www.linuxbase.org/)。该标准致力于减少各个发行版间的不同。 - 优麒麟遵守一般的[Linux基础标准(LSB)](https://gitee.com/link?target=http://www.linuxbase.org/)。该标准致力于减少各个发行版间的不同。
- ukylin也遵守[Linux文件系统层级标准(FHS)](https://gitee.com/link?target=http://www.pathname.com/fhs/)。该标准是关于如何管理 - 优麒麟也遵守[Linux文件系统层级标准(FHS)](https://gitee.com/link?target=http://www.pathname.com/fhs/)。该标准是关于如何管理
Linux 文件系统层级的参考。 Linux 文件系统层级的参考。
- 除了遵守这些一般Linux发行版都会遵守的一般规则本文档规范化了为ukylin社区版打包的实际细节问题。 - 除了遵守这些一般Linux发行版都会遵守的一般规则本文档规范化了为优麒麟社区版打包的实际细节问题。
**1.2. 打包基础知识** **1.2. 打包基础知识**
@ -45,7 +45,7 @@ ukylin试图规范化多种多样的开源项目到一个连贯的系统。因
**1.3. 关联文档** **1.3. 关联文档**
如果你计划将软件引入到ukylin official software repository,请参考 如果你计划将软件引入到优麒麟官方软件仓库,请参考
[优麒麟贡献攻略](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)。 [优麒麟贡献攻略](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)。
**1.4. 适用性** **1.4. 适用性**
@ -216,7 +216,7 @@ check自测用例通过。
**hello-0.9.12.tar.gz**,您可以将 **hello** 作为上游源代码名称,并将 **hello-0.9.12.tar.gz**,您可以将 **hello** 作为上游源代码名称,并将
**0.9.12** 作为上游版本号。 **0.9.12** 作为上游版本号。
- 组成 ukylin - 组成 优麒麟
软件包名称的字符选取存在一定的限制。最明显的限制应当是软件包名称中禁止出现大写字母。这里给出正则表达式形式的规则总结: 软件包名称的字符选取存在一定的限制。最明显的限制应当是软件包名称中禁止出现大写字母。这里给出正则表达式形式的规则总结:
上游软件包名称(**-p**[-+.a-z0-9]{2,} 上游软件包名称(**-p**[-+.a-z0-9]{2,}
@ -225,7 +225,7 @@ check自测用例通过。
上游版本号(**-u**[0-9][-+.:\~a-z0-9A-Z]\* 上游版本号(**-u**[0-9][-+.:\~a-z0-9A-Z]\*
ukylin 修订版本(**-r** [0-9][+.\~a-z0-9A-Z]\* 优麒麟 修订版本(**-r** [0-9][+.\~a-z0-9A-Z]\*
- 版本比较的规则可以归纳如下: - 版本比较的规则可以归纳如下:
@ -247,7 +247,7 @@ check自测用例通过。
在生成的模板文件中,以下文件是非常重要的: 在生成的模板文件中,以下文件是非常重要的:
- **debian/changelog** - **debian/changelog**
文件记录了软件包的历史并在其第一行定义了上游软件包的版本和 ukylin 文件记录了软件包的历史并在其第一行定义了上游软件包的版本和优麒麟
修订版本。所有改变的内容应当以明确、正式而简明的语言风格进行记录。 修订版本。所有改变的内容应当以明确、正式而简明的语言风格进行记录。
- **debian/control** - **debian/control**
@ -458,14 +458,14 @@ override_dh_auto_install:
如上在 **debian/rules** 文件中导出=**DH_VERBOSE** 环境变量可以强制 **debhelper** 如上在 **debian/rules** 文件中导出=**DH_VERBOSE** 环境变量可以强制 **debhelper**
工具输出细粒度的构建报告。 工具输出细粒度的构建报告。
如上导出 **DEB_BUILD_MAINT_OPTION** 变量可以如 **dpkg-buildflags**(1) 如上导出 **DEB_BUILD_MAINT_OPTION** 变量可以如 **dpkg-buildflags**
手册页中“FEATURE 手册页中“FEATURE
AREAS/ENVIRONMENT”部分所说对加固选项进行设置。[[8]](https://www.debian.org/doc/manuals/debmake-doc/ch04.zh-cn.html#ftn.idm1150) AREAS/ENVIRONMENT”部分所说对加固选项进行设置。
如上导出 **DEB_CFLAGS_MAINT_APPEND** 可以强制 C 编译器给出所有类型的警告内容。 如上导出 **DEB_CFLAGS_MAINT_APPEND** 可以强制 C 编译器给出所有类型的警告内容。
如上导出 **DEB_LDFLAGS_MAINT_APPEND** 如上导出 **DEB_LDFLAGS_MAINT_APPEND**
可以强制链接器只对真正需要的库进行链接。[[9]](https://www.debian.org/doc/manuals/debmake-doc/ch04.zh-cn.html#ftn.idm1157) 可以强制链接器只对真正需要的库进行链接。
对基于 Makefile 的构建系统来说,**dh_auto_install** 对基于 Makefile 的构建系统来说,**dh_auto_install**
命令所做的基本上就是“**\$(MAKE) install DESTDIR=debian/debhello**”。这里创建的 命令所做的基本上就是“**\$(MAKE) install DESTDIR=debian/debhello**”。这里创建的