Hi Guillem On Tue, Nov 5, 2019 at 2:27 AM Guillem Jover <guil...@debian.org> wrote: > > At least the following tags: > have disappeared, > > debian-changelog-version-requires-debian-revision > hyphen-in-native-debian-changelog-version
Lintian previously used several regular expressions to determine these conditions. Unfortunately, they were inconsistent. I am sure you are familiar with version strings. A more complex but consistent regular expression is now used [1], except its output is less granular. I am not totally happy with that solution, but I think it works better. Most significantly it offers check writers access to standardized version components (for an example, see [2]), although the scheme needs to be simplified. My key take-away was that successful version parsing requires the native/non-native information as an input. [3] Both tags were replaced by 'malformed-debian-changelog-version'. Do you see that tag anywhere? > latest-debian-changelog-entry-changed-to-native That tag was an analytical overreach. It was a tag for installation packages, but the condition cannot be determined reliably outside of source packages. I will even argue that the native/non-native provenance should not matter for installation packages (aka 'binary' packages), except perhaps for installed changelog locations. After that realization, I moved most changelog analysis to source packages (as Lintian inputs), for which the format can be deduced with reasonable certainty. The tag was replaced with 'odd-historical-changelog-version' for the prior version. [4] It is issued whenever the previous changelog version cannot be parsed, given the native/non-native information as an input. > I suspect because dpkg-source does not allow a > mismatch between the version format and source formats 3.0? I am not sure how dpkg-source figures into your line of thinking, but I have been eliminating tags from Lintian because they are untestable. The primary and perhaps sole reason is that dpkg and friends refuse to create packages (or files) with such conditions. On occasion I have thought about sending you our discarded code for the dpkg test suite. > But this > mismatch is still possible with source format 1.0. The source format is not presently an input for our version parser, nor does policy seem to consider it relevant for that purpose. I think Lintian still detects the condition you are thinking of (provided dpkg does not quit when trying to create the defective package). > So reintroducing > these would be very much appreciated. That is not currently planned, but there is potential for improvement. We appreciate all merge requests, especially from those who know version parsing better than anyone. Kind regards, Felix Lechner [1] https://salsa.debian.org/lintian/lintian/blob/master/lib/Lintian/Info/Changelog/Version.pm#L80-106 [2] For an example, see: https://salsa.debian.org/lintian/lintian/blob/master/checks/debian/changelog.pm#L88-90 [3] https://salsa.debian.org/lintian/lintian/blob/master/lib/Lintian/Info/Changelog/Version.pm#L65-72 [4] https://salsa.debian.org/lintian/lintian/blob/master/checks/debian/changelog.pm#L147-157