=================================================================== RCS file: /cvs/openbsd/fill_chroot/find_depends,v retrieving revision 1.3 retrieving revision 1.6 diff -u -r1.3 -r1.6 --- openbsd/fill_chroot/find_depends 2005/12/21 18:22:32 1.3 +++ openbsd/fill_chroot/find_depends 2007/05/16 20:55:42 1.6 @@ -1,23 +1,21 @@ #!/usr/bin/perl -# $RedRiver: find_depends,v 1.2 2005/12/21 18:16:03 andrew Exp $ +# $RedRiver: find_depends,v 1.5 2005/12/21 19:14:12 andrew Exp $ use strict; use warnings; -# find /home/andrew/www/ -name *.so* | xargs find_depends \ -# | sort -u | xargs -I {} cp {} /home/andrew/www{} - -my @Files; my %opts; +my @Files; foreach (@ARGV) { - if (/^-(\w+)$/) { + if (/^-+(\w+)$/) { $opts{$1} = 1; } else { push @Files, $_; } } -die unless @Files; +Help() if $opts{h} || $opts{help}; +Usage() unless @Files; my %libs; @@ -35,13 +33,36 @@ exit; +sub Usage +{ + print "Usage: $0 [-v] file [file2 [file3 [...]]]\n"; + exit; +} + +sub Help +{ + print <{$spec}, $ld, $locs); } else { - warn "Couldn't find location for lib '$_'"; + warn "Couldn't find location for lib '$_' (file '$file')"; } } @@ -68,7 +89,7 @@ my $file = shift; my @libs; - open my $libs, '<', $file or die; + open my $libs, '<', $file or die "Couldn't open lib '$file': $!"; local $/ = chr(0); while (<$libs>) { if (m|^(/[^\w\/]+/)?lib(\S+)\.(\d+)\.(\d+)|) { @@ -90,7 +111,8 @@ my $ldconfig = '/sbin/ldconfig'; my (%paths, %libs); - open my $ld, '-|', $ldconfig, '-r' or die; + open my $ld, '-|', $ldconfig, '-r' + or die "Couldn't open pipe to ldconfig: $!"; while (<$ld>) { chomp; if (/search directories:\s+(.*)/) {