File: manicheck

package info (click to toggle)
perl 5.24.1-3+deb9u5
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 103,716 kB
  • sloc: perl: 559,611; ansic: 293,886; sh: 67,316; pascal: 7,632; cpp: 3,895; makefile: 2,436; xml: 2,410; yacc: 989; sed: 6; lisp: 1
file content (27 lines) | stat: -rw-r--r-- 644 bytes parent folder | download | duplicates (4)
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
#!/usr/bin/perl

# output a list of:
#  a) files listed in MANIFEST which don't exist
#  b) files which exist but which aren't in MANIFEST

use strict;
use warnings;
use File::Find;

open my $fh, 'MANIFEST' or die "Can't read MANIFEST: $!\n";
my @files = map { (split)[0] } <$fh>;
close $fh;
for (@files) {
    print "$_ from MANIFEST doesn't exist\n" if ! -f;
}
my %files = map { $_ => 1 } @files;
find {
    wanted => sub {
        my $x = $File::Find::name; $x =~ s/^..//;
        return if -d;
        return if $_ eq '.gitignore';
        return if $x =~ /^\.git\b/;
        print "$x\t\tnot in MANIFEST\n" if !$files{$x};
    },
}, ".";