#!/usr/bin/perl -w
|
|
|
|
use English;
|
|
use strict;
|
|
|
|
if (not defined $ARGV[0] or not chdir $ARGV[0]) {
|
|
print "\nUsage: $0 rootdir\n\n";
|
|
print "E.g.: $0 build/ref0818-2.1.0-DEV-x86-reference-expert\n\n";
|
|
exit 1;
|
|
}
|
|
|
|
my %baddirs;
|
|
my %badcount;
|
|
my %badpkgs;
|
|
|
|
while (<var/adm/dep-debug/*>) {
|
|
/.*\/(\S+)/;
|
|
my $p = $1;
|
|
my %dirdep;
|
|
my %filedep;
|
|
|
|
open P, $_ or die $!;
|
|
while (<P>) {
|
|
chomp;
|
|
my ($d, $f) = split /: /;
|
|
next if $d =~ /-dirtree$/;
|
|
|
|
if (-d $f) {
|
|
$dirdep{$d}{$f} = 1;
|
|
} else {
|
|
$filedep{$d} = 1;
|
|
}
|
|
}
|
|
close P;
|
|
|
|
foreach (keys %filedep) {
|
|
delete $dirdep{$_};
|
|
}
|
|
|
|
foreach my $d (keys %dirdep) {
|
|
foreach (keys %{$dirdep{$d}}) {
|
|
$baddirs{$d}{$_}++;
|
|
$badpkgs{$d}{$p}++;
|
|
}
|
|
$badcount{$d}++;
|
|
}
|
|
}
|
|
|
|
foreach my $d (keys %badcount) {
|
|
print "\nFound pure dir dependencies to $d ($badcount{$d}):\n";
|
|
foreach (keys %{$badpkgs{$d}}) {
|
|
print "\tpkg\t$badpkgs{$d}{$_}\t$_\n";
|
|
}
|
|
foreach (keys %{$baddirs{$d}}) {
|
|
print "\tdir\t$baddirs{$d}{$_}\t$_\n";
|
|
}
|
|
}
|
|
|
|
print "\n";
|
|
exit 0;
|
|
|