Debian消息格式规范
一、debian/changelog 的书写规范
- 首行格式:package (version) distribution(s); urgency=urgency
- 字段含义:
- package:软件包名
- version:上游版本-修订号
- distribution(s):目标发行版(如 unstable、stable、testing 等)
- urgency:紧急程度(常见值:low、medium、high、emergency)
- 变更条目
- 以星号开头的多行列表:每行描述一项变更;条目之间可用空行分隔,空行会被 dpkg-parsechangelog 保留在输出中。
- 维护者与日期分隔
- 以单独一行“–”开始,后跟维护者姓名与邮箱,两者之间用两个空格分隔;随后是日期行。
- 日期格式
- 推荐使用 RFC 2822 格式,例如:Wed, 27 Jan 2010 00:00:00 +0000(时区建议用 +0000 或本地偏移)。
- 常见约定
- 每行条目尽量简短、信息明确;必要时在行尾使用闭合标签如 Closes: #nnnnnn 关联缺陷报告。
二、完整示例
gst-plugins-base (1.14.4-2) unstable; urgency=high
* debian/patches/0001-gstrtspconnection-Security-loophole-making-heap-over.patch:
Add upstream patch for CVE-2019-9928 (Closes: #927978).
-- Wireshark Self-made package <wireshark@example.com> Wed, 27 Jan 2010 00:00:00 +0000
- 要点:首行包含包名、版本、发行版与 urgency;条目以“*”列出;维护者与邮箱之间有两个空格;日期采用 RFC 2822 格式。
三、工具与校验
- 解析与校验
- 使用 dpkg-parsechangelog 读取并校验 changelog 的版本与发布信息;变更条目之间的空行会作为条目分隔被保留在输出中,便于工具进一步处理。
- 邮件与外发
- 若通过程序(如 reportbug、bts)发送邮件,需确保系统具备可用的 MTA(如 exim4、postfix),或配置 msmtp 作为 smarthost;现代邮件投递通常经由端口 587 并使用 SMTP 认证与 TLS,同时需关注 DKIM、SPF、DMARC 等反垃圾策略以避免被拒收。
四、若指系统日志消息格式