-----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