[SCM] Debian package checker branch, master, updated. 1.24.2-2-ge8e121a
The following commit has been merged in the master branch: commit e8e121a0fc9c553d187f3c938d516a4199451b77 Author: Adam D. Barratt [EMAIL PROTECTED] Date: Fri Jul 18 07:01:11 2008 +0100 Add more useful information to no-symbols-control-file's description * checks/shared-libs.desc: + [ADB] Improve the description of no-symbols-control-file. diff --git a/checks/shared-libs.desc b/checks/shared-libs.desc index df27cb7..534cbf5 100644 --- a/checks/shared-libs.desc +++ b/checks/shared-libs.desc @@ -247,6 +247,11 @@ Tag: no-symbols-control-file Type: info Info: Although the package includes a shared library, the package does not have a symbols control file. + . + dpkg can use symbols files in order to generate more accurate library + dependencies for applications, based on the symbols from the library that + are actually used by the application. +Ref: dpkg-gensymbols(1) Tag: pkg-has-symbols-control-file-but-no-shared-libs Type: error diff --git a/debian/changelog b/debian/changelog index 746de01..9e440d1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ lintian (1.24.3) unstable; urgency=low * checks/debconf: + [ADB] Don't complain about unused debconf templates in udebs. (Closes: #491135) + * checks/shared-libs.desc: ++ [ADB] Improve the description of no-symbols-control-file. -- -- Debian package checker -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
[SCM] Debian package checker branch, master, updated. 1.24.2-3-gd44bcc4
The following commit has been merged in the master branch: commit d44bcc467394d2be6f5c5ef102b7b02985b0ce24 Author: Chris Lamb [EMAIL PROTECTED] Date: Thu Jul 17 23:16:57 2008 -0700 Don't warn about a synopsis that ends in etc. * checks/description: + [RA] Don't warn about a synopsis that ends in etc. Patch from Chris Lamb. (Closes: #491252) diff --git a/checks/description b/checks/description index 9fc049d..1d0396f 100644 --- a/checks/description +++ b/checks/description @@ -62,7 +62,7 @@ if ($synopsis =~ m/^\s*$/) { if ($synopsis =~ m/^\s*$ppkg\b/i) { tag description-starts-with-package-name, ; } -if ($synopsis =~ m/\.\s*$/) { +if ($synopsis =~ m/(?!etc)\.\s*$/i) { tag description-synopsis-might-not-be-phrased-properly, ; } if ($synopsis =~ m/\t/) { diff --git a/debian/changelog b/debian/changelog index 9e440d1..d97daea 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,9 @@ lintian (1.24.3) unstable; urgency=low * checks/debconf: + [ADB] Don't complain about unused debconf templates in udebs. (Closes: #491135) + * checks/description: ++ [RA] Don't warn about a synopsis that ends in etc. Patch from + Chris Lamb. (Closes: #491252) * checks/shared-libs.desc: + [ADB] Improve the description of no-symbols-control-file. diff --git a/testset/description/debian/control b/testset/description/debian/control index 0a88f05..1ecf5a6 100644 --- a/testset/description/debian/control +++ b/testset/description/debian/control @@ -42,3 +42,8 @@ Package: description-baz Architecture: all Description:the synopsis starts with spaces This is a real Lintian bug which has been discovered with this testset. + +Package: description-qux +Architecture: all +Description: This description ends, etc. + This is a real Lintian bug which has been discovered with this testset. diff --git a/testset/description/debian/rules b/testset/description/debian/rules index 855170c..0392a92 100755 --- a/testset/description/debian/rules +++ b/testset/description/debian/rules @@ -4,6 +4,7 @@ description=debian/description description-foo=debian/description-foo description-bar=debian/description-bar description-baz=debian/description-baz +description-qux=debian/description-qux build: @@ -48,10 +49,19 @@ binary-indep: dpkg-gencontrol -pdescription-baz -P$(description-baz) dpkg --build $(description-baz) .. + # Create package description-qux + install -d $(description-qux) + install -d $(description-qux)/DEBIAN + install -d $(description-qux)/usr/share/doc/description + install -m 644 debian/changelog \ + $(description-qux)/usr/share/doc/description/changelog.Debian + gzip -9 $(description-qux)/usr/share/doc/description/changelog.Debian + dpkg-gencontrol -pdescription-qux -P$(description-qux) + dpkg --build $(description-qux) .. binary: binary-indep clean: rm -rf debian/files $(description) $(description-foo) \ - $(description-bar) $(description-baz) debian/substvars + $(description-bar) $(description-baz) $(description-qux) debian/substvars .PHONY: build binary-indep binary clean diff --git a/testset/tags.description b/testset/tags.description index 150012a..0d0c0fc 100644 --- a/testset/tags.description +++ b/testset/tags.description @@ -6,6 +6,7 @@ E: description-baz: no-copyright-file E: description-foo: description-contains-tabs E: description-foo: description-too-long E: description-foo: no-copyright-file +E: description-qux: no-copyright-file E: description: description-contains-invalid-control-statement E: description: description-contains-tabs E: description: description-is-debmake-template @@ -14,6 +15,7 @@ E: description: no-copyright-file I: description-bar: no-md5sums-control-file I: description-baz: no-md5sums-control-file I: description-foo: no-md5sums-control-file +I: description-qux: no-md5sums-control-file I: description: no-md5sums-control-file W: description source: native-package-with-dash-version W: description-bar: extended-description-line-too-long -- Debian package checker -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#491252: description-synopsis-might-not-be-phrased-properly should not be triggered with etc.
Chris Lamb [EMAIL PROTECTED] writes: description-synopsis-might-not-be-phrased-properly should probably not be triggered when description ends with etc.. For example: GUI frontend to create Debian LiveCDs, netboot images, etc. The period in etc. is required, even though I am not actually intending to end the sentence. Thanks, applied. -- Russ Allbery ([EMAIL PROTECTED]) http://www.eyrie.org/~eagle/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Processed: tagging 491252
Processing commands for [EMAIL PROTECTED]: # Automatically generated email from bts, devscripts version 2.10.33 tags 491252 pending Bug#491252: description-synopsis-might-not-be-phrased-properly should not be triggered with etc. Tags were: patch Tags added: pending End of message, stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#491296: lintian: 1.24.2 makes a *lot* of noise
Package: lintian Version: 1.24.2 Severity: serious $ lintian ../xorg-server_1.4.2-2_i386.changes |wc -l 1438 This is just not bearable. I get one warning for every Makefile.in in the package (see #471263), and one for every line deemed too long in debian/copyright for every binary package. Please turn the noise down, at least by default. TIA, Julien -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.25-2-686 (SMP w/2 CPU cores) Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages lintian depends on: ii binutils2.18.1~cvs20080103-7 The GNU assembler, linker and bina ii diffstat1.45-2 produces graph of changes introduc ii dpkg-dev1.14.20 Debian package development tools ii file4.25-1 Determines file type using magic ii gettext 0.17-3 GNU Internationalization utilities ii intltool-debian 0.35.0+20060710.1Help i18n of RFC822 compliant conf ii libparse-debianchan 1.1.1-2 parse Debian changelogs and output ii libtimedate-perl1.1600-9 Time and date functions for Perl ii liburi-perl 1.35.dfsg.1-1Manipulates and accesses URI strin ii man-db 2.5.2-2 on-line manual pager ii perl [libdigest-sha 5.10.0-11.1 Larry Wall's Practical Extraction lintian recommends no packages. Versions of packages lintian suggests: pn binutils-multiarchnone (no description available) ii libtext-template-perl 1.44-1.2 Text::Template perl module ii man-db2.5.2-2on-line manual pager -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#491302: lintian: exclude Format-Specification from the copyright-line-too-long check
Package: lintian Version: 1.24.2 Severity: normal Tags: patch The machine-readable copyright format includes a Format-Specification header line that, for the present, usually points at the Wiki page for the proposal. However, most people (including me) reference a specific version of the Wiki proposal page by using a URL like: http://wiki.debian.org/Proposals/CopyrightFormat?recall=184 This, combined with the Format-Specification: in front, is virtually guaranteed to make lintian warn about a copyright line too long :) Attached is a patch that matches the lines read from the copyright file against the Format-Specification: proposal-url pattern and excludes any lines that start like this. -- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (990, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.18-4-686 (SMP w/1 CPU core) Locale: LANG=bg_BG.CP1251, LC_CTYPE=bg_BG.CP1251 (charmap=CP1251) Shell: /bin/sh linked to /bin/bash Versions of packages lintian depends on: ii binutils2.18.1~cvs20080103-7 The GNU assembler, linker and bina ii diffstat1.45-2 produces graph of changes introduc ii dpkg-dev1.14.20 Debian package development tools ii file4.24-4 Determines file type using magic ii gettext 0.17-3 GNU Internationalization utilities ii intltool-debian 0.35.0+20060710.1Help i18n of RFC822 compliant conf ii libdigest-sha-perl 5.47-1 Perl extension for SHA-1/224/256/3 ii libparse-debianchan 1.1.1-2 parse Debian changelogs and output ii libtimedate-perl1.1600-9 Time and date functions for Perl ii liburi-perl 1.35.dfsg.1-1Manipulates and accesses URI strin ii man-db 2.5.2-1 on-line manual pager ii perl [libdigest-sha 5.10.0-11Larry Wall's Practical Extraction lintian recommends no packages. -- no debconf information Index: checks/copyright-file === --- checks/copyright-file (revision 2491) +++ checks/copyright-file (revision 2492) @@ -155,7 +155,8 @@ # matter for the length check. my @lines = split (\n, decode ('utf-8', $_)); for my $i (0 .. $#lines) { -if (length ($lines[$i]) 80) { +if (length ($lines[$i]) 80 + $lines[$i] !~ m{^Format-Specification:\s*http://wiki.debian.org/Proposals/CopyrightFormat}) { tag debian-copyright-line-too-long, line . ($i+1); } } Index: testset/copyright/debian/copyright.no-errors === --- testset/copyright/debian/copyright.no-errors (revision 2491) +++ testset/copyright/debian/copyright.no-errors (revision 2492) @@ -3,6 +3,8 @@ It was downloaded from http://www.example.org/ +Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat?recall=184 + Upstream Authors: Tobias Toedter [EMAIL PROTECTED] pgpDj08hJLVTr.pgp Description: PGP signature
GSoC status: classification, output format and more
I have not been explaining much about the Lintian GSoC project. In the following paragraphs I'll try to summarize how it is coming along, as well as what are the current issues and future directions. Tag classification -- So far, more than 50% of all the tags in checks/*.desc have been classified using Severity and Certainty headers. Even though I have been following the descriptions[1] and have checked the documentation (policy, devref, etc.), this initial classification isn't necessarily perfect. In some cases it isn't that clear what is the most appropriate value, which has led me to be influenced by other factors (such as the value of Type, the wording of the description, or the number of tagged/overridden packages). Also, I have tried to be consistent between tags of the same check, but there may be some inconsistencies between tags of different checks. In order to have an idea of how Severity and Certainty values are distributed, there is a script (`private/transtats') that displays some stats. See the simplified output below or here[2], or a more detailed output here[3]. New output format - Displaying the new information provided by Severity/Certainty headers requires a new output format. Implementing new formats isn't that difficult, as they're almost pluggable, but deciding what to show (and how) is more problematic and requires some consensus. The current format uses a one-letter code to differentiate kinds of tags, so a possible solution that has already been suggested[4] is using a two-letter code. This solution could work to generate long lintian reports, but it isn't very human readable. Example output: MW: package: no-upstream-changelog IP: package: binary-with-bad-dynamic-table extra-info NP: package: changelog-news-debian-mismatch extra-info SC: package: debian-changelog-file-missing Another experimental format that was already available in lintian[5] is using qualifiers for significance (!/ /?/??) combined with a one-letter code for severity (E/W/I). This could be easily mapped to the new classification: | | C | P | W | |---|||| | S | S! | S | S? | | I | I! | I | I? | | N | N! | N | N? | | M | M! | M | M? | | W | W! | W | W? | M?: package: no-upstream-changelog I : package: binary-with-bad-dynamic-table extra-info N : package: changelog-news-debian-mismatch extra-info S!: package: debian-changelog-file-missing It is probably an improvement over the previous format in terms of readability, but this direct mapping can be misleading if it leads people to focus on the qualifier only. Another option would be to use less accurate mappings, but based on overall relevance, where the qualifier is a function of both certainty and severity: | | C | P | W | | | C | P | W | |---|||| |---|||| | S | S! | S! | S | | S | S! | S! | S | | I | I! | I | I | | I | I! | I! | I | | N | N! | N | N? | | N | N! | N | N? | | M | M | M | M? | | M | M | M? | M? | | W | W | W? | W? | | W | W | W? | W? | A format based only on symbols should also be possible, but it would make lines slightly larger and not necessarily more understandable: ·· package: no-upstream-changelog package: binary-with-bad-dynamic-table extra-info --- package: changelog-news-debian-mismatch extra-info + package: debian-changelog-file-missing There aren't a lot more options if keeping exactly one line per tag is important. But perhaps it would be interesting to have some kind of --human-readable output for maintainers that only want to check a small number of packages. This includes more than one possible variant: minor, wild-guess: no-upstream-changelog * package binary-with-bad-dynamic-table [important, possible] * package: extra-info normal: changelog-news-debian-mismatch [possible] * package: extra-info It should also be possible to reorganize the output, but that would require displaying everything at the end instead of printing tags as they're found. serious: debian-changelog-file-missing [certain] * package1: dpatch * package2: dpatch Backwards compatibility --- With only ~54% of tags classified, it is still soon to define a mapping to the old E/W/I classification. But I have been a bit conservative with the new classification, and a simple mapping like the one in the table below would classify most tags correctly (the frontier between error and warning wouldn't be that meaningful, but the tags displayed with and without -I would be almost the same). - | | C | P | W | |---|---|---|---| | S | E | E | E | | I | E | E | W | | N | W | W | W | | M | W | I | I | | W | I | I | I | - As soon as more tags are
Processed: tagging 471263
Processing commands for [EMAIL PROTECTED]: # Automatically generated email from bts, devscripts version 2.10.33 tags 471263 wontfix Bug#471263: [patch-systems]: please no patch-system-but-direct-changes-in-diff for generated files There were no tags set. Tags added: wontfix End of message, stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#491296: lintian: 1.24.2 makes a *lot* of noise
severity 491296 normal thanks Julien Cristau [EMAIL PROTECTED] writes: Package: lintian Version: 1.24.2 Severity: serious Um, no. $ lintian ../xorg-server_1.4.2-2_i386.changes |wc -l 1438 A fair chunk of that with 1.4.2-1 at least is: E: xserver-xorg-core: unstripped-binary-or-object ./usr/lib/xorg/modules/extensions/libGLcore.so Is Lintian wrong about this? Do those files need to be left unstripped for some reason? This is just not bearable. I get one warning for every Makefile.in in the package (see #471263), I believe this is a bug in the package which you should fix and Lintian is correct. (This is particularly the case with the 3.0 format, where those changes will end up as a monster patch combined with any other changes made directly in the package.) I'll be more explicit about that now and tag 471263 as wontfix; there are some edge cases for which we may change Lintian's behavior, but the basic point of not having the autotools regeneration diff outside the patch system is a place where I don't think Lintian should change. and one for every line deemed too long in debian/copyright for every binary package. Please turn the noise down, at least by default. Why don't you just rewrap the license that you currently have wrapped at 90 columns? I may be missing something, but it really is looking like you're complaining that Lintian is noisy when run on a buggy package, rather than just fixing the (minor) bugs that it's detecting. -- Russ Allbery ([EMAIL PROTECTED]) http://www.eyrie.org/~eagle/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Processed: Re: Bug#491296: lintian: 1.24.2 makes a *lot* of noise
Processing commands for [EMAIL PROTECTED]: severity 491296 normal Bug#491296: lintian: 1.24.2 makes a *lot* of noise Severity set to `normal' from `serious' thanks Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#491296: lintian: 1.24.2 makes a *lot* of noise
On Fri, Jul 18, 2008 at 09:47:14 -0700, Russ Allbery wrote: $ lintian ../xorg-server_1.4.2-2_i386.changes |wc -l 1438 A fair chunk of that with 1.4.2-1 at least is: E: xserver-xorg-core: unstripped-binary-or-object ./usr/lib/xorg/modules/extensions/libGLcore.so There are 35 of those. Is Lintian wrong about this? Do those files need to be left unstripped for some reason? No. This comes from stripping rules (strip --strip-debug --remove-section=.note --remove-section=.comment) that I think come from the days of the old xfree86 custom loader, where we couldn't just strip the modules without also making them unusable. I've fixed that in the experimental branch a while ago. This is just not bearable. I get one warning for every Makefile.in in the package (see #471263), I believe this is a bug in the package which you should fix and Lintian is correct. (This is particularly the case with the 3.0 format, where those changes will end up as a monster patch combined with any other changes made directly in the package.) I'll be more explicit about that now and tag 471263 as wontfix; there are some edge cases for which we may change Lintian's behavior, but the basic point of not having the autotools regeneration diff outside the patch system is a place where I don't think Lintian should change. I disagree with this, but that's not really the point. If lintian wants to complain that there are changes outside debian/, then it can do it once. Doing it once for every modified file doesn't bring anything IMO. If I want to know which files are modified I can lsdiff foo.diff.gz myself. and one for every line deemed too long in debian/copyright for every binary package. Please turn the noise down, at least by default. Why don't you just rewrap the license that you currently have wrapped at 90 columns? I may be missing something, but it really is looking like you're complaining that Lintian is noisy when run on a buggy package, rather than just fixing the (minor) bugs that it's detecting. I don't think it's reasonable to output 1000 warnings about this. I wouldn't complain if it was one per package instead of once per line per package. Cheers, Julien -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
[SCM] Debian package checker branch, master, updated. 1.24.2-4-g8f72771
The following commit has been merged in the master branch: commit 8f72771b1b52acc9f4e7504b2f5984df673e071e Author: Peter Pentchev [EMAIL PROTECTED] Date: Fri Jul 18 18:31:52 2008 +0100 Don't flag the machine-readable copyright Format-Specification lines as over-long * checks/copyright: + [ADB] Exclude Format-Specification lines when checking for overly-long lines. Patch from Peter Pentchev. (Closes: #491302) diff --git a/checks/copyright-file b/checks/copyright-file index 3f87743..204641a 100644 --- a/checks/copyright-file +++ b/checks/copyright-file @@ -155,7 +155,8 @@ close(IN); # matter for the length check. my @lines = split (\n, decode ('utf-8', $_)); for my $i (0 .. $#lines) { -if (length ($lines[$i]) 80) { +if (length ($lines[$i]) 80 + $lines[$i] !~ m{^Format-Specification:\s*http://wiki.debian.org/Proposals/CopyrightFormat}) {) { tag debian-copyright-line-too-long, line . ($i+1); } } diff --git a/debian/changelog b/debian/changelog index d97daea..3bd8891 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,8 @@ lintian (1.24.3) unstable; urgency=low + * checks/copyright: ++ [ADB] Exclude Format-Specification lines when checking for overly-long + lines. Patch from Peter Pentchev. (Closes: #491302) * checks/debconf: + [ADB] Don't complain about unused debconf templates in udebs. (Closes: #491135) diff --git a/testset/copyright/debian/copyright.no-errors b/testset/copyright/debian/copyright.no-errors index 95aba66..ac71512 100644 --- a/testset/copyright/debian/copyright.no-errors +++ b/testset/copyright/debian/copyright.no-errors @@ -3,6 +3,8 @@ Thu, 20 Mar 2008 23:48:15 +0100 It was downloaded from http://www.example.org/ +Format-Specification: http://wiki.debian.org/Proposals/CopyrightFormat?recall=184 + Upstream Authors: Tobias Toedter [EMAIL PROTECTED] -- Debian package checker -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#491302: tagging 491302
# Automatically generated email from bts, devscripts version 2.10.33 # Fixed in commit 8f72771b1b52acc9f4e7504b2f5984df673e071e # # * checks/copyright: # + [ADB] Exclude Format-Specification lines when checking for overly-long # lines. Patch from Peter Pentchev. (Closes: #491302) # tags 491302 pending -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Processed: tagging 491302
Processing commands for [EMAIL PROTECTED]: # Automatically generated email from bts, devscripts version 2.10.33 # Fixed in commit 8f72771b1b52acc9f4e7504b2f5984df673e071e # # * checks/copyright: # + [ADB] Exclude Format-Specification lines when checking for overly-long # lines. Patch from Peter Pentchev. (Closes: #491302) # tags 491302 pending Bug#491302: lintian: exclude Format-Specification from the copyright-line-too-long check Tags were: patch Tags added: pending End of message, stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
[SCM] Debian package checker branch, master, updated. 1.24.2-5-ge11635a
The following commit has been merged in the master branch: commit e11635a4ed12c0efa4f0198f581c61022f9d6b4a Author: Adam D. Barratt [EMAIL PROTECTED] Date: Fri Jul 18 18:50:12 2008 +0100 Fix a copy-n-waste error in 8f72771b1b52acc9f4e7504b2f5984df673e071e diff --git a/checks/copyright-file b/checks/copyright-file index 204641a..28cc769 100644 --- a/checks/copyright-file +++ b/checks/copyright-file @@ -156,7 +156,7 @@ close(IN); my @lines = split (\n, decode ('utf-8', $_)); for my $i (0 .. $#lines) { if (length ($lines[$i]) 80 - $lines[$i] !~ m{^Format-Specification:\s*http://wiki.debian.org/Proposals/CopyrightFormat}) {) { + $lines[$i] !~ m{^Format-Specification:\s*http://wiki.debian.org/Proposals/CopyrightFormat}) { tag debian-copyright-line-too-long, line . ($i+1); } } -- Debian package checker -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Ideas wrt debconf templates checks
On Thu, Jul 03, 2008 at 07:03:02AM +0200, Christian Perrier wrote: Some people suggested /me to propose a check for incomplete translations: have lintian warn if one of the files in debian/po is not fully translated. While possible, I think this would have the negative effect that maintainers would be tempted to remove it to make their package lintian clean...which is not what they should do. However, if *all* files are incomplete, it is very likely that the maintainer indeed changed something in the debconf templates and did not care (or did not take time) to send a call for translations. I don't think incomplete translations are a problem, but reminding maintainers if all files are incomplete (or if there are no translations at all) isn't such a bad idea. Though I would make it an info/wishlist tag, not a warning. See attached patch. diff --git a/checks/po-debconf b/checks/po-debconf index fd97f61..371a063 100644 --- a/checks/po-debconf +++ b/checks/po-debconf @@ -28,6 +28,8 @@ sub run { my $pkg = shift; my $type = shift; +my $full_translation = 0; + # First, check wether this package seems to use debconf but not po-debconf. # Read the templates file and look at the template names it provides, since # some shared templates aren't translated. @@ -155,8 +157,15 @@ while (defined(my $file=readdir(DEBIAN))) { unless length($charset); system_env(msgfmt -o /dev/null debfiles/po/$file 2/dev/null) == 0 or tag invalid-po-file, debian/po/$file; + + my $stats = `LANG=C msgfmt -o /dev/null --statistics debfiles/po/$file 21`; + if (!$full_translation $stats =~ m/^\w+ \w+ \w+\.$/) { + $full_translation = 1; + } } +tag no-complete-translation, if !$full_translation; + } 1; diff --git a/checks/po-debconf.desc b/checks/po-debconf.desc index bd14598..1f4b9f8 100644 --- a/checks/po-debconf.desc +++ b/checks/po-debconf.desc @@ -89,3 +89,10 @@ Info: You should not mark as translatable Default: or DefaultChoice: . _Default: English[ Default language name, but not translated] Ref: po-debconf(7) + +Tag: no-complete-translation +Type: info +Info: Even though this package provides translation support, there are no + translations or none of the translations are complete. This may mean that + translators weren't properly warned about the new strings. +Ref: devref 6.5.2.2
[SCM] Debian package checker branch, master, updated. 1.24.2-6-g051f191
The following commit has been merged in the master branch: commit 051f191352cf92586fd768c805dddf54477abb9c Author: Jordà Polo [EMAIL PROTECTED] Date: Fri Jul 18 19:06:39 2008 +0100 Check that po-debconf using packages provide at least one complete translation. * checks/po-debconf{,.desc}: + [ADB] Check that at least one complete translation exists. Thanks Jordà Polo. diff --git a/checks/po-debconf b/checks/po-debconf index fd97f61..371a063 100644 --- a/checks/po-debconf +++ b/checks/po-debconf @@ -28,6 +28,8 @@ sub run { my $pkg = shift; my $type = shift; +my $full_translation = 0; + # First, check wether this package seems to use debconf but not po-debconf. # Read the templates file and look at the template names it provides, since # some shared templates aren't translated. @@ -155,8 +157,15 @@ while (defined(my $file=readdir(DEBIAN))) { unless length($charset); system_env(msgfmt -o /dev/null debfiles/po/$file 2/dev/null) == 0 or tag invalid-po-file, debian/po/$file; + + my $stats = `LANG=C msgfmt -o /dev/null --statistics debfiles/po/$file 21`; + if (!$full_translation $stats =~ m/^\w+ \w+ \w+\.$/) { + $full_translation = 1; + } } +tag no-complete-translation, if !$full_translation; + } 1; diff --git a/checks/po-debconf.desc b/checks/po-debconf.desc index bd14598..fcca263 100644 --- a/checks/po-debconf.desc +++ b/checks/po-debconf.desc @@ -89,3 +89,10 @@ Info: You should not mark as translatable Default: or DefaultChoice: . _Default: English[ Default language name, but not translated] Ref: po-debconf(7) + +Tag: no-complete-translation +Type: info +Info: Even though this package provides translation support, there are no + translations or none of the translations are complete. This may mean that + translators weren't properly warned about new strings. +Ref: devref 6.5.2.2 diff --git a/debian/changelog b/debian/changelog index 3bd8891..f70f209 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,9 @@ lintian (1.24.3) unstable; urgency=low * checks/description: + [RA] Don't warn about a synopsis that ends in etc. Patch from Chris Lamb. (Closes: #491252) + * checks/po-debconf{,.desc}: ++ [ADB] Check that at least one complete translation exists. Thanks Jordà + Polo. * checks/shared-libs.desc: + [ADB] Improve the description of no-symbols-control-file. -- Debian package checker -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Ideas wrt debconf templates checks
On Fri, 2008-07-18 at 19:49 +0200, Jordà Polo wrote: On Thu, Jul 03, 2008 at 07:03:02AM +0200, Christian Perrier wrote: However, if *all* files are incomplete, it is very likely that the maintainer indeed changed something in the debconf templates and did not care (or did not take time) to send a call for translations. I don't think incomplete translations are a problem, but reminding maintainers if all files are incomplete (or if there are no translations at all) isn't such a bad idea. Though I would make it an info/wishlist tag, not a warning. See attached patch. Looks good to me; thanks. I've applied it with one tiny change (removing the the from the final line of the tag description). Regards, Adam -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
[SCM] Debian package checker branch, master, updated. 1.24.2-7-g318e0f5
The following commit has been merged in the master branch: commit 318e0f5122ae0f43ad125373fab7f57acc610b23 Author: Adam D. Barratt [EMAIL PROTECTED] Date: Fri Jul 18 19:16:07 2008 +0100 Update testset for recent debconf-related changes diff --git a/testset/tags.debconf b/testset/tags.debconf index 0400300..941e3e3 100644 --- a/testset/tags.debconf +++ b/testset/tags.debconf @@ -7,6 +7,7 @@ E: debconf-test: no-template-type debconf/language E: debconf-test: unknown-debconf-priority config:10 LOW E: debconf-test: unknown-debconf-priority config:11 normal E: debconf-udeb udeb: udeb-postinst-must-not-call-ldconfig +I: debconf source: no-complete-translation I: debconf source: package-needs-python-policy-debhelper I: debconf-test-noscripts: unused-debconf-template debconf/test I: debconf-test: debconf-error-requires-versioned-depends debconf/error @@ -23,7 +24,6 @@ I: debconf-test: unused-debconf-template debconf/testmulti-escape I: debconf-test: unused-debconf-template debconf/testnote I: debconf-test: unused-debconf-template debconf/teststring I: debconf-test: unused-debconf-template debconf/translate -I: debconf-udeb udeb: unused-debconf-template debian-installer/debconf-udeb/title W: debconf source: debian-rules-calls-debhelper-in-odd-order dh_makeshlibs (line 49) W: debconf source: debian-rules-calls-debhelper-in-odd-order dh_makeshlibs (line 53) W: debconf source: debian-rules-sets-DH_COMPAT line 3 -- Debian package checker -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Usertagging bugs
Hi all, Often when looking at the BTS page for lintian I find it difficult to find a bug to work on without reading the bug reports themselves trying to find out what actually needs to be changed. So what about usertagging the bugs? One way to do it is take the path of the affected file in lintian and =~ s,/,-,g And if it requires some major change then also add another usertag describing that feature. Examples: usertags 376007 + checks-scripts sh-parser usertags 372578 + checks-rules modular-checkbashisms usertags 253012 + checks-scripts modular-checkbashisms usertags 468147 + checks-scripts sh-parser And so on. Cheers, -- Atomo64 - Raphael Please avoid sending me Word, PowerPoint or Excel attachments. See http://www.gnu.org/philosophy/no-word-attachments.html -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#491365: lintian: debian-copyright-line-too-long should honour word boundaries
Package: lintian Version: 1.24.2 Severity: normal The debian-copyright-line-too-long complains about too long lines, even if there's no chance to make the line shorter, as you can't break the word. For example http://foo/bar/fuzz/foo/bar/fuzz/foo/bar/fuzz/foo/bar/fuzz/foo/bar/fuzz/foo/bar/fuzz/boo.html is not possible to write in a different way. So imho the check should be changed to complain only about lines which consist of more than one word. Only lines matching something like (^ *[^ ]+ +[^ ]*) should be checked for their length. The regexp should be enhanced to match all white spaces probably... Thanks, Bernd -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#491365: lintian: debian-copyright-line-too-long should honour word boundaries
Hi, On Fri, 2008-07-18 at 23:32 +0200, Bernd Zeimetz wrote: The debian-copyright-line-too-long complains about too long lines, even if there's no chance to make the line shorter, as you can't break the word. For example http://foo/bar/fuzz/foo/bar/fuzz/foo/bar/fuzz/foo/bar/fuzz/foo/bar/fuzz/foo/bar/fuzz/boo.html is not possible to write in a different way. So imho the check should be changed to complain only about lines which consist of more than one word. Only lines matching something like (^ *[^ ]+ +[^ ]*) should be checked for their length. The regexp should be enhanced to match all white spaces probably... We already do something similar when checking the length of changelog lines, allowing for common line starts; to be precise ^[\s.o*+-]*\S+$. I'll add that to the copyright check as well. Thanks for the suggestion, Adam -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Processed: severity of 491365 is wishlist
Processing commands for [EMAIL PROTECTED]: # Automatically generated email from bts, devscripts version 2.10.34 severity 491365 wishlist Bug#491365: lintian: debian-copyright-line-too-long should honour word boundaries Severity set to `wishlist' from `normal' End of message, stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
[SCM] Debian package checker branch, master, updated. 1.24.2-8-gc9a6d8b
The following commit has been merged in the master branch: commit c9a6d8bb24b820bc2fab19121397f55379e5d2e5 Author: Adam D. Barratt [EMAIL PROTECTED] Date: Fri Jul 18 23:45:32 2008 +0100 Only flag a copyright line as overly long if it contains multiple words. * checks/copyright + [ADB] Don't flag lines only containing one word as overly long. They're likely to be URLs and may not be easily shortenable to under 80 characters. (Closes: #491365) diff --git a/checks/copyright-file b/checks/copyright-file index 28cc769..d5271a4 100644 --- a/checks/copyright-file +++ b/checks/copyright-file @@ -156,6 +156,7 @@ close(IN); my @lines = split (\n, decode ('utf-8', $_)); for my $i (0 .. $#lines) { if (length ($lines[$i]) 80 + $lines[$i] !~ m/^[\s.o*+-]*\S+$/ $lines[$i] !~ m{^Format-Specification:\s*http://wiki.debian.org/Proposals/CopyrightFormat}) { tag debian-copyright-line-too-long, line . ($i+1); } diff --git a/debian/changelog b/debian/changelog index f70f209..baf80f1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,9 @@ lintian (1.24.3) unstable; urgency=low * checks/copyright: + [ADB] Exclude Format-Specification lines when checking for overly-long lines. Patch from Peter Pentchev. (Closes: #491302) ++ [ADB] Don't flag lines only containing one word as overly long. They're + likely to be URLs and may not be easily shortenable to under 80 + characters. (Closes: #491365) * checks/debconf: + [ADB] Don't complain about unused debconf templates in udebs. (Closes: #491135) diff --git a/testset/copyright/debian/copyright.misc-errors b/testset/copyright/debian/copyright.misc-errors index 50c5213..d4cbc95 100644 --- a/testset/copyright/debian/copyright.misc-errors +++ b/testset/copyright/debian/copyright.misc-errors @@ -22,3 +22,5 @@ This line is overly long. It should be less than 80 characters so that it fits n This line isn't too long, but ćōňţăĭņş a number of UTF-8 characters which could make it appear to be if improperly decoded. +The following line is too long, but may not be easily able to be shortened: +http://foo.bar.baz.example.com/foobarmodule/someotherpath/which/is/really/rather/long/ -- Debian package checker -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#491365: tagging 491365
# Automatically generated email from bts, devscripts version 2.10.33 # Fixed in commit c9a6d8bb24b820bc2fab19121397f55379e5d2e5 # # Only flag a copyright line as overly long if it contains multiple words. # # * checks/copyright # + [ADB] Don't flag lines only containing one word as overly long. They're # likely to be URLs and may not be easily shortenable to under 80 # characters. (Closes: #491365) # tags 491365 pending -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Processed: tagging 491365
Processing commands for [EMAIL PROTECTED]: # Automatically generated email from bts, devscripts version 2.10.33 # Fixed in commit c9a6d8bb24b820bc2fab19121397f55379e5d2e5 # # Only flag a copyright line as overly long if it contains multiple words. # # * checks/copyright # + [ADB] Don't flag lines only containing one word as overly long. They're # likely to be URLs and may not be easily shortenable to under 80 # characters. (Closes: #491365) # tags 491365 pending Bug#491365: lintian: debian-copyright-line-too-long should honour word boundaries There were no tags set. Tags added: pending End of message, stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Processed: Re: lintian: please warn about maintscripts with needlessly prefixed paths
Processing commands for [EMAIL PROTECTED]: tag 348620 patch Bug#348620: [checks/rules] Please warn about clean targets which do something before removing the build-stamp There were no tags set. Tags added: patch thanks Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#348620: lintian: please warn about maintscripts with needlessly prefixed paths
tag 348620 patch thanks Hi all, Attached is the patch implementing that check. Cheers, -- Atomo64 - Raphael Please avoid sending me Word, PowerPoint or Excel attachments. See http://www.gnu.org/philosophy/no-word-attachments.html diff --git a/checks/scripts b/checks/scripts index ec826c4..a6b5173 100644 --- a/checks/scripts +++ b/checks/scripts @@ -485,6 +485,7 @@ while (SCRIPTS) { my %warned; my ($saw_init, $saw_invoke, $saw_debconf, $has_code); my $cat_string = ; +my $LEADIN = qr'(?:(?:^|[`;(|{])\s*|(?:if|then|do|while)\s+)'; while (C) { next if m,^\s*$,; # skip empty lines @@ -549,7 +550,6 @@ while (SCRIPTS) { if ($cat_string eq and $checkbashisms and !$within_another_shell) { my $found = 0; my $match = ''; - my $LEADIN = qr'(?:(^|[`;(|{])\s*|(if|then|do|while)\s+)'; my @bashism_single_quote_regexs = ( $LEADIN . qr'echo\s+(?:-[^e\s]+\s+)?\'[^\']*(\\[\\abcEfnrtv0])+.*?[\']', # unsafe echo with backslashes @@ -758,6 +758,9 @@ while (SCRIPTS) { tag maintainer-script-modifies-inetd-conf, $file:$. unless Dep::implies($deps{provides}, Dep::parse('inet-superserver')); } + if (m,^$LEADIN(/(usr/(local/)?)?s?bin/\w+),) { + tag useless-std-path-in-maintainer-script, $file:$. $1; + } # Ancient dpkg feature tests. if (m/^\s*dpkg\s+--assert-support-predepends\b/) { diff --git a/checks/scripts.desc b/checks/scripts.desc index 8d3dced..3026180 100644 --- a/checks/scripts.desc +++ b/checks/scripts.desc @@ -425,6 +425,12 @@ Info: The package calls dpkg --assert-multi-conrep in a maintainer script. This check is obsolete and has always returned true since dpkg 1.4.1.19, released 1999-10-30. +Tag: useless-std-path-in-maintainer-script +Type: warning +Ref: policy 6.1 +Info: The script runs an executable which has a, useless, path that is + included in the default $PATH. + Tag: maintainer-script-modifies-php.ini Type: warning Ref: http://wiki.debian.org/PHP diff --git a/testset/maintainer-scripts/debian/preinst b/testset/maintainer-scripts/debian/preinst index 01f0fee..bb97763 100644 --- a/testset/maintainer-scripts/debian/preinst +++ b/testset/maintainer-scripts/debian/preinst @@ -8,3 +8,5 @@ dpkg --assert-support-predepends || exit 1 dpkg --assert-working-epoch || exit 1 dpkg --assert-long-filenames || exit 1 dpkg --assert-multi-conrep || exit 1 + +/bin/egrep --mmap ^Package: foo$ /var/lib/dpkg/status diff --git a/testset/tags.maintainer-scripts b/testset/tags.maintainer-scripts index 80cc1b6..dfe9ed5 100644 --- a/testset/tags.maintainer-scripts +++ b/testset/tags.maintainer-scripts @@ -19,6 +19,7 @@ E: maintainer-scripts: maintainer-script-modifies-netbase-managed-file postinst: E: maintainer-scripts: maintainer-script-removes-device-files postrm:39 E: maintainer-scripts: maintainer-script-removes-device-files postrm:40 E: maintainer-scripts: maintainer-script-uses-dpkg-status-directly postinst +E: maintainer-scripts: maintainer-script-uses-dpkg-status-directly preinst E: maintainer-scripts: maintainer-shell-script-fails-syntax-check prerm E: maintainer-scripts: no-copyright-file E: maintainer-scripts: postrm-contains-additional-updaterc.d-calls /etc/init.d/bar @@ -150,3 +151,4 @@ W: maintainer-scripts: read-in-maintainer-script prerm:65 W: maintainer-scripts: read-in-maintainer-script prerm:66 W: maintainer-scripts: start-stop-daemon-in-maintainer-script postinst:161 W: maintainer-scripts: update-alternatives-remove-called-in-postrm +W: maintainer-scripts: useless-std-path-in-maintainer-script preinst:12 /bin/egrep
Processed: Re: lintian: please warn about maintscripts with needlessly prefixed paths
Processing commands for [EMAIL PROTECTED]: tag 348620 - patch Bug#348620: [checks/rules] Please warn about clean targets which do something before removing the build-stamp Tags were: patch Tags removed: patch tag 376184 + patch Bug#376184: lintian: please warn about maintscripts with needlessly prefixed paths There were no tags set. Tags added: patch thanks Stopping processing here. Please contact me if you need assistance. Debian bug tracking system administrator (administrator, Debian Bugs database) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#376184: lintian: please warn about maintscripts with needlessly prefixed paths
tag 348620 - patch tag 376184 + patch thanks Oops, got the bug number wrong. Cheers, -- Atomo64 - Raphael Please avoid sending me Word, PowerPoint or Excel attachments. See http://www.gnu.org/philosophy/no-word-attachments.html bug_348620_message_12.mim Description: application/mbox signature.asc Description: This is a digitally signed message part.