1

I'm building a .deb package using:

dpkg-deb --build package

The directory "package" contains another directory called DEBIAN that has the changelog, but the resulting package doesn't have the changelog.Debian.gz in it, and if I check the package using lintian I get following errors:

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

I don't know if relevant but the permissions on the changelog are as follows:

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

Why is the "changelog" considered to be an unknown control file instead of, you know, a changelog?

1 Answer 1

4

In a binary package, the changelog isn’t a control file, it’s just part of the package’s payload. With dpkg-deb -b, that means you need to place the changelog in usr/share/doc/${package}/changelog.Debian.gz directly (or .../changelog.gz for a native package).

More explicitly, since you’re building your package in the package directory, instead of putting your changelog in package/DEBIAN/changelog, you put it in package/usr/share/doc/package/changelog.Debian.gz, and build your package as before with dpkg-deb -b package.

In source packages, the changelog goes in debian/changelog and is processed by dh_installchangelogs.

5
  • So first I create the .deb and then add the file to it?
    – Maxim
    Commented May 10, 2017 at 20:22
  • No, you place the changelog in package/usr/share/doc/package and create the .deb with dpkg-deb -b package. Commented May 10, 2017 at 20:25
  • Or better yet, check out how to build a package from source, it’s not that difficult ;-). Commented May 10, 2017 at 20:26
  • Alright, thanks, that worked, although I was getting a wrong-name-for-changelog-of-native-package for changelog.Debian.gz, but it didn't complain about changelog.gz
    – Maxim
    Commented May 10, 2017 at 20:47
  • Ah, right, you didn’t mention it was a native package. changelog.gz is indeed appropriate in that case. Commented May 10, 2017 at 20:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .