[BACK]Return to find_depends CVS log [TXT][DIR] Up to [local] / openbsd / fill_chroot

Diff for /openbsd/fill_chroot/find_depends between version 1.8 and 1.10

version 1.8, 2008/05/05 19:58:18 version 1.10, 2008/09/16 23:15:03
Line 1 
Line 1 
 #!/usr/bin/perl  #!/usr/bin/perl
 # $RedRiver: find_depends,v 1.7 2008/04/22 20:08:41 andrew Exp $  # $RedRiver: find_depends,v 1.9 2008/05/05 19:02:57 andrew Exp $
 use strict;  use strict;
 use warnings;  use warnings;
   
Line 69 
Line 69 
     my ($name, $maj, $min) = $_ =~ /lib([^\/]+)\.so\.(\d+)\.(\d+)$/;      my ($name, $maj, $min) = $_ =~ /lib([^\/]+)\.so\.(\d+)\.(\d+)$/;
     next if ! $name;      next if ! $name;
     my $spec = 'l' . $name . '.' . $maj . '.' . $min;      my $spec = 'l' . $name . '.' . $maj . '.' . $min;
       print "  Found spec '$spec'\n" if $opts{v};
   
     if (exists $ld->{$spec}) {      if (exists $ld->{$spec}) {
       next if exists $locs->{$spec};        next if exists $locs->{$spec};
   
       $locs->{$spec} = $ld->{$spec};        $locs->{$spec} = $ld->{$spec};
         $locs = find_libs($ld->{$spec}, $ld, $locs);
       $locs = find_libs($locs->{$spec}, $ld, $locs);  
   
     } else {      } else {
       warn "Couldn't find location for lib '$_' (file '$file')";        warn "Couldn't find location for lib '$_' (file '$file')";
Line 92 
Line 92 
   
   open my $libs, '-|', '/usr/bin/ldd', $file or die "Couldn't open ldd '$file': $!";    open my $libs, '-|', '/usr/bin/ldd', $file or die "Couldn't open ldd '$file': $!";
   while (<$libs>) {    while (<$libs>) {
     next if length($_) < 56;  
     chomp;      chomp;
     my $spec = substr $_, 56;      my ($spec) = (split(/\s+/, $_))[7];
       next if ! $spec;
     next if $spec !~ m{^/}xms;      next if $spec !~ m{^/}xms;
     push @libs, $spec;      push @libs, $spec;
   }    }

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.10

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>