-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hey I guess I am biting the bullet now. It turns out that with the pre-sorting stuff, some of the checks (e.g. checks/binaries) now modify the list when they add their "./" prefix, causing other checks (e.g. checks/shared-libs) to fail. I have made the following patches on the infra-513663 branch and I intend to apply them on the master branch as well. The patches will remove ./ and / prefixes on file names in some of the checks. If I missed any checks let me know. I chose the "\.?/"-less prefix for two reasons; I believed most of our checks does not use it (particularly checks/files, which is rather huge) and secondly because Lintian::Collect tends to return the file names without this prefix. ~Niels -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQIcBAEBCAAGBQJNNOaJAAoJEAVLu599gGRCvUEP/AvOrXTkUGHKcZ+eFfIbl+qu FsiqmwszydUyCLKP5zmBP0XvSF4MjpWSliOqtJ0saUuxem3HtnisDhuMa/9eZN5K GuZTxrDXaeQrB8uLNDzkLAmy8Cmh/M6lPIriIsWoPMRHGtS5hKbRffL+ZQp9Me0+ zB/mGXzEgNaEzeEavE2N4bDimlW536zy9B9NGk2htLJULLXiDl+BSuZVVzU1ecxc DW9one/Uk0DZMo/LTkTaKyX0L/pLtCtbs/1dlk/5yPsDaBSgoPG1hWKN36iRWsg0 /kYYUTMeOSFtSxLA5B1M7RYK7zvhutPEQ0s9szsoERRE4qREXk1H9ocxUfGkx3G5 VJ1NMCuu8SaJihe8bMQR7mOjlOq9Yfr88lC9JYpdJTA8pNaftHqbVd6dnUflEdKY Zpv3HQAw/6FbchHZ/IzQ1VPOKWqfEcJAWqoHPWi1Tn7TSAo5nvMmelv3hLpm5YjW XZGrXljC7iFYqtABWtQRXBGzb7HsroiH/T6HItnHVRzVbsHxkYf719qsKkIwZbH+ Euvi9rvSO1/n9toyG6QtkHsilBGCMX4ykyaTzRgLaWqx2Dg90AZpve/sa93QiTZr a9fJ8fdtB0+w3Qyi3FroEaI+hzRnbqdRaa1kNJRQBPZ7WVYiyNaF5VeUVo0aBaAG SY+wJVo9ODgSVVIYlT/t =DJkM -----END PGP SIGNATURE-----
>From c6e800f255b17bb85a332bd4628095978180bb17 Mon Sep 17 00:00:00 2001 From: Niels Thykier <niels@thykier.net> Date: Mon, 17 Jan 2011 23:07:14 +0100 Subject: [PATCH 1/5] Remove the ./ prefix in filenames from scripts output --- checks/scripts | 29 +++++++++++------------ t/tests/files-foo-in-bar/tags | 4 +- t/tests/files-general/tags | 2 +- t/tests/lintian-display-level/tags | 2 +- t/tests/lintian-output-colons/tags | 2 +- t/tests/lintian-output-letter/tags | 2 +- t/tests/lintian-output-xml/tags | 2 +- t/tests/menu-format-desktop-general/tags | 2 +- t/tests/scripts-calls-init-script/tags | 2 +- t/tests/scripts-interpreters/tags | 36 +++++++++++++++--------------- t/tests/scripts-missing-dep/tags | 10 ++++---- testset/tags.binary | 4 +- testset/tags.filenames | 6 ++-- testset/tags.scripts | 26 ++++++++++---------- 14 files changed, 64 insertions(+), 65 deletions(-) diff --git a/checks/scripts b/checks/scripts index 0a1280c..a6e71b1 100644 --- a/checks/scripts +++ b/checks/scripts @@ -319,12 +319,12 @@ foreach (@{$info->sorted_index}) { next unless ($index_info->{type} =~ m,^[-h], and ($operm & 01 or $operm & 010 or $operm & 0100)); my $is_suid = $operm & 04000; - $executable{'./' . $_} = 1; - $suid{'./' . $_} = $is_suid; + $executable{$_} = 1; + $suid{$_} = $is_suid; } for my $file (@{$info->sorted_file_info}) { - $ELF{'./' . $file} = 1 if $info->file_info->{$file} =~ /^[^,]*\bELF\b/o; + $ELF{$file} = 1 if $info->file_info->{$file} =~ /^[^,]*\bELF\b/o; } my $all_deps = ''; @@ -341,7 +341,6 @@ my $all_parsed = Lintian::Relation->new($all_deps); for my $filename (sort keys %{$info->scripts}) { my $interpreter = $info->scripts->{$filename}->{interpreter}; my $calls_env = $info->scripts->{$filename}->{calls_env}; - $filename = './' . $filename; $scripts{$filename} = 1; my $in_docs = $filename =~ m,usr/share/doc/,; @@ -382,21 +381,21 @@ for my $filename (sort keys %{$info->scripts}) { unless $is_absolute; tag("script-not-executable", $filename) unless ($executable{$filename} - or $filename =~ m,^\./usr/(lib|share)/.*\.pm, - or $filename =~ m,^\./usr/(lib|share)/.*\.py, - or $filename =~ m,^\./usr/(lib|share)/ruby/.*\.rb, + or $filename =~ m,^usr/(lib|share)/.*\.pm, + or $filename =~ m,^usr/(lib|share)/.*\.py, + or $filename =~ m,^usr/(lib|share)/ruby/.*\.rb, or $filename =~ m,\.in$, or $filename =~ m,\.ex$, - or $filename eq './etc/init.d/skeleton' - or $filename =~ m,^\./etc/menu-methods, - or $filename =~ m,^\./etc/X11/Xsession\.d,) + or $filename eq 'etc/init.d/skeleton' + or $filename =~ m,^etc/menu-methods, + or $filename =~ m,^etc/X11/Xsession\.d,) or $in_docs; # Warn about csh scripts. tag("csh-considered-harmful", $filename) if (($base eq 'csh' or $base eq 'tcsh') and $executable{$filename} - and $filename !~ m,^\./etc/csh/login\.d/,) + and $filename !~ m,^etc/csh/login\.d/,) and !$in_docs; # Syntax-check most shell scripts, but don't syntax-check scripts that end @@ -453,7 +452,7 @@ for my $filename (sort keys %{$info->scripts}) { # probably be extended eventually to any script in a public directory. # This also needs smarter processing of multiline quoted strings, # heredocs, and so forth. Hopefully it will do for right now. - if ($filename =~ m,^./etc/, and $base =~ /^$known_shells_regex$/) { + if ($filename =~ m,^etc/, and $base =~ /^$known_shells_regex$/) { my ($saw_init, $saw_invoke); local $.; open(FH, '<', 'unpacked/' . $filename); @@ -470,7 +469,7 @@ for my $filename (sort keys %{$info->scripts}) { # those defined for invoke-rc.d. if (m,$LEADIN/etc/init.d/(\S+)\s+[\"\']?(\S+)[\"\']?,) { my ($script, $action) = ($1, $2); - next if "./etc/init.d/$script" eq $filename; + next if "etc/init.d/$script" eq $filename; next unless $action =~ /^(force-)?(start|stop|restart|reload|status)$/; $saw_init = $.; } @@ -496,9 +495,9 @@ for my $filename (sort keys %{$info->scripts}) { if ($depends && !$all_parsed->implies($depends)) { if ($base =~ /^(python|ruby|(m|g)awk)$/) { tag("$base-script-but-no-$base-dep", $filename); - } elsif ($base eq 'csh' && $filename =~ m,^\./etc/csh/login\.d/,) { + } elsif ($base eq 'csh' && $filename =~ m,^etc/csh/login\.d/,) { # Initialization files for csh. - } elsif ($base eq 'fish' && $filename =~ m,^\./etc/fish\.d/,) { + } elsif ($base eq 'fish' && $filename =~ m,^etc/fish\.d/,) { # Initialization files for fish. } elsif ($base eq 'ocamlrun' && $all_deps =~ /\bocaml(-base)?(-nox)?-\d\.[\d.]+/) { # ABI-versioned virtual packages for ocaml diff --git a/t/tests/files-foo-in-bar/tags b/t/tests/files-foo-in-bar/tags index 3bf7ef9..569da68 100644 --- a/t/tests/files-foo-in-bar/tags +++ b/t/tests/files-foo-in-bar/tags @@ -21,8 +21,8 @@ E: files-foo-in-bar: subdir-in-bin bin/foo/ E: files-foo-in-bar: subdir-in-usr-bin usr/bin/foo/ E: files-foo-in-bar: udev-rule-in-etc etc/udev/rules.d/bar W: files-foo-in-bar: debug-package-should-be-named-dbg usr/lib/debug/bar -W: files-foo-in-bar: executable-not-elf-or-script ./bin/foo/bar -W: files-foo-in-bar: executable-not-elf-or-script ./usr/bin/foo/bar +W: files-foo-in-bar: executable-not-elf-or-script bin/foo/bar +W: files-foo-in-bar: executable-not-elf-or-script usr/bin/foo/bar W: files-foo-in-bar: file-in-unusual-dir usr/foo/bar W: files-foo-in-bar: file-in-unusual-dir usr/local/foo/bar W: files-foo-in-bar: file-in-unusual-dir var/foo/bar diff --git a/t/tests/files-general/tags b/t/tests/files-general/tags index 668f40d..7b7d278 100644 --- a/t/tests/files-general/tags +++ b/t/tests/files-general/tags @@ -12,7 +12,7 @@ E: files-general: star-file usr/share/foo/* E: files-general: stray-directory-in-manpage-directory usr/share/man/man1/random/ I: files-general: duplicated-compressed-file usr/share/doc/lintian/lintian-16x16.png.gz I: files-general: package-contains-empty-directory usr/share/man/man1/random/ -W: files-general: executable-not-elf-or-script ./usr/share/man/man5/foo.5.gz +W: files-general: executable-not-elf-or-script usr/share/man/man5/foo.5.gz W: files-general: file-in-unusual-dir new-top-level-dir/file-in-new-top-level-dir W: files-general: icon-size-and-directory-name-mismatch usr/share/apps/lintian/icons/hicolor/22x22/lintian-16x16.png 16x16 W: files-general: obsolete-comments-style-in-php-ini etc/php5/conf.d/php-foo.ini diff --git a/t/tests/lintian-display-level/tags b/t/tests/lintian-display-level/tags index 3f0f1f0..ee0bcf2 100644 --- a/t/tests/lintian-display-level/tags +++ b/t/tests/lintian-display-level/tags @@ -8,7 +8,7 @@ I: lintian-display-level: desktop-entry-limited-to-environments /usr/share/appli I: lintian-display-level: package-contains-empty-directory usr/local/share/lintian/ P: lintian-display-level source: debian-control-has-unusual-field-spacing line 11 P: lintian-display-level source: direct-changes-in-diff-but-no-patch-system Changes -P: lintian-display-level: example-unusual-interpreter ./usr/share/doc/lintian-display-level/examples/example #!/usr/bin/foo +P: lintian-display-level: example-unusual-interpreter usr/share/doc/lintian-display-level/examples/example #!/usr/bin/foo P: lintian-display-level: no-homepage-field P: lintian-display-level: no-upstream-changelog W: lintian-display-level source: dfsg-version-misspelled 1.0+dsfg-1.1 diff --git a/t/tests/lintian-output-colons/tags b/t/tests/lintian-output-colons/tags index 4add9f9..28d7825 100644 --- a/t/tests/lintian-output-colons/tags +++ b/t/tests/lintian-output-colons/tags @@ -10,7 +10,7 @@ tag:I:wishlist:possible::lintian-output-colons:1.0+dsfg-1.1:all:binary:package-c tag:I:wishlist:wild-guess::lintian-output-colons:1.0+dsfg-1.1:all:binary:description-possibly-contains-homepage:http\://www.example.com/.: tag:P:pedantic:certain::lintian-output-colons:1.0+dsfg-1.1:source:source:debian-control-has-unusual-field-spacing:line 11: tag:P:pedantic:certain::lintian-output-colons:1.0+dsfg-1.1:source:source:direct-changes-in-diff-but-no-patch-system:Changes: -tag:P:pedantic:possible::lintian-output-colons:1.0+dsfg-1.1:all:binary:example-unusual-interpreter:./usr/share/doc/lintian-output-colons/examples/example #!/usr/bin/foo: +tag:P:pedantic:possible::lintian-output-colons:1.0+dsfg-1.1:all:binary:example-unusual-interpreter:usr/share/doc/lintian-output-colons/examples/example #!/usr/bin/foo: tag:P:pedantic:possible::lintian-output-colons:1.0+dsfg-1.1:all:binary:no-homepage-field:: tag:P:pedantic:wild-guess:O:lintian-output-colons:1.0+dsfg-1.1:all:binary:no-upstream-changelog::no-upstream-changelog tag:W:minor:certain:O:lintian-output-colons:1.0+dsfg-1.1:source:source:dfsg-version-misspelled:1.0+dsfg-1.1:dfsg-version-misspelled 1.0* diff --git a/t/tests/lintian-output-letter/tags b/t/tests/lintian-output-letter/tags index 4203dc5..6748263 100644 --- a/t/tests/lintian-output-letter/tags +++ b/t/tests/lintian-output-letter/tags @@ -10,7 +10,7 @@ I[W!]: lintian-output-letter source: binary-control-field-duplicates-source fiel I[W?]: lintian-output-letter: description-possibly-contains-homepage http://www.example.com/. O[M!]: lintian-output-letter source: dfsg-version-misspelled 1.0+dsfg-1.1 O[P?]: lintian-output-letter: no-upstream-changelog -P[P ]: lintian-output-letter: example-unusual-interpreter ./usr/share/doc/lintian-output-letter/examples/example #!/usr/bin/foo +P[P ]: lintian-output-letter: example-unusual-interpreter usr/share/doc/lintian-output-letter/examples/example #!/usr/bin/foo P[P ]: lintian-output-letter: no-homepage-field P[P!]: lintian-output-letter source: debian-control-has-unusual-field-spacing line 11 P[P!]: lintian-output-letter source: direct-changes-in-diff-but-no-patch-system Changes diff --git a/t/tests/lintian-output-xml/tags b/t/tests/lintian-output-xml/tags index 89802c7..68a4e97 100644 --- a/t/tests/lintian-output-xml/tags +++ b/t/tests/lintian-output-xml/tags @@ -12,7 +12,7 @@ <tag severity="normal" certainty="wild-guess" flags="" name="desktop-entry-limited-to-environments">/usr/share/applications/script.desktop</tag> <tag severity="pedantic" certainty="certain" flags="" name="debian-control-has-unusual-field-spacing">line 11</tag> <tag severity="pedantic" certainty="certain" flags="" name="direct-changes-in-diff-but-no-patch-system">Changes</tag> -<tag severity="pedantic" certainty="possible" flags="" name="example-unusual-interpreter">./usr/share/doc/lintian-output-xml/examples/example #!/usr/bin/foo</tag> +<tag severity="pedantic" certainty="possible" flags="" name="example-unusual-interpreter">usr/share/doc/lintian-output-xml/examples/example #!/usr/bin/foo</tag> <tag severity="pedantic" certainty="possible" flags="" name="no-homepage-field"></tag> <tag severity="pedantic" certainty="wild-guess" flags="overridden" name="no-upstream-changelog"></tag> <tag severity="serious" certainty="certain" flags="" name="dir-in-usr-local">usr/local/share/</tag> diff --git a/t/tests/menu-format-desktop-general/tags b/t/tests/menu-format-desktop-general/tags index 3737c14..5b74f95 100644 --- a/t/tests/menu-format-desktop-general/tags +++ b/t/tests/menu-format-desktop-general/tags @@ -12,4 +12,4 @@ W: menu-format-desktop-general: desktop-entry-invalid-category Lintian /usr/shar W: menu-format-desktop-general: desktop-entry-lacks-main-category /usr/share/applications/general.desktop W: menu-format-desktop-general: desktop-entry-uses-reserved-category Screensaver /usr/share/applications/reserved-bad.desktop W: menu-format-desktop-general: duplicated-key-in-desktop-entry /usr/share/applications/general.desktop:3 Name -W: menu-format-desktop-general: executable-not-elf-or-script ./usr/share/applications/general.desktop +W: menu-format-desktop-general: executable-not-elf-or-script usr/share/applications/general.desktop diff --git a/t/tests/scripts-calls-init-script/tags b/t/tests/scripts-calls-init-script/tags index 0fb370b..cbd0b2d 100644 --- a/t/tests/scripts-calls-init-script/tags +++ b/t/tests/scripts-calls-init-script/tags @@ -1,2 +1,2 @@ E: scripts-calls-init-script: maintainer-script-calls-init-script-directly postinst:5 -W: scripts-calls-init-script: script-calls-init-script-directly ./etc/cron.daily/bad:2 +W: scripts-calls-init-script: script-calls-init-script-directly etc/cron.daily/bad:2 diff --git a/t/tests/scripts-interpreters/tags b/t/tests/scripts-interpreters/tags index 2eb747d..4db0275 100644 --- a/t/tests/scripts-interpreters/tags +++ b/t/tests/scripts-interpreters/tags @@ -1,18 +1,18 @@ -E: scripts-interpreters: interpreter-in-usr-local ./usr/bin/usr-local #!/usr/local/bin/special-perl -E: scripts-interpreters: missing-dep-for-interpreter pike => pike7.6 | pike7.6-core | pike7.8 | pike7.8-core (./usr/bin/unversioned-pike) -E: scripts-interpreters: missing-dep-for-interpreter pike7.6 => pike7.6 | pike7.6-core (./usr/bin/versioned-pike) -E: scripts-interpreters: script-without-interpreter ./usr/bin/no-interpreter -E: scripts-interpreters: shell-script-fails-syntax-check ./usr/bin/syntax -E: scripts-interpreters: wrong-path-for-interpreter ./usr/bin/not-absolute (#!perl != /usr/bin/perl) -E: scripts-interpreters: wrong-path-for-interpreter ./usr/bin/wrong-perl-path (#!/bin/perl != /usr/bin/perl) -I: scripts-interpreters: example-interpreter-not-absolute ./usr/share/doc/scripts-interpreters/examples/not-absolute #!perl -I: scripts-interpreters: example-script-uses-bin-env ./usr/share/doc/scripts-interpreters/examples/bin-env -I: scripts-interpreters: example-script-without-interpreter ./usr/share/doc/scripts-interpreters/examples/no-interpreter -I: scripts-interpreters: example-wrong-path-for-interpreter ./usr/share/doc/scripts-interpreters/examples/not-absolute (#!perl != /usr/bin/perl) -I: scripts-interpreters: example-wrong-path-for-interpreter ./usr/share/doc/scripts-interpreters/examples/wrong-perl-path (#!/bin/perl != /usr/bin/perl) -P: scripts-interpreters: example-interpreter-in-usr-local ./usr/share/doc/scripts-interpreters/examples/usr-local #!/usr/local/bin/special-perl -P: scripts-interpreters: example-shell-script-fails-syntax-check ./usr/share/doc/scripts-interpreters/examples/syntax -P: scripts-interpreters: example-unusual-interpreter ./usr/share/doc/scripts-interpreters/examples/unusual #!/usr/bin/lintian -W: scripts-interpreters: interpreter-not-absolute ./usr/bin/not-absolute #!perl -W: scripts-interpreters: script-uses-bin-env ./usr/bin/bin-env -W: scripts-interpreters: unusual-interpreter ./usr/bin/unusual #!/usr/bin/lintian +E: scripts-interpreters: interpreter-in-usr-local usr/bin/usr-local #!/usr/local/bin/special-perl +E: scripts-interpreters: missing-dep-for-interpreter pike => pike7.6 | pike7.6-core | pike7.8 | pike7.8-core (usr/bin/unversioned-pike) +E: scripts-interpreters: missing-dep-for-interpreter pike7.6 => pike7.6 | pike7.6-core (usr/bin/versioned-pike) +E: scripts-interpreters: script-without-interpreter usr/bin/no-interpreter +E: scripts-interpreters: shell-script-fails-syntax-check usr/bin/syntax +E: scripts-interpreters: wrong-path-for-interpreter usr/bin/not-absolute (#!perl != /usr/bin/perl) +E: scripts-interpreters: wrong-path-for-interpreter usr/bin/wrong-perl-path (#!/bin/perl != /usr/bin/perl) +I: scripts-interpreters: example-interpreter-not-absolute usr/share/doc/scripts-interpreters/examples/not-absolute #!perl +I: scripts-interpreters: example-script-uses-bin-env usr/share/doc/scripts-interpreters/examples/bin-env +I: scripts-interpreters: example-script-without-interpreter usr/share/doc/scripts-interpreters/examples/no-interpreter +I: scripts-interpreters: example-wrong-path-for-interpreter usr/share/doc/scripts-interpreters/examples/not-absolute (#!perl != /usr/bin/perl) +I: scripts-interpreters: example-wrong-path-for-interpreter usr/share/doc/scripts-interpreters/examples/wrong-perl-path (#!/bin/perl != /usr/bin/perl) +P: scripts-interpreters: example-interpreter-in-usr-local usr/share/doc/scripts-interpreters/examples/usr-local #!/usr/local/bin/special-perl +P: scripts-interpreters: example-shell-script-fails-syntax-check usr/share/doc/scripts-interpreters/examples/syntax +P: scripts-interpreters: example-unusual-interpreter usr/share/doc/scripts-interpreters/examples/unusual #!/usr/bin/lintian +W: scripts-interpreters: interpreter-not-absolute usr/bin/not-absolute #!perl +W: scripts-interpreters: script-uses-bin-env usr/bin/bin-env +W: scripts-interpreters: unusual-interpreter usr/bin/unusual #!/usr/bin/lintian diff --git a/t/tests/scripts-missing-dep/tags b/t/tests/scripts-missing-dep/tags index 9299f1e..4564028 100644 --- a/t/tests/scripts-missing-dep/tags +++ b/t/tests/scripts-missing-dep/tags @@ -1,5 +1,5 @@ -E: scripts-missing-dep: gawk-script-but-no-gawk-dep ./usr/bin/gawk-script -E: scripts-missing-dep: mawk-script-but-no-mawk-dep ./usr/bin/mawk-script -E: scripts-missing-dep: ruby-script-but-no-ruby-dep ./usr/bin/ruby-script -E: scripts-missing-dep: tclsh-script-but-no-tclsh-dep ./usr/bin/tclsh-script -E: scripts-missing-dep: wish-script-but-no-wish-dep ./usr/bin/wish-script +E: scripts-missing-dep: gawk-script-but-no-gawk-dep usr/bin/gawk-script +E: scripts-missing-dep: mawk-script-but-no-mawk-dep usr/bin/mawk-script +E: scripts-missing-dep: ruby-script-but-no-ruby-dep usr/bin/ruby-script +E: scripts-missing-dep: tclsh-script-but-no-tclsh-dep usr/bin/tclsh-script +E: scripts-missing-dep: wish-script-but-no-wish-dep usr/bin/wish-script diff --git a/testset/tags.binary b/testset/tags.binary index c206f69..27be48a 100644 --- a/testset/tags.binary +++ b/testset/tags.binary @@ -86,8 +86,8 @@ W: binary: desktop-entry-uses-reserved-category Screensaver /usr/share/applicati W: binary: doc-base-abstract-field-separator-extra-whitespaces binary:7 W: binary: doc-base-file-unknown-format binary:20 esp W: binary: doc-base-unknown-section binary:11 Non/Existant -W: binary: executable-not-elf-or-script ./usr/bin/iminusrbin -W: binary: executable-not-elf-or-script ./usr/share/applications/goodbye.desktop +W: binary: executable-not-elf-or-script usr/bin/iminusrbin +W: binary: executable-not-elf-or-script usr/share/applications/goodbye.desktop W: binary: file-in-unusual-dir usr/bar W: binary: file-in-unusual-dir usr/bar2 W: binary: file-in-unusual-dir usr/foo diff --git a/testset/tags.filenames b/testset/tags.filenames index a833f8e..7a23d67 100644 --- a/testset/tags.filenames +++ b/testset/tags.filenames @@ -80,8 +80,8 @@ W: filenames: embedded-javascript-library usr/share/filenames/prototype.js.gz W: filenames: embedded-javascript-library usr/share/filenames/scriptaculous.js W: filenames: embedded-javascript-library usr/share/filenames/yahoo-dom-event.js W: filenames: embedded-javascript-library usr/share/filenames/yahoo-min.js -W: filenames: executable-not-elf-or-script ./usr/bin/bin/bad -W: filenames: executable-not-elf-or-script ./usr/bin/mh/read +W: filenames: executable-not-elf-or-script usr/bin/bin/bad +W: filenames: executable-not-elf-or-script usr/bin/mh/read W: filenames: extra-license-file usr/share/pixmaps/COPYING W: filenames: extra-license-file usr/share/pixmaps/license.foo W: filenames: extra-license-file usr/share/pixmaps/license.txt @@ -125,7 +125,7 @@ W: filenames: package-contains-vcs-control-file usr/lib/perl5/foo/.hgtags W: filenames: package-installs-into-etc-gconf-schemas etc/gconf/schemas/test.schema W: filenames: package-installs-nonbinary-perl-in-usr-lib-perl5 usr/lib/perl5/foo/ancient.pm W: filenames: package-installs-nonbinary-perl-in-usr-lib-perl5 usr/lib/perl5/foo/bar.pm -W: filenames: script-not-executable ./files/feedparser.py +W: filenames: script-not-executable files/feedparser.py W: filenames: svk-commit-file-in-package files/svk-commitsEr9P.tmp W: filenames: svn-commit-file-in-package files/svn-commit.tmp W: filenames: symlink-ends-with-slash usr/lib/filenames/symlink9wrong ../menu/something/ diff --git a/testset/tags.scripts b/testset/tags.scripts index 8097482..051e9d6 100644 --- a/testset/tags.scripts +++ b/testset/tags.scripts @@ -2,24 +2,24 @@ E: scripts source: dpatch-index-references-non-existent-patch 01_not_here_right_ E: scripts source: dpatch-index-references-non-existent-patch 01_some_other_patch_thats_not_in_the_package.dpatch E: scripts source: missing-build-dependency debhelper E: scripts source: package-uses-debhelper-but-lacks-build-depends -E: scripts: calls-suidperl-directly ./usr/bin/suidperlfoo +E: scripts: calls-suidperl-directly usr/bin/suidperlfoo E: scripts: copyright-file-lacks-pointer-to-perl-license E: scripts: duplicate-updaterc.d-calls-in-postrm lsb-other E: scripts: init.d-script-does-not-implement-required-option /etc/init.d/lsb-broken force-reload E: scripts: init.d-script-does-not-implement-required-option /etc/init.d/lsb-broken restart E: scripts: init.d-script-has-duplicate-lsb-section /etc/init.d/lsb-broken E: scripts: init.d-script-has-unterminated-lsb-section /etc/init.d/lsb-broken:15 -E: scripts: missing-dep-for-interpreter jruby => jruby | jruby1.0 | jruby1.1 | jruby1.2 (./usr/bin/jruby-broken) -E: scripts: missing-dep-for-interpreter lefty => graphviz (./usr/bin/lefty-foo) +E: scripts: missing-dep-for-interpreter jruby => jruby | jruby1.0 | jruby1.1 | jruby1.2 (usr/bin/jruby-broken) +E: scripts: missing-dep-for-interpreter lefty => graphviz (usr/bin/lefty-foo) E: scripts: package-installs-python-pyc usr/lib/python2.3/site-packages/test.pyc -E: scripts: php-script-but-no-phpX-cli-dep ./usr/share/scripts/php5foo -E: scripts: php-script-but-no-phpX-cli-dep ./usr/share/scripts/phpfoo -E: scripts: python-script-but-no-python-dep ./usr/bin/py2foo -E: scripts: python-script-but-no-python-dep ./usr/bin/pyfoo -E: scripts: shell-script-fails-syntax-check ./usr/bin/sh-broken -E: scripts: suid-perl-script-but-no-perl-suid-dep ./usr/bin/suidperlfoo2 -E: scripts: wrong-path-for-interpreter ./usr/bin/lefty-foo (#!/usr/local/bin/lefty != /usr/bin/lefty) -E: scripts: wrong-path-for-interpreter ./usr/bin/rubyfoo (#!/bin/ruby1.8 != /usr/bin/ruby1.8) +E: scripts: php-script-but-no-phpX-cli-dep usr/share/scripts/php5foo +E: scripts: php-script-but-no-phpX-cli-dep usr/share/scripts/phpfoo +E: scripts: python-script-but-no-python-dep usr/bin/py2foo +E: scripts: python-script-but-no-python-dep usr/bin/pyfoo +E: scripts: shell-script-fails-syntax-check usr/bin/sh-broken +E: scripts: suid-perl-script-but-no-perl-suid-dep usr/bin/suidperlfoo2 +E: scripts: wrong-path-for-interpreter usr/bin/lefty-foo (#!/usr/local/bin/lefty != /usr/bin/lefty) +E: scripts: wrong-path-for-interpreter usr/bin/rubyfoo (#!/bin/ruby1.8 != /usr/bin/ruby1.8) E: scripts_6ds-1ubuntu0.5.10.1_arch changes: bad-ubuntu-distribution-in-changes-file unstable I: scripts source: debian-watch-file-should-dversionmangle-not-uversionmangle line 5 I: scripts source: dpatch-missing-description 02_i_dont_have_a_description.patch @@ -65,7 +65,7 @@ W: scripts: control-file-is-empty prerm W: scripts: executable-is-not-world-readable usr/bin/guile-bizarre 0705 != 0755 W: scripts: executable-is-not-world-readable usr/bin/perl-bizarre-2 0750 != 0755 W: scripts: executable-is-not-world-readable usr/bin/suidperlfoo2 4751 -W: scripts: executable-not-elf-or-script ./usr/bin/perl-bizarre-3 +W: scripts: executable-not-elf-or-script usr/bin/perl-bizarre-3 W: scripts: init-d-script-stops-in-s-runlevel /etc/init.d/lsb-broken W: scripts: init-d-script-stops-in-s-runlevel /etc/init.d/skeleton W: scripts: init.d-script-has-bad-lsb-line /etc/init.d/lsb-broken:4 @@ -80,7 +80,7 @@ W: scripts: maintainer-script-empty preinst W: scripts: maintainer-script-ignores-errors postinst W: scripts: non-standard-executable-perm usr/bin/perl-bizarre-3 0754 != 0755 W: scripts: non-standard-setuid-executable-perm usr/bin/suidperlfoo 4555 -W: scripts: script-uses-bin-env ./usr/bin/envfoo +W: scripts: script-uses-bin-env usr/bin/envfoo W: scripts: script-with-language-extension usr/bin/test.sh W: scripts: setuid-binary usr/bin/suidperlfoo 4555 root/root W: scripts: setuid-binary usr/bin/suidperlfoo2 4751 root/root -- 1.7.2.3
>From 614661cb72f6295c4d41fa30000ad95fe19b32be Mon Sep 17 00:00:00 2001 From: Niels Thykier <niels@thykier.net> Date: Mon, 17 Jan 2011 23:54:56 +0100 Subject: [PATCH 2/5] Removed the / prefix from filenames from the init.d check --- checks/init.d | 62 +++++++++++++++--------------- t/tests/init.d-general/tags | 12 +++--- t/tests/init.d-lsb-headers/tags | 46 +++++++++++----------- t/tests/init.d-script-registration/tags | 6 +- t/tests/init.d-symlink/tags | 2 +- testset/tags.maintainer-scripts | 8 ++-- testset/tags.scripts | 32 ++++++++-------- 7 files changed, 84 insertions(+), 84 deletions(-) diff --git a/checks/init.d b/checks/init.d index 5fa6213..6a45031 100644 --- a/checks/init.d +++ b/checks/init.d @@ -142,11 +142,11 @@ for (keys %initd_postinst) { if ($initd_postrm{$_}) { delete $initd_postrm{$_}; } else { - tag "postrm-does-not-call-updaterc.d-for-init.d-script", "/etc/init.d/$_"; + tag "postrm-does-not-call-updaterc.d-for-init.d-script", "etc/init.d/$_"; } } for (keys %initd_postrm) { - tag "postrm-contains-additional-updaterc.d-calls", "/etc/init.d/$_"; + tag "postrm-contains-additional-updaterc.d-calls", "etc/init.d/$_"; } # load conffiles @@ -170,7 +170,7 @@ for (keys %initd_postinst) { # init.d scripts have to be marked as conffiles unless they're symlinks. unless ($conffiles{"/etc/init.d/$_"} or $conffiles{"etc/init.d/$_"} or -l $initd_file) { - tag "init.d-script-not-marked-as-conffile", "/etc/init.d/$_"; + tag "init.d-script-not-marked-as-conffile", "etc/init.d/$_"; } # Check if file exists in package and check the script for other issues if @@ -178,7 +178,7 @@ for (keys %initd_postinst) { if (-f $initd_file) { check_init($initd_file); } elsif (not -l $initd_file) { - tag "init.d-script-not-included-in-package", "/etc/init.d/$_"; + tag "init.d-script-not-included-in-package", "etc/init.d/$_"; } } @@ -193,7 +193,7 @@ for (readdir(INITD)) { # that we get more complete Lintian coverage in the first pass. unless ($initd_postinst{$script}) { tag 'script-in-etc-init.d-not-registered-via-update-rc.d', - "/etc/init.d/$script"; + "etc/init.d/$script"; check_init("init.d/$script") if -f "init.d/$script"; } } @@ -220,11 +220,11 @@ sub check_init { my %needs_fs = ('remote' => 0, 'local' => 0); while (defined(my $l = <IN>)) { if ($. == 1 && $l =~ m,^\#!\s*(/usr/[^\s]+),) { - tag "init.d-script-uses-usr-interpreter", "/etc/init.d/$_ $1"; + tag "init.d-script-uses-usr-interpreter", "etc/init.d/$_ $1"; } if ($l =~ m/^\#\#\# BEGIN INIT INFO/) { if ($lsb{BEGIN}) { - tag "init.d-script-has-duplicate-lsb-section", "/etc/init.d/$_"; + tag "init.d-script-has-duplicate-lsb-section", "etc/init.d/$_"; next; } $lsb{BEGIN} = 1; @@ -237,14 +237,14 @@ sub check_init { $lsb{END} = 1; last; } elsif ($l !~ /^\#/) { - tag "init.d-script-has-unterminated-lsb-section", "/etc/init.d/$_:$."; + tag "init.d-script-has-unterminated-lsb-section", "etc/init.d/$_:$."; last; } elsif ($l =~ /^\# ([a-zA-Z-]+):\s*(.*?)\s*$/) { my $keyword = lc $1; my $value = $2; - tag "init.d-script-has-duplicate-lsb-keyword", "/etc/init.d/$_:$. $keyword" + tag "init.d-script-has-duplicate-lsb-keyword", "etc/init.d/$_:$. $keyword" if (defined $lsb{$keyword}); - tag "init.d-script-has-unknown-lsb-keyword", "/etc/init.d/$_:$. $keyword" + tag "init.d-script-has-unknown-lsb-keyword", "etc/init.d/$_:$. $keyword" unless (defined ($lsb_keywords{$keyword}) || $keyword =~ /^x-/); $lsb{$keyword} = defined($value) ? $value : ''; $last = $keyword; @@ -253,7 +253,7 @@ sub check_init { $value =~ s/^\#\s*//; $lsb{description} .= ' ' . $value; } else { - tag "init.d-script-has-bad-lsb-line", "/etc/init.d/$_:$."; + tag "init.d-script-has-bad-lsb-line", "etc/init.d/$_:$."; } } } @@ -263,7 +263,7 @@ sub check_init { $in_file_test = 1 if ($l =~ m/\bif\s+.*?(?:test|\[)(?:\s+\!)?\s+-[efr]\s+/); $in_file_test = 0 if ($l =~ m/\bfi\b/); if (!$in_file_test && $l =~ m,^\s*\.\s+["'"]?(/etc/default/[\$\w/-]+),) { - tag "init.d-script-sourcing-without-test", "/etc/init.d/$_:$. $1"; + tag "init.d-script-sourcing-without-test", "etc/init.d/$_:$. $1"; } # This should be more sophisticated: ignore heredocs, ignore quoted @@ -279,14 +279,14 @@ sub check_init { # Make sure all of the required keywords are present. if (not $lsb{BEGIN}) { - tag "init.d-script-missing-lsb-section", "/etc/init.d/$_"; + tag "init.d-script-missing-lsb-section", "etc/init.d/$_"; } else { for my $keyword (keys %lsb_keywords) { if ($lsb_keywords{$keyword} && !defined $lsb{$keyword}) { if ($keyword eq 'short-description') { - tag "init.d-script-missing-lsb-short-description", "/etc/init.d/$_"; + tag "init.d-script-missing-lsb-short-description", "etc/init.d/$_"; } else { - tag "init.d-script-missing-lsb-keyword", "/etc/init.d/$_ $keyword"; + tag "init.d-script-missing-lsb-keyword", "etc/init.d/$_ $keyword"; } } } @@ -300,10 +300,10 @@ sub check_init { $start{lc $runlevel} = 1; if ($runlevel eq '0' or $runlevel eq '6') { tag 'init.d-script-starts-in-stop-runlevel', - "/etc/init.d/$_", $runlevel; + "etc/init.d/$_", $runlevel; } } else { - tag 'init.d-script-has-bad-start-runlevel', "/etc/init.d/$_", + tag 'init.d-script-has-bad-start-runlevel', "etc/init.d/$_", $runlevel; } } @@ -315,7 +315,7 @@ sub check_init { my $base = $initd_file; $base =~ s,.*/,,; my @missing = grep { !defined $start{$_} } qw(2 3 4 5); - tag 'init.d-script-missing-start', "/etc/init.d/$_", + tag 'init.d-script-missing-start', "etc/init.d/$_", @missing; } } @@ -325,13 +325,13 @@ sub check_init { if ($runlevel =~ /^[sS0-6]$/) { $stop{$runlevel} = 1 unless $runlevel =~ /[sS2-5]/; if ($start{$runlevel}) { - tag "init.d-script-has-conflicting-start-stop", "/etc/init.d/$_ $runlevel"; + tag "init.d-script-has-conflicting-start-stop", "etc/init.d/$_ $runlevel"; } if ($runlevel =~ /[sS]/) { - tag "init-d-script-stops-in-s-runlevel", "/etc/init.d/$_"; + tag "init-d-script-stops-in-s-runlevel", "etc/init.d/$_"; } } else { - tag "init.d-script-has-bad-stop-runlevel", "/etc/init.d/$_ $runlevel"; + tag "init.d-script-has-bad-stop-runlevel", "etc/init.d/$_ $runlevel"; } } @@ -343,7 +343,7 @@ sub check_init { $base =~ s,.*/,,; unless (grep { $base eq $_ } qw(killprocs sendsigs halt reboot)) { my @missing = grep { !defined $stop{$_} } qw(0 1 6); - tag 'init.d-script-possible-missing-stop', "/etc/init.d/$_", + tag 'init.d-script-possible-missing-stop', "etc/init.d/$_", @missing; } } @@ -353,13 +353,13 @@ sub check_init { for my $facility (split(/\s+/, $lsb{'provides'})) { if ($facility =~ /^\$/) { tag 'init.d-script-provides-virtual-facility', - "/etc/init.d/$_", $facility; + "etc/init.d/$_", $facility; } if (/^\Q$facility\E(?:.sh)?$/) { $provides_self = 1; } } - tag 'init.d-script-does-not-provide-itself', "/etc/init.d/$_" + tag 'init.d-script-does-not-provide-itself', "etc/init.d/$_" unless $provides_self; } @@ -375,13 +375,13 @@ sub check_init { if ($needs_fs{remote}) { unless (grep { /^\$(?:remote_fs|all)\z/ } @required) { tag 'init.d-script-missing-dependency-on-remote_fs', - "/etc/init.d/$_: required-start"; + "etc/init.d/$_: required-start"; } } if ($needs_fs{local}) { unless (grep { /^\$(?:local_fs|remote_fs|all)\z/ } @required) { tag 'init.d-script-missing-dependency-on-local_fs', - "/etc/init.d/$_: required-start"; + "etc/init.d/$_: required-start"; } } } @@ -390,13 +390,13 @@ sub check_init { if ($needs_fs{remote}) { unless (grep { /^(?:\$remote_fs|\$all|umountnfs)\z/ } @required) { tag 'init.d-script-missing-dependency-on-remote_fs', - "/etc/init.d/$_: required-stop"; + "etc/init.d/$_: required-stop"; } } if ($needs_fs{local}) { unless (grep { /^(?:\$(?:local|remote)_fs|\$all|umountn?fs)\z/ } @required) { tag 'init.d-script-missing-dependency-on-local_fs', - "/etc/init.d/$_: required-stop"; + "etc/init.d/$_: required-stop"; } } } @@ -407,11 +407,11 @@ sub check_init { for my $dependency (split(/\s+/, $lsb{$keyword})) { if (defined $implied_dependencies{$dependency}) { tag 'init.d-script-should-depend-on-virtual-facility', - "/etc/init.d/$_", + "etc/init.d/$_", "$dependency -> $implied_dependencies{$dependency}"; } elsif ($keyword =~ m/^required-/ && $dependency =~ m/^\$/) { tag "init.d-script-depends-on-unknown-virtual-facility", - "/etc/init.d/$_", "$dependency" + "etc/init.d/$_", "$dependency" unless ($VIRTUAL_FACILITIES->known($dependency)); } } @@ -420,7 +420,7 @@ sub check_init { # all tags included in file? for my $option qw(start stop restart force-reload) { $tag{$option} - or tag "init.d-script-does-not-implement-required-option", "/etc/init.d/$_ $option"; + or tag "init.d-script-does-not-implement-required-option", "etc/init.d/$_ $option"; } } diff --git a/t/tests/init.d-general/tags b/t/tests/init.d-general/tags index 44d4adc..bcd6a06 100644 --- a/t/tests/init.d-general/tags +++ b/t/tests/init.d-general/tags @@ -1,6 +1,6 @@ -E: init.d-general-bugs: init.d-script-does-not-implement-required-option /etc/init.d/init.d-general-bugs force-reload -E: init.d-general-bugs: init.d-script-does-not-implement-required-option /etc/init.d/init.d-general-bugs restart -E: init.d-general-bugs: init.d-script-does-not-implement-required-option /etc/init.d/init.d-general-bugs start -E: init.d-general-bugs: init.d-script-does-not-implement-required-option /etc/init.d/init.d-general-bugs stop -E: init.d-general-sourcing-without-test: init.d-script-sourcing-without-test /etc/init.d/init.d-general-sourcing-without-test:15 /etc/default/rcS -W: init.d-general-interpreter-in-usr-dir: init.d-script-uses-usr-interpreter /etc/init.d/init.d-general-interpreter-in-usr-dir /usr/bin/perl +E: init.d-general-bugs: init.d-script-does-not-implement-required-option etc/init.d/init.d-general-bugs force-reload +E: init.d-general-bugs: init.d-script-does-not-implement-required-option etc/init.d/init.d-general-bugs restart +E: init.d-general-bugs: init.d-script-does-not-implement-required-option etc/init.d/init.d-general-bugs start +E: init.d-general-bugs: init.d-script-does-not-implement-required-option etc/init.d/init.d-general-bugs stop +E: init.d-general-sourcing-without-test: init.d-script-sourcing-without-test etc/init.d/init.d-general-sourcing-without-test:15 /etc/default/rcS +W: init.d-general-interpreter-in-usr-dir: init.d-script-uses-usr-interpreter etc/init.d/init.d-general-interpreter-in-usr-dir /usr/bin/perl diff --git a/t/tests/init.d-lsb-headers/tags b/t/tests/init.d-lsb-headers/tags index 9b1b266..98f60a0 100644 --- a/t/tests/init.d-lsb-headers/tags +++ b/t/tests/init.d-lsb-headers/tags @@ -1,23 +1,23 @@ -E: init.d-lsb-headers-local: init.d-script-missing-dependency-on-local_fs /etc/init.d/init.d-lsb-headers-local: required-start -E: init.d-lsb-headers-remote: init.d-script-missing-dependency-on-remote_fs /etc/init.d/init.d-lsb-headers-remote: required-start -E: init.d-lsb-headers-virtual: init.d-script-depends-on-unknown-virtual-facility /etc/init.d/init.d-lsb-headers-virtual $something_that_doesnt_exist -E: init.d-lsb-headers: init.d-script-should-depend-on-virtual-facility /etc/init.d/init.d-lsb-headers mountall -> $local_fs -E: init.d-lsb-headers: init.d-script-should-depend-on-virtual-facility /etc/init.d/init.d-lsb-headers mountnfs -> $remote_fs -E: init.d-lsb-headers: init.d-script-should-depend-on-virtual-facility /etc/init.d/init.d-lsb-headers networking -> $network -E: init.d-lsb-headers: init.d-script-should-depend-on-virtual-facility /etc/init.d/init.d-lsb-headers portmap -> $portmap -E: init.d-lsb-headers: init.d-script-should-depend-on-virtual-facility /etc/init.d/init.d-lsb-headers sysklogd -> $syslog -I: init.d-lsb-headers: init.d-script-does-not-provide-itself /etc/init.d/init.d-lsb-headers -W: init.d-lsb-headers-missing: init.d-script-missing-start /etc/init.d/init.d-lsb-headers-missing 4 -W: init.d-lsb-headers-missing: init.d-script-possible-missing-stop /etc/init.d/init.d-lsb-headers-missing 1 -W: init.d-lsb-headers-parsing: init.d-script-has-conflicting-start-stop /etc/init.d/init.d-lsb-headers-parsing 0 -W: init.d-lsb-headers-parsing: init.d-script-possible-missing-stop /etc/init.d/init.d-lsb-headers-parsing 1 6 -W: init.d-lsb-headers-parsing: init.d-script-starts-in-stop-runlevel /etc/init.d/init.d-lsb-headers-parsing 0 -W: init.d-lsb-headers: init-d-script-stops-in-s-runlevel /etc/init.d/init.d-lsb-headers -W: init.d-lsb-headers: init.d-script-has-bad-start-runlevel /etc/init.d/init.d-lsb-headers X -W: init.d-lsb-headers: init.d-script-has-bad-stop-runlevel /etc/init.d/init.d-lsb-headers Y -W: init.d-lsb-headers: init.d-script-has-conflicting-start-stop /etc/init.d/init.d-lsb-headers 0 -W: init.d-lsb-headers: init.d-script-has-conflicting-start-stop /etc/init.d/init.d-lsb-headers 6 -W: init.d-lsb-headers: init.d-script-possible-missing-stop /etc/init.d/init.d-lsb-headers 1 -W: init.d-lsb-headers: init.d-script-provides-virtual-facility /etc/init.d/init.d-lsb-headers $bad_facility -W: init.d-lsb-headers: init.d-script-starts-in-stop-runlevel /etc/init.d/init.d-lsb-headers 0 -W: init.d-lsb-headers: init.d-script-starts-in-stop-runlevel /etc/init.d/init.d-lsb-headers 6 +E: init.d-lsb-headers-local: init.d-script-missing-dependency-on-local_fs etc/init.d/init.d-lsb-headers-local: required-start +E: init.d-lsb-headers-remote: init.d-script-missing-dependency-on-remote_fs etc/init.d/init.d-lsb-headers-remote: required-start +E: init.d-lsb-headers-virtual: init.d-script-depends-on-unknown-virtual-facility etc/init.d/init.d-lsb-headers-virtual $something_that_doesnt_exist +E: init.d-lsb-headers: init.d-script-should-depend-on-virtual-facility etc/init.d/init.d-lsb-headers mountall -> $local_fs +E: init.d-lsb-headers: init.d-script-should-depend-on-virtual-facility etc/init.d/init.d-lsb-headers mountnfs -> $remote_fs +E: init.d-lsb-headers: init.d-script-should-depend-on-virtual-facility etc/init.d/init.d-lsb-headers networking -> $network +E: init.d-lsb-headers: init.d-script-should-depend-on-virtual-facility etc/init.d/init.d-lsb-headers portmap -> $portmap +E: init.d-lsb-headers: init.d-script-should-depend-on-virtual-facility etc/init.d/init.d-lsb-headers sysklogd -> $syslog +I: init.d-lsb-headers: init.d-script-does-not-provide-itself etc/init.d/init.d-lsb-headers +W: init.d-lsb-headers-missing: init.d-script-missing-start etc/init.d/init.d-lsb-headers-missing 4 +W: init.d-lsb-headers-missing: init.d-script-possible-missing-stop etc/init.d/init.d-lsb-headers-missing 1 +W: init.d-lsb-headers-parsing: init.d-script-has-conflicting-start-stop etc/init.d/init.d-lsb-headers-parsing 0 +W: init.d-lsb-headers-parsing: init.d-script-possible-missing-stop etc/init.d/init.d-lsb-headers-parsing 1 6 +W: init.d-lsb-headers-parsing: init.d-script-starts-in-stop-runlevel etc/init.d/init.d-lsb-headers-parsing 0 +W: init.d-lsb-headers: init-d-script-stops-in-s-runlevel etc/init.d/init.d-lsb-headers +W: init.d-lsb-headers: init.d-script-has-bad-start-runlevel etc/init.d/init.d-lsb-headers X +W: init.d-lsb-headers: init.d-script-has-bad-stop-runlevel etc/init.d/init.d-lsb-headers Y +W: init.d-lsb-headers: init.d-script-has-conflicting-start-stop etc/init.d/init.d-lsb-headers 0 +W: init.d-lsb-headers: init.d-script-has-conflicting-start-stop etc/init.d/init.d-lsb-headers 6 +W: init.d-lsb-headers: init.d-script-possible-missing-stop etc/init.d/init.d-lsb-headers 1 +W: init.d-lsb-headers: init.d-script-provides-virtual-facility etc/init.d/init.d-lsb-headers $bad_facility +W: init.d-lsb-headers: init.d-script-starts-in-stop-runlevel etc/init.d/init.d-lsb-headers 0 +W: init.d-lsb-headers: init.d-script-starts-in-stop-runlevel etc/init.d/init.d-lsb-headers 6 diff --git a/t/tests/init.d-script-registration/tags b/t/tests/init.d-script-registration/tags index 2d7d26c..5e4d5fd 100644 --- a/t/tests/init.d-script-registration/tags +++ b/t/tests/init.d-script-registration/tags @@ -1,3 +1,3 @@ -W: init.d-script-registration: init.d-script-missing-lsb-section /etc/init.d/foo.in -W: init.d-script-registration: script-in-etc-init.d-not-registered-via-update-rc.d /etc/init.d/bar -W: init.d-script-registration: script-in-etc-init.d-not-registered-via-update-rc.d /etc/init.d/foo.in +W: init.d-script-registration: init.d-script-missing-lsb-section etc/init.d/foo.in +W: init.d-script-registration: script-in-etc-init.d-not-registered-via-update-rc.d etc/init.d/bar +W: init.d-script-registration: script-in-etc-init.d-not-registered-via-update-rc.d etc/init.d/foo.in diff --git a/t/tests/init.d-symlink/tags b/t/tests/init.d-symlink/tags index 68a0c34..e37d7fb 100644 --- a/t/tests/init.d-symlink/tags +++ b/t/tests/init.d-symlink/tags @@ -1 +1 @@ -W: init.d-symlink: script-in-etc-init.d-not-registered-via-update-rc.d /etc/init.d/lintian-unreg +W: init.d-symlink: script-in-etc-init.d-not-registered-via-update-rc.d etc/init.d/lintian-unreg diff --git a/testset/tags.maintainer-scripts b/testset/tags.maintainer-scripts index f02e8dc..6783b02 100644 --- a/testset/tags.maintainer-scripts +++ b/testset/tags.maintainer-scripts @@ -5,7 +5,7 @@ E: maintainer-scripts: control-file-has-bad-permissions config 0644 != 0755 E: maintainer-scripts: debconf-config-not-executable E: maintainer-scripts: debian-changelog-file-contains-invalid-email-address jeroen@mordor E: maintainer-scripts: forbidden-config-interpreter #!/usr/bin/python -E: maintainer-scripts: init.d-script-not-included-in-package /etc/init.d/foo +E: maintainer-scripts: init.d-script-not-included-in-package etc/init.d/foo E: maintainer-scripts: install-sgmlcatalog-deprecated postinst:100 E: maintainer-scripts: install-sgmlcatalog-deprecated postrm:47 E: maintainer-scripts: maintainer-script-calls-init-script-directly prerm:55 @@ -21,8 +21,8 @@ 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 -E: maintainer-scripts: postrm-does-not-call-updaterc.d-for-init.d-script /etc/init.d/foo +E: maintainer-scripts: postrm-contains-additional-updaterc.d-calls etc/init.d/bar +E: maintainer-scripts: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/foo E: maintainer-scripts: preinst-calls-updaterc.d bar E: maintainer-scripts: prerm-calls-updaterc.d foo E: maintainer-scripts: read-in-maintainer-script postinst:20 @@ -60,7 +60,7 @@ W: maintainer-scripts: config-does-not-load-confmodule W: maintainer-scripts: deprecated-chown-usage postinst:167 'chown -R root.root' W: maintainer-scripts: deprecated-chown-usage postinst:35 'chown root.root' W: maintainer-scripts: gconftool-used-in-maintainer-script postinst:70 -W: maintainer-scripts: init.d-script-not-marked-as-conffile /etc/init.d/foo +W: maintainer-scripts: init.d-script-not-marked-as-conffile etc/init.d/foo W: maintainer-scripts: install-info-used-in-maintainer-script postinst:28 W: maintainer-scripts: maintainer-script-calls-deprecated-wm-menu-config postinst:33 W: maintainer-scripts: maintainer-script-empty config diff --git a/testset/tags.scripts b/testset/tags.scripts index 051e9d6..0c52ad5 100644 --- a/testset/tags.scripts +++ b/testset/tags.scripts @@ -5,10 +5,10 @@ E: scripts source: package-uses-debhelper-but-lacks-build-depends E: scripts: calls-suidperl-directly usr/bin/suidperlfoo E: scripts: copyright-file-lacks-pointer-to-perl-license E: scripts: duplicate-updaterc.d-calls-in-postrm lsb-other -E: scripts: init.d-script-does-not-implement-required-option /etc/init.d/lsb-broken force-reload -E: scripts: init.d-script-does-not-implement-required-option /etc/init.d/lsb-broken restart -E: scripts: init.d-script-has-duplicate-lsb-section /etc/init.d/lsb-broken -E: scripts: init.d-script-has-unterminated-lsb-section /etc/init.d/lsb-broken:15 +E: scripts: init.d-script-does-not-implement-required-option etc/init.d/lsb-broken force-reload +E: scripts: init.d-script-does-not-implement-required-option etc/init.d/lsb-broken restart +E: scripts: init.d-script-has-duplicate-lsb-section etc/init.d/lsb-broken +E: scripts: init.d-script-has-unterminated-lsb-section etc/init.d/lsb-broken:15 E: scripts: missing-dep-for-interpreter jruby => jruby | jruby1.0 | jruby1.1 | jruby1.2 (usr/bin/jruby-broken) E: scripts: missing-dep-for-interpreter lefty => graphviz (usr/bin/lefty-foo) E: scripts: package-installs-python-pyc usr/lib/python2.3/site-packages/test.pyc @@ -25,8 +25,8 @@ I: scripts source: debian-watch-file-should-dversionmangle-not-uversionmangle li I: scripts source: dpatch-missing-description 02_i_dont_have_a_description.patch I: scripts source: dpatch-missing-description 04_i_dont_have_a_description_either.patch I: scripts source: missing-debian-source-format -I: scripts: init.d-script-does-not-provide-itself /etc/init.d/lsb-broken -I: scripts: init.d-script-missing-lsb-short-description /etc/init.d/lsb-other +I: scripts: init.d-script-does-not-provide-itself etc/init.d/lsb-broken +I: scripts: init.d-script-missing-lsb-short-description etc/init.d/lsb-other I: scripts: no-md5sums-control-file I: scripts: script-in-usr-share-doc usr/share/doc/scripts/py2foo I: scripts: script-in-usr-share-doc usr/share/doc/scripts/rubyfoo @@ -66,16 +66,16 @@ W: scripts: executable-is-not-world-readable usr/bin/guile-bizarre 0705 != 0755 W: scripts: executable-is-not-world-readable usr/bin/perl-bizarre-2 0750 != 0755 W: scripts: executable-is-not-world-readable usr/bin/suidperlfoo2 4751 W: scripts: executable-not-elf-or-script usr/bin/perl-bizarre-3 -W: scripts: init-d-script-stops-in-s-runlevel /etc/init.d/lsb-broken -W: scripts: init-d-script-stops-in-s-runlevel /etc/init.d/skeleton -W: scripts: init.d-script-has-bad-lsb-line /etc/init.d/lsb-broken:4 -W: scripts: init.d-script-has-bad-lsb-line /etc/init.d/lsb-broken:9 -W: scripts: init.d-script-has-bad-stop-runlevel /etc/init.d/lsb-broken X -W: scripts: init.d-script-has-conflicting-start-stop /etc/init.d/lsb-broken 1 -W: scripts: init.d-script-has-unknown-lsb-keyword /etc/init.d/lsb-broken:14 foo -W: scripts: init.d-script-missing-lsb-keyword /etc/init.d/lsb-broken required-start -W: scripts: init.d-script-missing-lsb-section /etc/init.d/no-lsb -W: scripts: init.d-script-not-marked-as-conffile /etc/init.d/skeleton +W: scripts: init-d-script-stops-in-s-runlevel etc/init.d/lsb-broken +W: scripts: init-d-script-stops-in-s-runlevel etc/init.d/skeleton +W: scripts: init.d-script-has-bad-lsb-line etc/init.d/lsb-broken:4 +W: scripts: init.d-script-has-bad-lsb-line etc/init.d/lsb-broken:9 +W: scripts: init.d-script-has-bad-stop-runlevel etc/init.d/lsb-broken X +W: scripts: init.d-script-has-conflicting-start-stop etc/init.d/lsb-broken 1 +W: scripts: init.d-script-has-unknown-lsb-keyword etc/init.d/lsb-broken:14 foo +W: scripts: init.d-script-missing-lsb-keyword etc/init.d/lsb-broken required-start +W: scripts: init.d-script-missing-lsb-section etc/init.d/no-lsb +W: scripts: init.d-script-not-marked-as-conffile etc/init.d/skeleton W: scripts: maintainer-script-empty preinst W: scripts: maintainer-script-ignores-errors postinst W: scripts: non-standard-executable-perm usr/bin/perl-bizarre-3 0754 != 0755 -- 1.7.2.3
>From 0a90642b6fd4eaeeadb8bf0876bd20d7764817b4 Mon Sep 17 00:00:00 2001 From: Niels Thykier <niels@thykier.net> Date: Tue, 18 Jan 2011 00:17:53 +0100 Subject: [PATCH 3/5] Removed the / prefix from output of the conffiles check --- checks/conffiles | 13 +++++++------ t/tests/conffiles-general/tags | 6 +++--- testset/tags.etcfiles | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/checks/conffiles b/checks/conffiles index 7e43522..d0e47a4 100644 --- a/checks/conffiles +++ b/checks/conffiles @@ -46,18 +46,19 @@ while (<IN>) { tag "relative-conffile", $_; $_ = '/' . $_; } + my $file = $_; + $file =~ s@^/++@@o; + $conffiles{$file}++; - $conffiles{$_}++; - - if ($conffiles{$_} > 1) { - tag "duplicate-conffile", $_; + if ($conffiles{$file} > 1) { + tag "duplicate-conffile", $file; } if (m,^/usr/,) { - tag "file-in-usr-marked-as-conffile", $_; + tag "file-in-usr-marked-as-conffile", $file; } else { unless (m,^/etc/,) { - tag "non-etc-file-marked-as-conffile", $_; + tag "non-etc-file-marked-as-conffile", $file; } } diff --git a/t/tests/conffiles-general/tags b/t/tests/conffiles-general/tags index 9f7dc60..ce92674 100644 --- a/t/tests/conffiles-general/tags +++ b/t/tests/conffiles-general/tags @@ -1,4 +1,4 @@ -E: conffiles-general: duplicate-conffile /etc/foo -E: conffiles-general: file-in-usr-marked-as-conffile /usr/share/foo -E: conffiles-general: non-etc-file-marked-as-conffile /var/cache/foo +E: conffiles-general: duplicate-conffile etc/foo +E: conffiles-general: file-in-usr-marked-as-conffile usr/share/foo +E: conffiles-general: non-etc-file-marked-as-conffile var/cache/foo E: conffiles-general: relative-conffile etc/foo diff --git a/testset/tags.etcfiles b/testset/tags.etcfiles index 7875f92..1a77b2d 100644 --- a/testset/tags.etcfiles +++ b/testset/tags.etcfiles @@ -7,7 +7,7 @@ E: etcfiles: malformed-md5sums-control-file line 7 E: etcfiles: md5sum-mismatch etc/improper E: etcfiles: md5sums-lists-nonexisting-file usr/bin/foo E: etcfiles: no-copyright-file -E: etcfiles: non-etc-file-marked-as-conffile /var/lib/foo +E: etcfiles: non-etc-file-marked-as-conffile var/lib/foo E: only-etcfiles: extended-description-is-empty I: etcfiles source: missing-debian-source-format W: etcfiles source: ancient-standards-version 3.5.0 (current is 3.9.1) -- 1.7.2.3
>From c7fd2146ac19823919775cf70e0a3ea097b03a4f Mon Sep 17 00:00:00 2001 From: Niels Thykier <niels@thykier.net> Date: Tue, 18 Jan 2011 00:21:57 +0100 Subject: [PATCH 4/5] Removed the / prefix from filenames emitted by the etcfiles check --- checks/etcfiles | 2 +- t/tests/etcfiles-etc-not-marked/tags | 2 +- testset/tags.etcfiles | 4 ++-- testset/tags.filenames | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/checks/etcfiles b/checks/etcfiles index 9a734b1..d7e0c55 100644 --- a/checks/etcfiles +++ b/checks/etcfiles @@ -55,7 +55,7 @@ foreach my $file (@{$info->sorted_index}) { and $file ne 'etc/init.d/skeleton' and $file ne 'etc/init.d/rc' and $file ne 'etc/init.d/rcS') { - tag "file-in-etc-not-marked-as-conffile", "/$file"; + tag "file-in-etc-not-marked-as-conffile", "$file"; } } diff --git a/t/tests/etcfiles-etc-not-marked/tags b/t/tests/etcfiles-etc-not-marked/tags index 172788d..22d97ce 100644 --- a/t/tests/etcfiles-etc-not-marked/tags +++ b/t/tests/etcfiles-etc-not-marked/tags @@ -1 +1 @@ -E: etcfiles-etc-not-marked: file-in-etc-not-marked-as-conffile /etc/something.conf +E: etcfiles-etc-not-marked: file-in-etc-not-marked-as-conffile etc/something.conf diff --git a/testset/tags.etcfiles b/testset/tags.etcfiles index 1a77b2d..1a4325b 100644 --- a/testset/tags.etcfiles +++ b/testset/tags.etcfiles @@ -1,8 +1,8 @@ E: etcfiles source: debian-rules-missing-required-target binary-arch E: etcfiles source: not-binnmuable-all-depends-any only-etcfiles -> etcfiles E: etcfiles: changelog-file-not-compressed changelog -E: etcfiles: file-in-etc-not-marked-as-conffile /etc/improper -E: etcfiles: file-in-etc-not-marked-as-conffile /etc/improper-link +E: etcfiles: file-in-etc-not-marked-as-conffile etc/improper +E: etcfiles: file-in-etc-not-marked-as-conffile etc/improper-link E: etcfiles: malformed-md5sums-control-file line 7 E: etcfiles: md5sum-mismatch etc/improper E: etcfiles: md5sums-lists-nonexisting-file usr/bin/foo diff --git a/testset/tags.filenames b/testset/tags.filenames index 7a23d67..9df0968 100644 --- a/testset/tags.filenames +++ b/testset/tags.filenames @@ -7,7 +7,7 @@ E: filenames: dir-or-file-in-opt opt/foo/bar E: filenames: dir-or-file-in-srv srv/foo/ E: filenames: dir-or-file-in-srv srv/foo/bar E: filenames: dir-or-file-in-var-www var/www/foo -E: filenames: file-in-etc-not-marked-as-conffile /etc/gconf/schemas/test.schema +E: filenames: file-in-etc-not-marked-as-conffile etc/gconf/schemas/test.schema E: filenames: lengthy-symlink usr/lib/filenames/symlink4wrong ../filenames/symlink2 E: filenames: lengthy-symlink usr/share/doc/filenames/version.txt.gz ../filenames/doc/version6.txt.gz E: filenames: no-copyright-file -- 1.7.2.3
>From 0f51486d6ec148dbcae636a0ad822fe2de4a0e68 Mon Sep 17 00:00:00 2001 From: Niels Thykier <niels@thykier.net> Date: Tue, 18 Jan 2011 01:50:08 +0100 Subject: [PATCH 5/5] Removing ./ prefix from binaries check output --- checks/binaries | 29 +++++++++++++---------------- t/tests/binaries-embedded-libs/tags | 20 ++++++++++---------- t/tests/binaries-from-other-arch/tags | 6 +++--- t/tests/binaries-general/tags | 12 ++++++------ t/tests/binaries-misplaced/tags | 4 ++-- t/tests/binaries-spelling/tags | 4 ++-- testset/tags.binary | 6 +++--- testset/tags.debug | 12 ++++++------ testset/tags.libbaz | 12 ++++++------ 9 files changed, 51 insertions(+), 54 deletions(-) diff --git a/checks/binaries b/checks/binaries index de894cb..85e018c 100644 --- a/checks/binaries +++ b/checks/binaries @@ -104,7 +104,6 @@ $arch = $info->field('architecture'); foreach my $file (sort keys %{$info->objdump_info}) { my $objdump = $info->objdump_info->{$file}; - $file = './' . $file; if (defined $objdump->{SONAME}) { foreach my $soname (@{$objdump->{SONAME}}) { @@ -133,7 +132,7 @@ foreach my $file (sort keys %{$info->objdump_info}) { } elsif ($_ eq 'Packed with UPX') { tag "binary-file-compressed-with-upx", "$file"; } elsif ($_ eq 'Invalid operation') { - tag "binary-with-bad-dynamic-table", "$file" unless $file =~ m%^\./usr/lib/debug/%; + tag "binary-with-bad-dynamic-table", "$file" unless $file =~ m%^usr/lib/debug/%; } } } @@ -199,8 +198,6 @@ foreach my $file (@{$info->sorted_file_info}) { my $fileinfo = $info->file_info->{$file}; my $objdump = $info->objdump_info->{$file}; - $file = './' . $file; - # binary or object file? next unless ($fileinfo =~ m/^[^,]*\bELF\b/) or ($fileinfo =~ m/\bcurrent ar archive\b/); @@ -208,7 +205,7 @@ foreach my $file (@{$info->sorted_file_info}) { # only if those libraries aren't installed in a multiarch directory. The # package may be a support package for cross-compiles. if ($arch eq 'all') { - my ($arch) = ($file =~ m,^\./(?:usr/)?lib/([^/]+)/,); + my ($arch) = ($file =~ m,^(?:usr/)?lib/([^/]+)/,); $multiarch = Lintian::Data->new('binaries/multiarch') unless defined($multiarch); unless ($arch and $multiarch->known($arch)) { @@ -219,11 +216,11 @@ foreach my $file (@{$info->sorted_file_info}) { # ELF? next unless $fileinfo =~ m/^[^,]*\bELF\b/o; - if ($file =~ m,^\./etc/,) { + if ($file =~ m,^etc/,) { tag "binary-in-etc", "$file"; } - if ($file =~ m,^\./usr/share/,) { + if ($file =~ m,^usr/share/,) { tag "arch-dependent-file-in-usr-share", "$file"; } @@ -325,24 +322,24 @@ foreach my $file (@{$info->sorted_file_info}) { next if $type eq 'udeb'; # Perl library? - if ($file =~ m,^\./usr/lib/perl5/.*\.so$,) { + if ($file =~ m,^usr/lib/perl5/.*\.so$,) { $has_perl_lib = 1; } # PHP extension? - if ($file =~ m,^\./usr/lib/php\d/.*\.so$,) { + if ($file =~ m,^usr/lib/php\d/.*\.so$,) { $has_php_ext = 1; } # Something other than detached debugging symbols in /usr/lib/debug paths. - if ($file =~ m,^\./usr/lib/debug/(?:lib\d*|s?bin|usr|opt|dev|emul)/,) { + if ($file =~ m,^usr/lib/debug/(?:lib\d*|s?bin|usr|opt|dev|emul)/,) { if (exists($objdump->{NEEDED})) { tag "debug-file-should-use-detached-symbols", $file; } } # Detached debugging symbols directly in /usr/lib/debug. - if ($file =~ m,^\./usr/lib/debug/[^/]+$,) { + if ($file =~ m,^usr/lib/debug/[^/]+$,) { unless (exists($objdump->{NEEDED}) || $fileinfo =~ m/statically linked/) { tag "debug-symbols-directly-in-usr-lib-debug", $file; @@ -354,21 +351,21 @@ foreach my $file (@{$info->sorted_file_info}) { if ($fileinfo =~ m/shared object/o) { # Some exceptions: detached debugging information and the dynamic # loader (which itself has no dependencies). - next if ($file =~ m%^\./usr/lib/debug/%); - next if ($file =~ m%^\./lib(?:|32|64)/(?:[\w/]+/)?ld-[\d.]+\.so$%); + next if ($file =~ m%^usr/lib/debug/%); + next if ($file =~ m%^lib(?:|32|64)/(?:[\w/]+/)?ld-[\d.]+\.so$%); tag "shared-lib-without-dependency-information", "$file"; } else { # Some exceptions: files in /boot, /usr/lib/debug/*, named *-static or # *.static, or *-static as package-name. - next if ($file =~ m%^./boot/%); + next if ($file =~ m%^boot/%); next if ($file =~ /(?:\.|-)static$/); next if ($pkg =~ /-static$/); # klibc binaries appear to be static. next if ($objdump->{KLIBC}); # Location of debugging symbols. - next if ($file =~ m%^./usr/lib/debug/%); + next if ($file =~ m%^usr/lib/debug/%); # ldconfig must be static. - next if ($file eq './sbin/ldconfig'); + next if ($file eq 'sbin/ldconfig'); tag "statically-linked-binary", "$file"; } } else { diff --git a/t/tests/binaries-embedded-libs/tags b/t/tests/binaries-embedded-libs/tags index afc98e3..8d03637 100644 --- a/t/tests/binaries-embedded-libs/tags +++ b/t/tests/binaries-embedded-libs/tags @@ -1,10 +1,10 @@ -E: binaries-embedded-libs: embedded-libjpeg ./usr/bin/libjpeg -E: binaries-embedded-libs: embedded-libopenjpeg ./usr/bin/libopenjpeg -E: binaries-embedded-libs: embedded-libpng ./usr/bin/libpng -E: binaries-embedded-libs: embedded-library ./usr/bin/libbz2: bzip2 -E: binaries-embedded-libs: embedded-library ./usr/bin/libexpat: expat -E: binaries-embedded-libs: embedded-library ./usr/bin/libmagic: file -E: binaries-embedded-libs: embedded-library ./usr/bin/libpcre3: pcre3 -E: binaries-embedded-libs: embedded-library ./usr/bin/libtiff: tiff -E: binaries-embedded-libs: embedded-library ./usr/bin/libxml2: libxml2 -E: binaries-embedded-libs: embedded-zlib ./usr/bin/zlib +E: binaries-embedded-libs: embedded-libjpeg usr/bin/libjpeg +E: binaries-embedded-libs: embedded-libopenjpeg usr/bin/libopenjpeg +E: binaries-embedded-libs: embedded-libpng usr/bin/libpng +E: binaries-embedded-libs: embedded-library usr/bin/libbz2: bzip2 +E: binaries-embedded-libs: embedded-library usr/bin/libexpat: expat +E: binaries-embedded-libs: embedded-library usr/bin/libmagic: file +E: binaries-embedded-libs: embedded-library usr/bin/libpcre3: pcre3 +E: binaries-embedded-libs: embedded-library usr/bin/libtiff: tiff +E: binaries-embedded-libs: embedded-library usr/bin/libxml2: libxml2 +E: binaries-embedded-libs: embedded-zlib usr/bin/zlib diff --git a/t/tests/binaries-from-other-arch/tags b/t/tests/binaries-from-other-arch/tags index e6749bd..bf69c46 100644 --- a/t/tests/binaries-from-other-arch/tags +++ b/t/tests/binaries-from-other-arch/tags @@ -1,4 +1,4 @@ -E: binaries-from-other-arch: binary-from-other-architecture ./usr/bin/elfobject -E: binaries-from-other-arch: statically-linked-binary ./usr/bin/elfobject -W: binaries-from-other-arch: apparently-truncated-elf-binary ./usr/bin/elfobject +E: binaries-from-other-arch: binary-from-other-architecture usr/bin/elfobject +E: binaries-from-other-arch: statically-linked-binary usr/bin/elfobject +W: binaries-from-other-arch: apparently-truncated-elf-binary usr/bin/elfobject W: binaries-from-other-arch: binary-without-manpage usr/bin/elfobject diff --git a/t/tests/binaries-general/tags b/t/tests/binaries-general/tags index c61dcf9..f090942 100644 --- a/t/tests/binaries-general/tags +++ b/t/tests/binaries-general/tags @@ -1,7 +1,7 @@ -E: binaries-general: arch-dependent-file-in-usr-share ./usr/share/foo/basic -E: binaries-general: binary-or-shlib-defines-rpath ./usr/lib/foo/basiclibrpath /usr/lib -E: binaries-general: binary-or-shlib-defines-rpath ./usr/share/foo/basic /usr/local/lib -E: binaries-general: debug-symbols-directly-in-usr-lib-debug ./usr/lib/debug/basic -E: binaries-general: library-in-debug-or-profile-should-not-be-stripped ./usr/lib/debug/usr/share/foo/basic -W: binaries-general: binary-compiled-with-profiling-enabled ./usr/share/foo/basic +E: binaries-general: arch-dependent-file-in-usr-share usr/share/foo/basic +E: binaries-general: binary-or-shlib-defines-rpath usr/lib/foo/basiclibrpath /usr/lib +E: binaries-general: binary-or-shlib-defines-rpath usr/share/foo/basic /usr/local/lib +E: binaries-general: debug-symbols-directly-in-usr-lib-debug usr/lib/debug/basic +E: binaries-general: library-in-debug-or-profile-should-not-be-stripped usr/lib/debug/usr/share/foo/basic +W: binaries-general: binary-compiled-with-profiling-enabled usr/share/foo/basic W: binaries-general: debug-package-should-be-named-dbg usr/lib/debug/basic diff --git a/t/tests/binaries-misplaced/tags b/t/tests/binaries-misplaced/tags index ca65c7d..6e4d962 100644 --- a/t/tests/binaries-misplaced/tags +++ b/t/tests/binaries-misplaced/tags @@ -1,2 +1,2 @@ -E: binaries-misplaced: arch-independent-package-contains-binary-or-object ./etc/foo -E: binaries-misplaced: binary-in-etc ./etc/foo +E: binaries-misplaced: arch-independent-package-contains-binary-or-object etc/foo +E: binaries-misplaced: binary-in-etc etc/foo diff --git a/t/tests/binaries-spelling/tags b/t/tests/binaries-spelling/tags index 2eb64a3..e55fe90 100644 --- a/t/tests/binaries-spelling/tags +++ b/t/tests/binaries-spelling/tags @@ -1,3 +1,3 @@ -I: binaries-spelling: spelling-error-in-binary ./usr/bin/basic exprimental experimental -I: binaries-spelling: spelling-error-in-binary ./usr/bin/basic speling spelling +I: binaries-spelling: spelling-error-in-binary usr/bin/basic exprimental experimental +I: binaries-spelling: spelling-error-in-binary usr/bin/basic speling spelling W: binaries-spelling: binary-without-manpage usr/bin/basic diff --git a/testset/tags.binary b/testset/tags.binary index 27be48a..86c1486 100644 --- a/testset/tags.binary +++ b/testset/tags.binary @@ -40,20 +40,20 @@ E: binary: non-wm-module-in-wm-modules-menu-section wm /usr/share/menu/binary:22 E: binary: possible-gpl-code-linked-with-openssl E: binary: postinst-does-not-call-updatemenus usr/share/menu/binary E: binary: postrm-does-not-call-updatemenus etc/menu-methods/lintian -E: binary: statically-linked-binary ./usr/bin/static-hello +E: binary: statically-linked-binary usr/bin/static-hello E: binary: su-wrapper-without--c /usr/lib/menu/binary:2 su-to-root E: binary: su-wrapper-without--c /usr/lib/menu/binary:3 sux E: binary: su-wrapper-without--c /usr/share/menu/binary:2 su-to-root E: binary: su-wrapper-without--c /usr/share/menu/binary:3 sux E: binary: suidregister-used-in-maintainer-script postinst E: binary: symlink-contains-spurious-segments usr/share/doc/binary/html/ch2.html ../html/./ch1.html -E: binary: unstripped-binary-or-object ./usr/bin/hello +E: binary: unstripped-binary-or-object usr/bin/hello I: binary source: binary-control-field-duplicates-source field "vcs-svn" in package binary I: binary source: missing-debian-source-format I: binary source: xs-vcs-header-in-debian-control xs-vcs-browser I: binary-data: capitalization-error-in-description subversion Subversion I: binary: arch-dep-package-has-big-usr-share -I: binary: binary-has-unneeded-section ./usr/bin/hello-static .comment +I: binary: binary-has-unneeded-section usr/bin/hello-static .comment I: binary: capitalization-error-in-description debian Debian I: binary: desktop-entry-contains-encoding-key /usr/share/applications/goodbye.desktop:11 Encoding I: binary: desktop-entry-contains-encoding-key /usr/share/applications/hello.desktop:13 Encoding diff --git a/testset/tags.debug b/testset/tags.debug index c98d2f3..8f4ee1d 100644 --- a/testset/tags.debug +++ b/testset/tags.debug @@ -2,10 +2,10 @@ E: debug source: build-depends-indep-without-arch-indep E: debug source: version-substvar-for-external-package libhello0-dbg -> libhello E: hello-dbg: changelog-file-missing-in-native-package E: hello: pkg-has-symbols-control-file-but-no-shared-libs -E: hello: statically-linked-binary ./usr/bin/hello.dbg -E: hello: unstripped-binary-or-object ./usr/bin/hello.dbg -E: libhello0-dbg: binary-with-bad-dynamic-table ./usr/lib/libhello.so.dbg -E: libhello0-dbg: missing-dependency-on-libc needed by ./usr/lib/debug/lib/libhello.so.0.0 and 1 others +E: hello: statically-linked-binary usr/bin/hello.dbg +E: hello: unstripped-binary-or-object usr/bin/hello.dbg +E: libhello0-dbg: binary-with-bad-dynamic-table usr/lib/libhello.so.dbg +E: libhello0-dbg: missing-dependency-on-libc needed by usr/lib/debug/lib/libhello.so.0.0 and 1 others E: libhello0-dbg: sharedobject-in-library-directory-missing-soname usr/lib/libhello.so.dbg E: libhello0: duplicate-entry-in-symbols-control-file libhello 0 E: libhello0: invalid-template-id-in-symbols-file 12 @@ -34,9 +34,9 @@ W: hello: binary-without-manpage usr/bin/hello W: hello: binary-without-manpage usr/bin/hello.dbg W: hello: latest-debian-changelog-entry-without-new-version W: hi-dbg: latest-debian-changelog-entry-without-new-version -W: libhello0-dbg: debug-file-should-use-detached-symbols ./usr/lib/debug/lib/libhello.so.0.0 +W: libhello0-dbg: debug-file-should-use-detached-symbols usr/lib/debug/lib/libhello.so.0.0 W: libhello0-dbg: latest-debian-changelog-entry-without-new-version -W: libhello0-dbg: shared-lib-without-dependency-information ./usr/lib/libhello.so.dbg +W: libhello0-dbg: shared-lib-without-dependency-information usr/lib/libhello.so.dbg W: libhello0: latest-debian-changelog-entry-without-new-version W: libhello0: symbols-declares-dependency-on-other-package foobar (= 1.2) W: libhello0: symbols-declares-dependency-on-other-package hello-dbg diff --git a/testset/tags.libbaz b/testset/tags.libbaz index 63c4bc1..ea6e01c 100644 --- a/testset/tags.libbaz +++ b/testset/tags.libbaz @@ -1,6 +1,6 @@ E: libbaz source: not-binnmuable-any-depends-any libbaz1-dev -> libbaz1 E: libbaz source: weak-library-dev-dependency libbaz1-dev on libbaz1 (= ${source:Version}) -E: libbaz1-dev: missing-dependency-on-libc needed by ./usr/lib/perl5/auto/Foo/Foo.so +E: libbaz1-dev: missing-dependency-on-libc needed by usr/lib/perl5/auto/Foo/Foo.so E: libbaz1: control-file-has-bad-permissions shlibs 0755 != 0644 E: libbaz1: control-file-has-bad-permissions symbols 0755 != 0644 E: libbaz1: debian-changelog-file-missing-or-wrong-name @@ -18,19 +18,19 @@ E: libbaz1: shlib-with-executable-bit usr/lib/libfoo2.so.1.0.3b 0755 E: libbaz1: shlib-with-non-pic-code usr/lib/libbaz3.so.1.0.3b E: libbaz1: symbols-declared-but-not-shlib libbaz 2 E: libbaz1: symbols-file-contains-current-version-with-debian-revision on symbol pw -E: libbaz1: unstripped-binary-or-object ./usr/lib/libbaz1.so.1.0.3b -E: libbaz1: unstripped-binary-or-object ./usr/lib/libbaz3.so.1.0.3b -E: libbaz1: unstripped-binary-or-object ./usr/lib/libfoo2.so.1.0.3b +E: libbaz1: unstripped-binary-or-object usr/lib/libbaz1.so.1.0.3b +E: libbaz1: unstripped-binary-or-object usr/lib/libbaz3.so.1.0.3b +E: libbaz1: unstripped-binary-or-object usr/lib/libfoo2.so.1.0.3b E: libbaz2-dbg: debian-changelog-file-missing E: libbaz2-dev: changelog-file-not-compressed changelog E: libbaz2-dev: debian-changelog-file-missing-or-wrong-name E: libbaz2: debian-changelog-file-missing-or-wrong-name I: ia32-libbaz2: no-symbols-control-file usr/lib/i486-linux-gnu/libbaz2.so.1.0.3b I: libbaz source: missing-debian-source-format -I: libbaz1-dev: binary-has-unneeded-section ./usr/lib/perl5/auto/Foo/Foo.so .comment +I: libbaz1-dev: binary-has-unneeded-section usr/lib/perl5/auto/Foo/Foo.so .comment I: libbaz1-dev: no-md5sums-control-file I: libbaz1-dev: package-contains-empty-directory usr/include/ -I: libbaz1: binary-has-unneeded-section ./usr/lib/perl5/auto/Foo/Foo.so .comment +I: libbaz1: binary-has-unneeded-section usr/lib/perl5/auto/Foo/Foo.so .comment I: libbaz1: no-md5sums-control-file I: libbaz2-dbg: no-md5sums-control-file I: libbaz2-dev: no-md5sums-control-file -- 1.7.2.3
Attachment:
0001-Remove-the-.-prefix-in-filenames-from-scripts-output.patch.sig
Description: Binary data
Attachment:
0002-Removed-the-prefix-from-filenames-from-the-init.d-ch.patch.sig
Description: Binary data
Attachment:
0003-Removed-the-prefix-from-output-of-the-conffiles-chec.patch.sig
Description: Binary data
Attachment:
0004-Removed-the-prefix-from-filenames-emitted-by-the-etc.patch.sig
Description: Binary data
Attachment:
0005-Removing-.-prefix-from-binaries-check-output.patch.sig
Description: Binary data