The Debian changelog and OBS
So the OBS supports packaging Debian packages for a while now. Is it perfect? No. But it works well enough. Though one problem I recently ran into …
How to get past lintian?
The obvious answer is of course: Fix the errors it spits out. And I agree. I have done that. For all but one …
bad-distribution-in-changes-file
For many of the debian packages, I helped to start, we used:
pkgname (1.2.3-1.1) unstable; urgency=medium
or
pkgname (1.2.3-1.1) experimental; urgency=medium
This works fine when building for Debian, but fails for Ubuntu with the error above. The deb workflow has one package/source tree per distribution release so you can set that field per distro and you are fine. But in the OBS world we have this:
“Build one set of input sources for as many distributions as possible”
The overrides support in lintian does not cover this case as it is checking the
changes file and not the sources. The debian/source/lintian.overrides
is only
for the source.
If you search for the problem, you find a few more people with the problem. The solution proposed is always:
lintian --suppress-tags bad-distribution-in-changes-file
But how do I hook that up in the OBS?
So I did my usual thing when I run into Debian packaging problems: I complained to Adam. Which often turns out to help. After some code digging he suggested:
Use UNRELEASED
Our entry in the debian/changelog
now looks like this:
pkgname (1.2.3-1.1) UNRELEASED; urgency=medium
Thanks Adam!
Now it works for all distributions. On to the next problem.