我正在使用以下方法构建 .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
.