bad-distribution-in-changes-file unstable

Bug #1303603 reported by Rolf Leggewie on 2014-04-07
64
This bug affects 12 people
Affects Status Importance Assigned to Milestone
lintian (Ubuntu)
High
Unassigned

Bug Description

from a pbuilder run on a trusty host

Setting up lintian (2.5.22ubuntu1) ...
Processing triggers for libc-bin (2.19-0ubuntu3) ...
+++ lintian output +++
E: libcapi20-3 changes: bad-distribution-in-changes-file unstable

that's pretty shocking. The information about valid distro release pockets should be carved out to the distro-info package (bug 1012459)

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in lintian (Ubuntu):
status: New → Confirmed
Rolf Leggewie (r0lf) on 2014-04-11
Changed in lintian (Ubuntu):
importance: Undecided → High
Sergio Benjamim (sergio-br2) wrote :

I'm using lintian from upstream, 2.5.24, same issue.

Jonathan Reed (jdreed) wrote :

I'm also seeing this on Trusty. The text for bad-distribution-in-changes-file explicitly says that "unstable" is fine to use, and indeed "unstable" is in /usr/share/lintian/data/changes-file/known-dists, so there's definitely something wrong here.

Jonathan Reed (jdreed) wrote :

OK, the actual problem is that the ubuntu vendor profile (/usr/share/lintian/vendors/ubuntu/main/data/changes-file/known-dists) does not include "unstable". That's a bug, it should include it.

Scott Kitterman (kitterman) wrote :

No. The solution to this problem is to run lintian with --profile debian. On Ubuntu, lintian runs with the Ubuntu profile by default and unstable is not a valid release name for Ubuntu.

Changed in lintian (Ubuntu):
status: Confirmed → Won't Fix
Rolf Leggewie (r0lf) wrote :

I think this needs further discussion, then.

Quite obviously, the current setup goes against the expectations of many users. I routinely run lintian from within pbuilder and that switch isn't set (and I wonder if it should). Looks a lot like an Ubuntuism to me. I don't understand why lintian on Ubuntu complains and should continue to complain about the unstable release pocket. Please explain if there are valid reasons this must be so.

Changed in lintian (Ubuntu):
status: Won't Fix → Confirmed

On 2014-11-12 11:56, Rolf Leggewie wrote:
> I think this needs further discussion, then.
>

Hi Rolf,

Thanks for your interest in this matter.

Please note that my remarks here are from the perspective of Lintian
upstream and /not/ Ubuntu.

> Quite obviously, the current setup goes against the expectations of many
> users.

Unfortunately, it is not clear to me that this is as obvious and
clear-cut as you suggest it to be. The current way Lintian finds the
default profile is:

 1) On $DISTRO, Lintian defaults to the $DISTRO profile.
    - if said profile is present, stop here!
 2) Try from 1) again with DISTRO=$(parentof $DISTRO) if there is a
    parent distribution of $DISTRO
 3) Abort.

Since both Debian and Ubuntu has a profile, we get (simplified):

 * On Ubuntu, Lintian defaults to the Ubuntu profile.
 * On Debian, Lintian defaults to the Debian profile.

If I was an Ubuntu developer and only made packages for Ubuntu, I would
want my lintian to use the Ubuntu rule set. Like:

 * Warn if I (or a tool) had chosen "unstable" as target for my upload.
 * Do /not/ warn about various Debian-only NMU policies.
 * Etc.

> I routinely run lintian from within pbuilder and that switch
> isn't set (and I wonder if it should).

It is certainly a valid solution to have pbuilder pass --profile,
although I am not sure pbuilder can compute the desired profile value
automatically for each chroot. A different alternative is to run
lintian /inside/ the chroot.

 * Inside a Debian chroot lintian will accurately determine that it
   should default to Debian policies.
 * Alternatively, you can set LINTIAN_PROFILE in the ENV or in your
   ~/.lintianrc (or in your XDG_CONFIG_HOME/lintian/.lintianrc) to
   the desired profile.

> Looks a lot like an Ubuntuism to me.

If anything, it is an "upstreamism".

 * You are very welcome to propose an alternative solution to the
   current profile setup. I would certainly be interested in hearing
   it.
   - Though in that case, we should probably move the discussion
     upstream to the Debian BTS.

The current implementation comes from the following sources - though
note that we have diverged from specs proposed back then in a few ways:

 * https://lists.debian.org/debian-lint-maint/2011/04/msg00277.html
 * https://wiki.debian.org/Lintian/Spec/VendorCustomization

Somewhere down the line we also hooked a few more items on the profiles.
 Notably vendor specific data files and third-party checks.

> I don't understand why lintian on Ubuntu complains and should
> continue to complain about the unstable release pocket. Please explain
> if there are valid reasons this must be so.
>

I hope the above already explained this. If not, by all means please
ask clarifying questions.

Thanks,
~Niels

piersh (piersh) wrote :

I just tried building the libcurlpp-dev on xenial, and debuild failed with this message.

i fixed it by changing the release name in 'changelog' to 'xenail'. not sure why that works, or why i should need to do that.

Mattia Rizzolo (mapreri) wrote :

As Niels explained last year this is the expected behavior.
If you're rebuilding a package from Debian while targeting a Ubuntu release you can as well change the target Distribution (and you're suppose to if you're going to upload to Ubuntu, indeed the lintian message is totally right).

For those using pbuilder, just run lintian _inside_ the chroot, then you'll get the right lintian rightly configure for whatever distribution and release you're building for; there is an example hook for that too.

Changed in lintian (Ubuntu):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers