Dpkg

dpkg-deb build 忽略/誤解變更日誌

  • May 11, 2017

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

dpkg-deb --build package

目錄“package”包含另一個名為 DEBIAN 的目錄,其中包含 changelog,但生成的包中沒有 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

為什麼“changelog”被認為是一個未知的控製文件,而不是,你知道,一個changelog?

在二進制包中,更改日誌不是控製文件,它只是包有效負載的一部分。使用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.

引用自:https://unix.stackexchange.com/questions/364259