[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#904886: lintian: Support "debhelper-compat (= X)" B-D as replacement for "debhelper (>= X~)"



Chris Lamb:
> Dear Niels,
> 
>> debhelper-and-debhelper-compat-virtual-relation-with-unsupported-version
>> might be better worded as
>> "debhelper-build-dependency-implied-by-debhelper-compat-relation" and E
>> might too high for this.  There is not much harm in having the redundant
>> build-dependency.
>>
>> On a related note, the text for that tag saying  "However, this requires
>> a debhelper 11.3.6 or later." is incorrect.  Having debhelper-compat (=
>> X) implies debhelper (>= 11.3.6~) - i.e. you can rely on any feature in
>> debhelper up and including version 11.3.6~ without an explicit versioned
>> relation on debhelper (but I am fine with lintian not keeping track of
>> that).
> 
> Hm, perhaps I misunderstood what you wrote a few mails back - could you
> provide an example "good" and example "bad" case of a Build-Depends
> that uses both just to clarify? I think I've managed to confuse myself.
> 
> 
> Best wishes,
> 


# Good:

  Build-Depends: debhelper-compat (= 11)

  Build-Depends: debhelper-compat (= 11),
                 debhelper (>= 11.2~)

The latter of the two also holds for any:

  debhelper-compat (= X), debhelper (>= Y)

Where X << Y.


# Bad:

  Build-Depends: debhelper-compat (= 11),
                 debhelper (>= 10~)

The debhelper-compat would imply debhelper (>= 10) already.  This also
holds for any:

  debhelper-compat (= X), debhelper (>= Y)

Where X >= Y.

This is "bad" because the debhelper-compat relation makes the debhelper
relation redundant.  IOW you could delete the debhelper relation without
any loss in functionality/support/features from debhelper.

## The special case

Strictly speaking this also holds for any where X >= 9 and Y <= 11.3.6~
as the first version of debhelper to introduce debhelper-compat was
11.3.6~ (and accordingly, if apt can satisfy the debhelper-compat
relation, the debhelper relation is satisfied along with it).

However, I am not entirely convinced it makes sense for lintian to keep
track of this special-case.  Over time, the value of handling this
special case will decline.


I hope this clarifies the situation.

Thanks,
~Niels


Reply to: