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 …
For many of the debian packages, I helped to start, we used:
pkgname (1.2.3-1.1) unstable; urgency=medium
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:
Our entry in the
debian/changelog now looks like this:
pkgname (1.2.3-1.1) UNRELEASED; urgency=medium
Now it works for all distributions. On to the next problem.