Skip to content
Commit 94459d24 authored by Felix Lechner's avatar Felix Lechner
Browse files

In Lintian::Collect::Source, use centralized version parser.

Centralizes most version parsing so that it takes place for source
packages. Lintian can determine a package's nativeness only from
source packages. That information is required to parse all version
components, even for simple versions.

More details are in the email excerpt below.

Does not currently check if changelogs in binary packages are the same
as in the source package. That was mentioned in an unquoted part of
the email (and originally suggested by pabs) but would be difficult to
test using standard tools. That condition belongs more appropriately
into the test suite for dpkg-buildpackage.

For native packages, the method ->repacked now always returns false.
Native packages have no upstream source and cannot be repacked.

The 'native' method was not removed from Lintian::Collect::Binary yet.
Some checks such as 'fields' still depend on it. First, those
subchecks have to be transferred into source-only sections in their
respective checks.

This commit implements most proposed actions from:

    https://lists.debian.org/debian-lint-maint/2019/07/msg00141.html

which is restated here:

Detecting native binary packages [1] does not work nearly as well as
for source packages [2]. In the Lintian test suite, we see
discrepancies in the same *.changes files [3]. For that reason, I will
soon propose to move all tags that depend on the detection from
'binary' to 'source'.

In practice, that means moving many tags from the check
'changelog-file' to 'source-changelog'. (The check 'fields' may be
split up.) The reclassification of tags as source vs. binary will
cause ripple effects, such as the adjustment of expected tags in the
test suite and potentially the greater ecosystem via overrides.
parent acc3ed4d
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment