diff options
author | Marc Espie <espie@cvs.openbsd.org> | 2008-08-14 13:06:05 +0000 |
---|---|---|
committer | Marc Espie <espie@cvs.openbsd.org> | 2008-08-14 13:06:05 +0000 |
commit | 27f5270e55dd6378aebb792ff93cdc35c046fb0d (patch) | |
tree | a45a7788d2b815baae4b7a1bbf22b34015b6db4b /usr.sbin/pkg_add | |
parent | eecc6de7b13e959cfb54054014921e092197aa56 (diff) |
let's make this half useful to recover from crashed disks with wrong info.
Diffstat (limited to 'usr.sbin/pkg_add')
-rw-r--r-- | usr.sbin/pkg_add/pkg_audit | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/usr.sbin/pkg_add/pkg_audit b/usr.sbin/pkg_add/pkg_audit index 5242dd2be76..688ac550e9f 100644 --- a/usr.sbin/pkg_add/pkg_audit +++ b/usr.sbin/pkg_add/pkg_audit @@ -1,6 +1,6 @@ #! /usr/bin/perl # ex:ts=8 sw=4: -# $OpenBSD: pkg_audit,v 1.4 2007/06/04 14:40:39 espie Exp $ +# $OpenBSD: pkg_audit,v 1.5 2008/08/14 13:06:04 espie Exp $ # # Copyright (c) 2003-2004 Marc Espie <espie@openbsd.org> # @@ -24,6 +24,7 @@ use File::Find; my %found; +print "Scanning packages\n"; for my $pkg (installed_packages()) { my $plist = OpenBSD::PackingList->from_installation($pkg, \&OpenBSD::PackingList::FilesOnly); @@ -34,7 +35,21 @@ for my $pkg (installed_packages()) { } } +print "\nFiles not accounted for by any package: \n"; find(sub { return unless -f $_; - print $File::Find::name, "\n" unless $found{$File::Find::name}; + if ($found{$File::Find::name}) { + delete $found{$File::Find::name}; + } else { + print $File::Find::name, "\n" + } }, '/usr/local'); + +print "\nStuff that should be there, but isn't:\n"; +my %packages; +for my $item (keys %found) { + push(@{$packages{$found{$item}}}, $item); +} +for my $pkg (keys %packages) { + print "$pkg -> ", join(' ', @{$packages{$pkg}}), "\n"; +} |