/usr/share/lintian/collection/debian-readme is in lintian 2.5.30+deb8u4.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | #!/usr/bin/perl -w
# debian-readme -- lintian collector script
# Copyright (C) 1998 Richard Braakman
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, you can find it on the World Wide
# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
# MA 02110-1301, USA.
package Lintian::coll::debian_readme;
use strict;
use warnings;
use autodie;
use lib "$ENV{'LINTIAN_ROOT'}/lib";
use Lintian::Util qw(fail gunzip_file touch_file is_ancestor_of);
sub collect {
my ($pkg, $type, $dir) = @_;
if (-f "$dir/README.Debian") {
unlink("$dir/README.Debian");
}
# If we are asked to only remove the files stop right here
if ($type =~ m/^remove-/) {
return;
}
# Pick the first of these files that exists.
my @readmes = (
"$dir/unpacked/usr/share/doc/$pkg/README.Debian.gz",
"$dir/unpacked/usr/share/doc/$pkg/README.Debian",
"$dir/unpacked/usr/share/doc/$pkg/README.debian.gz",
"$dir/unpacked/usr/share/doc/$pkg/README.debian",
);
if (-d "$dir/unpacked/usr/share/doc/$pkg"
&& !is_ancestor_of("$dir/unpacked", "$dir/unpacked/usr/share/doc/$pkg")
) {
# Unsafe path, stop here
touch_file("$dir/README.Debian");
return;
}
my $file;
for (@readmes) {
if (-f $_) {
$file = $_;
last;
}
}
if (not defined $file) {
# no README found
touch_file("$dir/README.Debian");
} elsif ($file =~ m/\.gz$/) {
gunzip_file($file, "$dir/README.Debian");
} else {
link($file, "$dir/README.Debian");
}
return;
}
collect(@ARGV) if $0 =~ m,(?:^|/)debian-readme$,;
1;
# Local Variables:
# indent-tabs-mode: nil
# cperl-indent-level: 4
# End:
# vim: syntax=perl sw=4 sts=4 sr et
|