From 3172beb8b749885984e34f5e06cc631497a2f469 Mon Sep 17 00:00:00 2001 From: espie Date: Thu, 14 Aug 2008 13:06:04 +0000 Subject: [PATCH] let's make this half useful to recover from crashed disks with wrong info. --- usr.sbin/pkg_add/pkg_audit | 19 +++++++++++++++++-- 1 file 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 # @@ -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"; +} -- 2.20.1