-
1604ef53
by Chris Lamb
at 2019-12-03T21:02:38Z
Open new changelog entry.
Gbp-Dch: ignore
-
553b27d0
by Felix Lechner
at 2019-12-03T21:20:42Z
Adapt interactive test calibration to separate specifictions for building and evaluating test packages.
Corrects some paths that have changed.
Gbp-Dch: ignore
-
626215c1
by Felix Lechner
at 2019-12-03T21:21:11Z
Add new tag for tab-in-license-text; tab character in d/copyright.
As requested in Bug#946026.
Gbp-Dch: ignore
-
3c27367d
by Felix Lechner
at 2019-12-03T21:21:42Z
Issue new tag tab-in-licence-text in check debian/copyright. (Closes #946026)
This does not address all fields that could contain the disallowed tab
character, but only long license fields. According this comment, that
is the most common issue:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=946026#15
The copyright field may also be prone to having tab characters.
Please re-open the bug if that should be addressed also.
-
04058985
by Felix Lechner
at 2019-12-03T21:25:26Z
Provide a test for new tag tab-in-license-text.
Gbp-Dch: ignore
-
6fbc0efc
by Felix Lechner
at 2019-12-05T02:00:59Z
Switch templates for tests to newer debhelper-compat in d/control instead of d/compat.
-
9c113b54
by Felix Lechner
at 2019-12-05T02:01:09Z
Modify tests to build with new templates using debhelper-compat (=X) instead of d/compat.
For some tests, the old mechanism had to be devolved into the
respected test specification. That was primarily necessary for all
levels under 9, the lowest level for which the new debhelper-compat
notation is currently supported.
Gbp-Dch: ignore
-
de3bc324
by Felix Lechner
at 2019-12-05T02:01:32Z
Remove expected tags 'uses-debhelper-compat-file' that no longer appear due to new templates.
Gbp-Dch: ignore
-
19cf097e
by Felix Lechner
at 2019-12-05T02:01:37Z
Adjust literal tests for use of debhelper-compat in templates.
Removes more of the tags 'uses-debhelper-compat-file' from the
expected output for literal tests.
Gbp-Dch: ignore
-
2a69ae7c
by Felix Lechner
at 2019-12-05T02:01:51Z
Add newly appeared tags for two tests that do not build on Gitlab.
These tags disappeared at one point because the author downgraded from
testing to stable and did not reinstall the prerequisites needed to
build these test packages. They do not normally build on Salsa.
Gbp-Dch: ignore
-
688f4f30
by Felix Lechner
at 2019-12-05T17:34:50Z
Add tag 'incorrect-packaging-filename'.
Alerts to packaging files that are misnamed. Will help close
Bug#946126.
-
354b47d0
by Felix Lechner
at 2019-12-05T17:35:06Z
Add tag 'duplicate-packaging-file'.
Alerts to files that exist in both valid and invalid locations. Will
help close Bug#946126.
-
ae38f4d7
by Felix Lechner
at 2019-12-05T17:35:06Z
Add check for incorrect filenames among packaging files. (Closes: #946126)
-
58800b86
by Felix Lechner
at 2019-12-05T17:35:06Z
Update profiles to include new check.
Gbp-Dch: ignore
-
c9b69201
by Felix Lechner
at 2019-12-05T17:35:06Z
Provide two tests for new check 'debian/filenames'.
Gbp-Dch: ignore
-
91a3232b
by Felix Lechner
at 2019-12-05T21:12:50Z
Fix test selection t/bin/runtests, which broke after specifications for building and evaluation were split.
Gbp-Dch: ignore
-
c980915d
by Felix Lechner
at 2019-12-05T22:12:34Z
Fix Gitlab runner following the separation of test specifications for building and evaluation.
An improved rebuild logic should bring a reduction in cache
invalidations in the Gitlab runner. Despite the affirmative commit
title, this is an attempt.
>From now on, only toolchain changes or updated prerequisites (but not
updated test specifications or templates) should invalidate stored
artifacts. Otherwise, test packages can be carried from one run to the
next. As a result, t/bin/build-test-packages should run more regularly
to update the cached test packages.
For more information, please see:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=935907#30
In the recent past, the Gitlab runner may not have been working
optimally. It seemed to rebuild more often than needed.
This commit is untested.
Gbp-Dch: ignore
-
54e2611c
by Felix Lechner
at 2019-12-05T22:57:31Z
Add TODO to the list of files often misnamed in ./debian packaging code.
As a follow-up to Bug#946126 per discussion there.
-
86f99503
by Felix Lechner
at 2019-12-05T23:40:42Z
Untar cached artifact before trying to update it.
Commit c980915d did not work as intended. Attempt to fix.
Gbp-Dch: ignore
-
d6fe1e54
by Felix Lechner
at 2019-12-06T00:12:26Z
Also look for misnamed files with lowercase 'd', as in NEWS.debian.
-
4c92c72c
by Felix Lechner
at 2019-12-06T00:40:50Z
In Gitlab runner, get prerequisites early; tar xJ fails for lack of xz-utils.
Gbp-Dch: ignore
-
83520a7f
by Felix Lechner
at 2019-12-06T03:25:53Z
In Gitlab runner, clean up obsolete artifacts; show cache contents.
Gbp-Dch: ignore
-
0087334f
by Felix Lechner
at 2019-12-06T04:15:31Z
In Gitlab runner, remove old-style artifacts (without pipeline in name) instead of just showing them.
Gbp-Dch: ignore
-
ec61ea78
by Felix Lechner
at 2019-12-06T18:59:25Z
Add XML::LibXML to runtime prerequisites; remove XML::Simple.
While resolving Bug#926543, a decision was made to replace XML::Simple
in Lintian. The problem was caused by a backend in LibXML, but
XML::Simple has additional drawbacks related to the safety of its data
structures and did not offer access to the 'no_network' option.
A ticket was filed under RT#8046 to also add the new runtime
prerequisite on lindsay.d.o.
More information may be available at the Debian bug above or at:
https://rt.cpan.org/Public/Bug/Display.html?id=131145
XML::Simple was removed as a prerequisite in d/control, but not on
lintian.d.o. That will happen later.
-
9d580d44
by Felix Lechner
at 2019-12-06T18:59:33Z
Do not access network when validating XML files. (Closes: #926543)
This bug was caused by XML::LibXML::SAX::Parser. Apparently, a
breaking change led to unsuccessful network access. It did not even
work on a desktop machine.
The solution was to replace XML::Simple with XML::LibXML while using
its option 'no_network'.
More information is available at the Debian bug above and at:
https://rt.cpan.org/Public/Bug/Display.html?id=131145
The issue ultimately prompted the replacement of XML::Simple with
XML::LibXML throughout Lintian.
-
027a6487
by Felix Lechner
at 2019-12-06T18:59:33Z
Replace XML::Simple with XML::LibXML in check appstream-metadata.
While resolving Bug#926543, a decision was made to replace XML::Simple
in Lintian. The problem was caused by a backend in LibXML, but
XML::Simple has additional drawbacks related to the safety of its data
structures and did not offer access to the 'no_network' option.
Gbp-Dch: ignore
-
43c29acb
by Felix Lechner
at 2019-12-06T21:13:49Z
Allow long field for Package-List; mentioned in Bug#942493.
-
0e67a25a
by Felix Lechner
at 2019-12-06T23:44:41Z
For d/copyright, take files from unpatched orig_index when outside ./debian. (Closes: #844274)
Rewrites the check for d/copyright such that files outside ./debian
are matched from the unpatched orig_index, while files inside ./debian
are taken from the patched index.
As a result, directories that mentioned in d/copyright but emptied by
patches do not raise 'wildcard-matches-nothing-in-dep5-copyright'. In
many cases, it will avoid a 'unused-file-paragraph-in-dep5-copyright',
as well.
The next commit contains a false positive test case that was used to
verify the basic functionality of the change.
-
92c499e9
by Felix Lechner
at 2019-12-06T23:50:34Z
Provide test case with directory emptied by a patch but mentioned in d/copyright.
This false positive was used to solve Bug#844274 in the previous
commit.
Gbp-Dch: ignore
-
2347a797
by Felix Lechner
at 2019-12-06T23:56:50Z
Show cache listing before attempting to extract saved tarball.
Somehow the tarball is not being found.
Gbp-Dch: ignore
-
2435733c
by Felix Lechner
at 2019-12-07T00:52:28Z
Calculate checksum for cache files before installing the build prerequisites.
The function to calculate the checksum seems to depend on the packages
not being installed. Restores that order.
Gbp-Dch: ignore
-
4115caf9
by Chris Lamb
at 2019-12-07T09:58:17Z
Drop unused List::MoreUtils "any" import.
-
85be202e
by Chris Lamb
at 2019-12-07T09:58:17Z
Move exceptions to field-to-long to a list.
-
d5c478ef
by Felix Lechner
at 2019-12-07T13:28:41Z
Add new classification tag 'debian-watch-file-version' to show uscan standard being used.
Prompted by Bug#542713.
Gbp-Dch: ignore
-
97120d0c
by Felix Lechner
at 2019-12-07T13:28:41Z
Issue classification tag for uscan/watch standard used. (Closes: #542713)
None of the declared versions are current considered deprecated, so a
warning is inappropriate. (There already is a warning if no version
was declared.) Provides a classification tag for statistics.
-
bedc47dd
by Felix Lechner
at 2019-12-07T13:37:22Z
Provide test case for classification of watch file standard.
Prompted by Bug#542713.
Gbp-Dch: ignore
-
cdbaf1e1
by Felix Lechner
at 2019-12-07T19:09:02Z
Add two new tags for image files with unusual names.
In response to Bug#717818.
-
12b81f00
by Felix Lechner
at 2019-12-07T19:15:58Z
In new check, point out image files with unrelated or conflicting names. (Closes: #717818)
Issues tags when an image's file name does not match what is expected
for a particular format. If the file name suggests another format and
is therefore misleading, the severity is a little bit higher.
-
a3b01777
by Felix Lechner
at 2019-12-07T19:16:24Z
Update profiles to add check for image names.
Gbp-Dch: ignore
-
beaf3a5d
by Felix Lechner
at 2019-12-07T19:16:55Z
Provide test cases with image files that have unexpected or misleading names.
In response to Bug#717818.
Gbp-Dch: ignore
-
1191c092
by Paul Wise
at 2019-12-08T05:31:35Z
spelling: Add several corrections
-
d438eb39
by Felix Lechner
at 2019-12-08T18:20:49Z
Button down scary Perl conincidence in check image-names.
The correct expressions must be preceded by '$_[0] =~'. The present
code apparently only works because $_ is set to $file->name elsewhere.
Adds the missing expressions to reduce chance of breakage in the
future.
As an illustration, this does not work:
use 5.010;
use strict;
my @matchers = (
sub { /png$/ },
sub { /jpg$/ },
);
for my $f (qw/foo.png bar.jpg foo.bmp/) {
for my $s (@matchers) {
say "$f is matching" if $s->($f)
}
}
Thanks to DaTa from #perl-help for pointing it out!
Gbp-Dch: ignore
-
598c3763
by Felix Lechner
at 2019-12-08T19:19:29Z
Add a new tag gratuitous-manpage to indicate a manpage without an executable.
The severity minor is the lowest setting to trigger a warning. That
way, most people (including the reporter for Bug#583125) are still
alerted to extra manpages.
Added in response to Bug#583125.
Gbp-Dch: ignore
-
20834ac5
by Felix Lechner
at 2019-12-08T19:20:05Z
Issue new tag gratuitous-manpage when a manpage is not accompanied by an executable. (Closes: #583125)
For now, the tag is issued only for sections 1 (general commands) and
8 (system administration). The other sections look more complicated.
Perhaps section 6 (games) could be added here.
All existing tests for manpages were adjusted except for one. The test
manpages-dependencies ships a manpage in a package called pecho-data.
In that case, the tag was added as expected.
It is unclear how common it is to ship manpages in a separate -data
package. Policy 12.1 clearly discourages it. I struggled with that
question, and then decided to implement the tag.
I was further unsure about the proper severity. The current setting,
minor, is the lowest setting to trigger a warning. That way, most
people (including the reporter for Bug#583125) are still alerted to
extra manpages.
-
cc1fc075
by Felix Lechner
at 2019-12-08T19:20:05Z
Provide test case with manpages that do not come with executables.
In response to Bug#583125.
Gbp-Dch: ignore
-
d08dccfe
by Felix Lechner
at 2019-12-08T19:20:05Z
Fix existing test cases; many did not install executables and triggered new tag gratuitous-manpage.
All tests now install executables, except for manpages-dependencies.
In that test, the new tag was added as expected because the manpage
ships in a separate -data package. According to policy 12.1, such
splitting of manpage and executable is discouraged.
These changes were made in response to Bug#583125.
Gbp-Dch: ignore
-
bc72fd36
by Felix Lechner
at 2019-12-08T21:55:04Z
Rename tag to manpage-without-executable from gratuitous-manpage.
After some discussion, it was determined to be a better name.
-
bd41058b
by Felix Lechner
at 2019-12-08T22:01:40Z
Adjust tests for renamed tag manpage-without-executable.
Gbp-Dch: ignore
-
80b34102
by Felix Lechner
at 2019-12-08T22:46:44Z
Remove references to obsolete PEAR module IPv4.php. (Closes: #935609)
According to lintian.d.o, no packages currently use the IPv4 module,
although a total of 42 packages provoke the tag for embedding other
obsolete PEAR modules (and 6 override it). The module can be removed
from the list.
While the bug reporter's point about references to obsolete modules is
well taken, the presented scenario raises the question, why was he
embedding it in the first place? At the same time, further embedding
seems unlikely, as the module is considered obsolete upstream.
Also, anyone who really needs the module ostensibly should have the
right to embed it without nuisance since it is no longer available
from the archive.
-
2ad2d898
by Felix Lechner
at 2019-12-08T22:53:17Z
Adjust tests after dropping IPv4.php from list of obsolete PEAR modules.
Prompted by #935609.
Gbp-Dch: ignore
-
afb4535d
by Felix Lechner
at 2019-12-09T00:11:39Z
Adjust test for new locations of obsolete DES routines in glibc >= 2.29-5.
This may fix the build failure in the Gitlab pipeline for unstable. A
recent upload of glibc made it even harder to find the symbol and link
to it. That caused the test binaries-obsolete-des to FTBFS.
More information may be available at:
https://lists.debian.org/debian-lint-maint/2019/12/msg00081.html
https://lists.debian.org/debian-glibc/2019/12/msg00021.html
Thanks to Aurelien Jarno for suggesting the changes!
According to the control file for glibc 2.29-5, libc6-dev depends on
libcrypt1-dev. No extra build prerequisites were added to the test.
-
e580062f
by Felix Lechner
at 2019-12-09T02:05:54Z
Eliminate a NULL in cachefilesd after failing to parse changelog version.
This probably affects several other packages, as well. I had used the
NULL to indicate that Collect::Source->changeloge_version was unable
to parse the version, but like so often that was a bad idea.
Provides sane and reasonable default values for version components and
also returns a valid, although not necessary meaningful, object of type
Inspect::Changelog::Version when failing to parse a changelog version.
Gbp-Dch: ignore
-
5d434375
by Chris Lamb
at 2019-12-09T11:24:05Z
Release lintian/2.41.0 into unstable.
-
2658aac2
by Chris Lamb
at 2019-12-19T10:55:12Z
Merge tag '2.41.0' into buster-backports
Release lintian/2.41.0 into unstable.
Format: 1.8
Date: Mon, 09 Dec 2019 11:24:05 +0000
Source: lintian
Architecture: source
Version: 2.41.0
Distribution: unstable
Urgency: medium
Maintainer: Debian Lintian Maintainers <lintian-maint@debian.org>
Changed-By: Chris Lamb <lamby@debian.org>
Closes: 542713 583125 717818 844274 926543 935609 946026 946126
Changes:
lintian (2.41.0) unstable; urgency=medium
.
[ Felix Lechner ]
* Check for tab characters in debian/copyright files. (Closes: #946026)
* Add checks for incorrect/duplicate filenames amongst packaging files,
including files called "TODO" and potentially-misnamed files with
lowercase "debian" (eg. "NEWS.debian"). (Closes: #946126)
* Do not access network when validating XML files by adding XML::LibXML
as a binary dependency and removing XML::Simple. (Closes: #926543)
* When analysing debian/copyright, take files from the unpatched
"orig_index" tree to prevent false-positives with respect to
wildcard-matches-nothing-in-dep5-copyright. (Closes: #844274)
* Warn about out image files with unrelated or conflicting names.
(Closes: #717818)
* Issue a classification tag for the specific uscan(1) standard version
in use. (Closes: #542713)
* Warn with manpage-without-executable when a manpage is not accompanied by
an executable in, for example, /usr/bin. (Closes: #583125)
* Remove references to the obsolete IPv4.php PEAR module. (Closes: #935609)
* Switch templates for tests to use the debhelper-compat virtual package
instead of debian/compat.
* Allow long values for the Package-List field.
* Adjust a test for the new locations of obsolete DES routines in
glibc >= 2.29-5.
.
[ Chris Lamb ]
* Move field-to-long exceptions to a list.
* Drop an unused List::MoreUtils "any" import.
.
[ Paul Wise ]
* Add several spelling corrections.
Checksums-Sha1:
ae7a57d8e26ab0eac599f6ee7f0d7ee06cc1c148 3189 lintian_2.41.0.dsc
7d89d359ab209c117ed05df9d7ba8be9c3b7185b 1853544 lintian_2.41.0.tar.xz
d3c4ff4edc245f2e5ac4e28fac2100e77f3905b7 16182 lintian_2.41.0_amd64.buildinfo
Checksums-Sha256:
4ce7964bd96dca35b55a3ad122196f384e4da7b6a92f447c39694c6698a1c3a0 3189 lintian_2.41.0.dsc
83f6923b85064c05eff47e06b013fa4267282441e95828a869827b75995e4347 1853544 lintian_2.41.0.tar.xz
33d847620bedc53e9df6a265822eacf98cabda0a29246d8ddc34c099f613bf2f 16182 lintian_2.41.0_amd64.buildinfo
Files:
69a74cf06a76420d455cfccdbb220d62 3189 devel optional lintian_2.41.0.dsc
8b89c308bf8a8737ab3b48ed0651bdca 1853544 devel optional lintian_2.41.0.tar.xz
591e134c15d0733feb523f729fb6eca0 16182 devel optional lintian_2.41.0_amd64.buildinfo
* tag '2.41.0': (53 commits)
Release lintian/2.41.0 into unstable.
Eliminate a NULL in cachefilesd after failing to parse changelog version.
Adjust test for new locations of obsolete DES routines in glibc >= 2.29-5.
Adjust tests after dropping IPv4.php from list of obsolete PEAR modules.
Remove references to obsolete PEAR module IPv4.php. (Closes: #935609)
Adjust tests for renamed tag manpage-without-executable.
Rename tag to manpage-without-executable from gratuitous-manpage.
Fix existing test cases; many did not install executables and triggered new tag gratuitous-manpage.
Provide test case with manpages that do not come with executables.
Issue new tag gratuitous-manpage when a manpage is not accompanied by an executable. (Closes: #583125)
Add a new tag gratuitous-manpage to indicate a manpage without an executable.
Button down scary Perl conincidence in check image-names.
spelling: Add several corrections
Provide test cases with image files that have unexpected or misleading names.
Update profiles to add check for image names.
In new check, point out image files with unrelated or conflicting names. (Closes: #717818)
Add two new tags for image files with unusual names.
Provide test case for classification of watch file standard.
Issue classification tag for uscan/watch standard used. (Closes: #542713)
Add new classification tag 'debian-watch-file-version' to show uscan standard being used.
...
-
5554aa5f
by Chris Lamb
at 2019-12-19T10:56:37Z
Rebuild for buster-backports.