1. 关于本手册
1.1. 范畴
本手册描述了Debian发行版的政策要求。这其中包括Debian存档的结构和内容,以及操作系统的数个设计事宜。除此以外,手册还包含了每个软件包在被纳入发行版之前必须要满足的种种技术要求。
本手册还描述了与创建Debian软件包相关的Debian政策。这些相关描述不是一个关于如何构建软件包的教程,它们也不是对软件打包系统行为的详尽描述。本手册试图定义软件包管理系统的接口,这些定义是开发人员必须熟知的。[1]
本手册不能也不会禁止所有可能会出现的故障或不可取的行为。不过,Debian政策不禁止的事情不一定不是一个软件故障,也不说明它就是可取的行为。政策未涉及的问题应根据具体情况得以评估。
本手册中的脚注仅供参考,它们并非Debian政策本身的一部分。
本手册的附录也不一定是具有规范性的。若想要了解更多的相关信息,请参阅 Introduction and scope of these appendices 。
本手册内容中具有规范性的部分存在以下术语,它们用于表达每条声明的重要性:[2]
必须 ( must )和 不能 ( must not ),以及形容词 必要的 ( required )和 禁止的 ( prohibited )表示强烈要求。不符合这些要求的软件包通常不会被Debian发行版所接受。这些声明对应着 关键的 ( critical ), 重大的 ( grave ), 和 严重的 ( serious )软件故障严重程度(通常是严重的)。包含这些术语的声明被统称为 政策-要求 ( Policy requirements )。
应该 ( should )和 不应该 ( should not ),以及形容词 建议的 ( recommended )表示最佳实践。不符合这些准则的软件包通常会被视为是有故障的,但这不一定意味着该软件包不适合被发行版接受。包含这些术语的相关声明对应着 重要的 ( important )、正常的 ( normal )和 不严重的 ( minor )的软件故障严重程度。包含这些术语的声明被统称为 政策-推荐 ( Policy recommendations )。
形容词 鼓励的 ( encouraged )和 不鼓励的 ( discouraged )表示政策向维护者提供的建议,但维护者既可遵循该建议,也可不遵循该建议。没有遵循那些建议的软件包通常不会被视为故障。如果故障看似值得关注,那么通常情况下它会被赋予 愿望清单 ( wishlist )的故障严重程度。包含这些术语的声明被统称为 政策-建议 ( Policy advice )。
术语 可能/可以 ( may )和形容词 可选的 ( optional )用于以下情形,即政策可能会在某些情况下提出要求或给予推荐。在这些情形中,这些术语所描述的决定对于维护者来说是纯属可选可不选的,最终决定由维护者自行做出。
就某一给定的Debian发行版来说,发行团队可以自行决定将政策-要求(Policy requirement)变更为政策-推荐(Policy recommendation)。这只适用于某一特定软件包或整个存档。这一规定的目的是在发行版的质量标准、发行进度以及维持稳定发行的重要性之间做出平衡,并为实现这种平衡提供活动空间。
本手册中提供的大部分信息对于构建那些将会以其他方式发行、或仅供本地使用的软件包来说也是所帮助的。
udebs(Debian安装程序使用的精简二进制软件包)和只生成udebs的源码包不需对本手册里所讨论的所有要求都进行遵守。若想了解更多相关信息,请参阅 Debian Installer internals manual 。
1.2. 关于本文档的新版本
本手册通过Debian软件包 debian-policy 发布。
本文档的当前版本也可以从Debian网络镜像中获得,网址为 https://www.debian.org/doc/debian-policy/ 。从同级目录还可获得这一版本的其他几种格式: policy.epub ,policy.txt 以及 policy.pdf 。 升级清单 的独立副本录既在同级目录中出现,也在debian-policy软件包中出现它指出了出现在不同版本中的政策更改。
1.5. 术语定义
本政策手册使用了以下术语:
- ASCII
由ANSI X3.4-1986及其前身所明确的字符编码,在MIME中被指称为US-ASCII,它对应着统一字符编码 Unicode 中前128个字符每个字符的八位编码,其第八位总是为零。
- 上游
被打包的软件源,或者来自Debian外部的软件包的一部分。例如,假设Alice编写并发布了一个自由软件包,然后Bob创建了该软件包的Debian软件包。在这个例子中,Alice是该软件包的 上游维护者 (有时简称为 上游 ),Alice的发布是 上游发布 ,她给的发行版本号是 上游版本 。Bob可以对该软件包做出特设于Debian的修改,然后将这些修改向 上游 发送以合并到Alice的发布中。
打包者和上游开发者可以是同一个人。例如,Alice可能会选择为Debian打包她自己的软件。不过,即使上游开发者和软件打包者是同一个人,本手册仍然对这两个身份进行了区分。这是因为这两个身份对于打包的细节有不同的影响。
- UTF-8
由 RFC 3629 定义的 统一字符编码 Unicode 的转换格式(有时称为编码)以ASCII为其子集,因此,任何以ASCII为字符代码的文本同时也是以UTF-8编码为标准的文本。
1.6. 翻译
当本文档的非英文译本与英文文本不一致时,以英文文本为准。