Debian 开发者参考

Andreas Barth

Adam Di Carlo

Raphaël Hertzog

Lucas Nussbaum

Christian Schwarz

Ian Jackson

版本 3.4.8

本手册是自由软件。您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款,分发和/或修改它,无论是按照许可证第 2 版,还是(根据您的选择)任何后续版本的条款。

发布本文档是希望它对您有用,但 没有任何担保,甚至没有对适销性或特定用途适用性的默示保证。详情请参阅 GNU 通用公共许可证。

GNU 通用公共许可证的副本在 Debian GNU/Linux 发行版的 /usr/share/common-licenses/GPL-2 中,或在万维网上的 GNU 网站 上可用。您也可以通过写信至 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA 获取。

如果您想打印本参考手册,应使用 PDF 版本。此页面也提供 英语法语日语 版本。德语翻译由 Chris Leick <c.leick@vollbio.de> 于 2011 年撰写。

2012-06-25


目录

1. 本文档的适用范围
2. 申请成为维护者
2.1. 首要步骤
2.2. Debian 导师和赞助者
2.3. 注册为 Debian 开发者
3. Debian 开发者的职责
3.1. 包维护者的职责
3.1.1. 为下一个 stable 版本努力
3.1.2. 维护 stable 中的软件包
3.1.3. 管理发布关键错误
3.1.4. 与原始作者协调
3.2. 管理职责
3.2.1. 管理您的 Debian 信息
3.2.2. 管理您的公钥
3.2.3. 投票
3.2.4. 优雅地休假
3.2.5. 退休
3.2.6. 退休后回归
4. Debian 开发者的资源
4.1. 邮件列表
4.1.1. 使用的基本规则
4.1.2. 主要开发者邮件列表
4.1.3. 特殊列表
4.1.4. 申请新的开发相关列表
4.2. IRC 频道
4.3. 文档
4.4. Debian 机器
4.4.1. 错误服务器
4.4.2. FTP 主服务器
4.4.3. WWW 主服务器
4.4.4. 个人 Web 服务器
4.4.5. VCS 服务器
4.4.6. 其他发行版的 Chroot
4.5. 开发者数据库
4.6. Debian 归档
4.6.1. 章节
4.6.2. 架构
4.6.3. 软件包
4.6.4. 发行版
4.6.5. 发行版的代号
4.7. Debian 镜像
4.8. 传入系统
4.9. 软件包信息
4.9.1. 在 Web 上
4.9.2. 辅助工具 dak ls
4.10. 软件包追踪系统
4.10.1. PTS 的电子邮件界面
4.10.2. 过滤 PTS 电子邮件
4.10.3. 将 VCS 提交转发到 PTS
4.10.4. PTS Web 界面
4.11. 开发者软件包概览
4.12. Debian 的 FusionForge 安装:Alioth
4.13. 开发者的便利设施
4.13.1. LWN 订阅
4.13.2. Gandi.net 存储空间提供折扣
5. 管理软件包
5.1. 新软件包
5.2. 记录软件包中的更改
5.3. 测试软件包
5.4. 源代码包的布局
5.5. 选择一个发行版
5.5.1. 一个特例是上传到 stableoldstable 发行版。
5.5.2. 一个特例是上传到 testing/testing-proposed-updates
5.6. 上传软件包
5.6.1. 上传到 ftp-master
5.6.2. 延迟上传
5.6.3. 安全上传
5.6.4. 其他上传队列
5.6.5. 新软件包安装的通知
5.7. 指定软件包区域、子区域和优先级
5.8. 错误处理
5.8.1. 错误监控
5.8.2. 回复错误
5.8.3. 错误组织
5.8.4. 何时通过新的上传关闭错误
5.8.5. 处理安全相关错误
5.9. 移动、删除、重命名、领养和孤立软件包
5.9.1. 移动软件包
5.9.2. 删除软件包
5.9.3. 重命名或替换软件包
5.9.4. 孤立软件包
5.9.5. 领养软件包
5.10. 移植和被移植
5.10.1. 对移植者友好
5.10.2. 移植者上传指南
5.10.3. 移植基础设施和自动化
5.10.4. 如果您的软件包 不可 移植
5.10.5. 将非自由软件包标记为可自动构建
5.11. 非维护者上传 (NMUs)
5.11.1. 何时以及如何执行 NMU
5.11.2. NMU 和 debian/changelog
5.11.3. 使用 DELAYED/ 队列
5.11.4. 从软件包维护者的角度看 NMU
5.11.5. 源代码 NMU 与纯二进制 NMU (binNMUs)
5.11.6. NMU 与 QS 上传
5.11.7. NMU 与团队上传
5.12. 协作管理
5.13. Testing 发行版
5.13.1. 基础
5.13.2. 来自 Unstable 的更新
5.13.3. Testing 的直接更新
5.13.4. 常见问题
6. 软件包的最佳实践
6.1. debian/rules 的最佳实践
6.1.1. 辅助脚本
6.1.2. 将您的补丁分成多个文件
6.1.3. 包含多个二进制文件的软件包
6.2. debian/control 的最佳实践
6.2.1. 软件包描述的通用指南
6.2.2. 软件包概述或简短描述
6.2.3. 详细描述
6.2.4. 原始作者的主页
6.2.5. 版本控制系统的位置
6.3. debian/changelog 的最佳实践
6.3.1. 编写有用的变更日志条目
6.3.2. 关于变更日志条目的常见误解
6.3.3. 变更日志条目中的常见错误
6.3.4. 使用 NEWS.Debian 文件补充变更日志
6.4. 维护者脚本的最佳实践
6.5. 使用 debconf 进行配置管理
6.5.1. 不要滥用 Debconf
6.5.2. 给作者和翻译者的通用建议
6.5.3. 模板字段的定义
6.5.4. 专门针对模板字段的风格指南
6.6. 国际化
6.6.1. 处理 Debconf 翻译
6.6.2. 国际化文档
6.7. 常见的软件包情况
6.7.1. 软件包使用 autoconf/automake
6.7.2. 库
6.7.3. 文档
6.7.4. 特殊软件包类型
6.7.5. 架构无关数据
6.7.6. 构建期间需要特定的 Locale
6.7.7. 使临时软件包符合 Deborphan 标准
6.7.8. .orig.tar.{gz,bz2,xz} 文件的最佳实践
6.7.9. Debug 软件包的最佳实践
6.7.10. Meta 软件包的最佳实践
7. 软件包之外
7.1. 报告错误
7.1.1. 一次报告多个错误(批量提交错误)
7.2. 质量保证工作
7.2.1. 日常工作
7.2.2. 错误修复派对
7.3. 联系其他软件包维护者
7.4. 处理不活跃和/或无法联系的软件包维护者
7.5. 与未来的 Debian 开发者合作
7.5.1. 赞助软件包
7.5.2. 认可新的开发者
7.5.3. 处理新维护者的申请
8. 国际化和翻译
8.1. Debian 中如何处理翻译
8.2. 包维护者的 I18N 和 L10N 常见问题解答
8.2.1. 如何翻译现有文本
8.2.2. 如何验证现有翻译
8.2.3. 如何更新现有翻译
8.2.4. 如何处理与翻译相关的错误报告
8.3. 翻译者的 I18n 和 L10n 常见问题解答
8.3.1. 如何帮助翻译工作
8.3.2. 如何提供翻译以包含在软件包中
8.4. 关于 L10n 的最佳当前实践
A. Debian 维护者工具概述
A.1. 核心工具
A.1.1. dpkg-dev
A.1.2. debconf
A.1.3. fakeroot
A.2. 软件包的 Lint 工具
A.2.1. lintian
A.2.2. debdiff
A.3. debian/rules 的辅助脚本
A.3.1. debhelper
A.3.2. dh-make
A.3.3. equivs
A.4. 软件包构建器
A.4.1. cvs-buildpackage
A.4.2. debootstrap
A.4.3. pbuilder
A.4.4. sbuild
A.5. 软件包上传程序
A.5.1. dupload
A.5.2. dput
A.5.3. dcut
A.6. 管理自动化
A.6.1. devscripts
A.6.2. autotools-dev
A.6.3. dpkg-repack
A.6.4. alien
A.6.5. debsums
A.6.6. dpkg-dev-el
A.6.7. dpkg-depcheck
A.7. 移植工具
A.7.1. quinn-diff
A.7.2. dpkg-cross
A.8. 文档和信息
A.8.1. docbook-xml
A.8.2. debiandoc-sgml
A.8.3. debian-keyring
A.8.4. debian-maintainers
A.8.5. debview