dpkg-deb 构建忽略/误解变更日志

dpkg-deb 构建忽略/误解变更日志

我正在使用以下方法构建 .deb 包:

dpkg-deb --build package

目录“package”包含另一个名为 DEBIAN 的目录,该目录具有更改日志,但生成的包中没有changelog.Debian.gz,如果我使用 lintian 检查该包,则会出现以下错误:

E: msodbcsql: debian-changelog-file-missing
W: msodbcsql: unknown-control-file changelog

我不知道是否相关,但更改日志上的权限如下:

-rwxr-xr-x 1 maximk maximk  159 May 10 11:23 changelog

为什么“变更日志”被认为是未知的控制文件,而不是变更日志?

答案1

在二进制包中,更改日志不是控制文件,它只是包有效负载的一部分。使用dpkg-deb -b,这意味着您需要usr/share/doc/${package}/changelog.Debian.gz直接将更改日志放入(或.../changelog.gz对于本机包)。

更明确地说,由于您是在目录中构建包package,因此您不是将更改日志放入package/DEBIAN/changelog,而是将其放入package/usr/share/doc/package/changelog.Debian.gz,并像以前一样使用 构建包dpkg-deb -b package

在源包中,变更日志会debian/changelog被放入并由dh_installchangelogs.

相关内容