Changeset 307


Ignore:
Timestamp:
01/14/11 04:16:55 (13 years ago)
Author:
nanardon
Message:
  • add search for unresolved dependencies
File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/trunk/bin/sophie-rpm

    r305 r307  
    2121=cut  
    2222 
    23 my $distrib = {}; 
     23my $distrib  = {}; 
     24my $searchsp = {}; 
    2425 
    2526=head1 OPTIONS 
     
    4041Being verbose, show each required packages 
    4142 
     43=item -s 
     44 
     45Search in database package matching unresolved dependencies 
     46 
    4247=back 
    4348 
     
    5055    # url http://sophie.zarb.org/rpc 
    5156    # proxy http://nanardon.zarb.org:3128/ 
     57    <distrib> 
     58    distribution Mandriva 
     59    release 2010.0 
     60    arch x86_64 
     61    </distrib> 
    5262    <distrib> 
    5363    distribution Mandriva 
     
    8696=back 
    8797 
     98=item search 
     99 
     100Works like distrib but is used to find not found dependencies when C<-s> is 
     101used. 
     102 
    88103=back 
    89104 
     
    91106 
    92107GetOptions( 
    93     'c=s' => \my $configfile, 
    94     'u=s' => \my $url, 
    95     'l=s' => \my $login, 
    96     'p=s' => \my $pass, 
    97     'v'   => \my $verbose, 
     108    'c=s'   => \my $configfile, 
     109    'u=s'   => \my $url, 
     110    'l=s'   => \my $login, 
     111    'p=s'   => \my $pass, 
     112    'v'     => \my $verbose, 
     113    's'     => \my $search, 
    98114    'proxy' => \my $proxy, 
    99115) or pod2usage; 
     
    107123    $pass        ||= $config{pass}; 
    108124    $proxy       ||= $config{proxy}; 
    109     $distrib     = $config{distrib}; 
     125    $distrib     =   $config{distrib}; 
     126    $searchsp    =   $config{search}; 
    110127} 
    111128 
     
    214231    print  map { " $_\n" }  @unresolved; 
    215232    print "\n"; 
     233    if ($search) { 
     234        print "\nSearching depedencies in sophie\n"; 
     235        foreach my $dep (@unresolved) { 
     236            my $res = $sc->send_request( 
     237                'search.rpm.bydep', $searchsp, 'P', split(' ', $dep) 
     238            ); 
     239            if (ref $res && !$res->is_fault) { 
     240                print "$dep: " . $res->value->{total_entries} . " results\n"; 
     241                foreach (@{ $res->value->{results} }) { 
     242                    print "    " . $sc->send_request('rpms.basicinfo', $_)->value->{filename}; 
     243                    print "\n"; 
     244                } 
     245            } 
     246        } 
     247    } 
    216248    exit(1); 
    217249} else { 
Note: See TracChangeset for help on using the changeset viewer.