Debian 维护者指南

目录

前言
1. 概览
2. 预备知识
2.1. Debian 社区的工作者
2.2. 如何做出贡献
2.3. Debian 的社会驱动力
2.4. 技术提醒
2.5. Debian 文档
2.6. 帮助资源
2.7. 仓库状况
2.8. 贡献流程
2.9. 新手贡献者和维护者
3. 工具的配置
3.1. 电子邮件地址
3.2. mc
3.3. git
3.4. quilt
3.5. devscripts
3.6. pbuilder
3.7. git-buildpackage
3.8. HTTP 代理
3.9. 私有 Debian 仓库
4. 简单例子
4.1. 大致流程
4.2. 什么是 debmake?
4.3. 什么是 debuild?
4.4. 第一步:获取上游源代码
4.5. 第二步:使用 debmake 产生模板文件
4.6. 第三步:编辑模板文件
4.7. 第四步:使用 debuild 构建软件包
4.8. 第三步(备选):修改上游源代码
4.8.1. 使用 diff -u 处理补丁
4.8.2. 使用 dquilt 处理补丁
4.8.3. 使用 dpkg-source --commit 处理补丁
5. 基本内容
5.1. 打包工作流
5.1.1. debhelper 软件包
5.2. 软件包名称和版本
5.3. 本土 Debian 软件包
5.4. debian/rules
5.4.1. dh
5.4.2. 简单的 debian/rules
5.4.3. 自定义 debian/rules
5.4.4. debian/rules 中的变量
5.4.5. 可重现的构建
5.5. debian/control
5.5.1. Debian 二进制软件包的拆分
5.5.1.1. debmake -b
5.5.1.2. 拆包的场景和例子
5.5.1.3. 库软件包名称
5.5.2. Substvar
5.5.3. binNMU 安全
5.6. debian/changelog
5.7. debian/copyright
5.8. debian/patches/*
5.8.1. dpkg-source -x
5.8.2. dquilt 和 dpkg-source
5.9. debian/upstream/signing-key.asc
5.10. debian/watch 和 DFSG
5.11. 其它 debian/* 文件
5.12. Debian 打包的定制化
5.13. 在版本控制系统中进行记录(标准)
5.14. 在版本控制系统中进行记录(备选方案)
5.15. 构建软件包时排除不必要的内容
5.15.1. 使用 debian/rules clean 进行修复
5.15.2. 使用版本控制系统修复
5.15.3. 使用 extend-diff-ignore 修复
5.15.4. 使用 tar-ignore 修复
5.16. 上游构建系统
5.16.1. Autotools
5.16.2. CMake
5.16.3. Python distutils
5.17. 调试信息
5.17.1. 新的 -dbgsym 软件包(Stretch 9.0 或更新)
5.18. 库软件包
5.18.1. 库符号
5.18.2. 库变迁
5.19. debconf
5.20. 多体系结构
5.20.1. 多架构库路径
5.20.2. 多架构头文件路径
5.20.3. 多架构支持下的 *.pc 文件路径
5.21. 编译加固
5.22. 持续集成
5.23. 自举
5.24. 错误报告
6. debmake 选项
6.1. 快捷选项(-a,-i)
6.1.1. Python 模块
6.2. 上游快照(-d,-t)
6.3. debmake -cc
6.4. debmake -k
6.5. debmake -j
6.6. debmake -x
6.7. debmake -P
6.8. debmake -T
7. 提示
7.1. debdiff
7.2. dget
7.3. debc
7.4. piuparts
7.5. debsign
7.6. dput
7.7. bts
7.8. git-buildpackage
7.8.1. gbp import-dscs --debsnap
7.9. 上游 git 仓库
7.10. chroot
7.11. 新的 Debian 版本
7.12. 新上游版本
7.12.1. uupdate + tarball
7.12.2. uscan
7.12.3. gbp
7.12.4. gbp + uscan
7.13. 3.0 源代码格式
7.14. CDBS
7.15. 在 UTF-8 环境下构建
7.16. UTF-8 转换
7.17. 上传 orig.tar.gz
7.18. 跳过的上传
7.19. 高级打包
7.20. 其他发行版
7.21. 除错
8. 更多示例
8.1. 挑选最好的模板
8.2. 无 Makefile(shell,命令行界面)
8.3. Makefile(shell,命令行界面)
8.4. setup.py(Python3,命令行界面)
8.5. Makefile(shell,图形界面)
8.6. setup.py(Python3,图形界面)
8.7. Makefile(单个二进制软件包)
8.8. Makefile.in + configure(单个二进制软件包)
8.9. Autotools(单个二进制文件)
8.10. CMake(单个二进制软件包)
8.11. Autotools(多个二进制软件包)
8.12. CMake(多个二进制软件包)
8.13. 国际化
8.14. 细节
A. debmake(1) 手册页
A.1. 名称
A.2. 概述
A.3. 描述
A.3.1. 可选参数:
A.4. 示例
A.5. 帮助软件包
A.6. 注意事项
A.7. 除错
A.8. 作者
A.9. 许可证
A.10. 参见