OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Michael van Elst
  Root:   /e/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   28-Jul-2003 21:55:14
  Branch: HEAD                             Handle: 2003072820551400

  Modified files:
    openpkg-src/openpkg-tool
                            openpkg-build.pl

  Log:
    fix revdep computation, small code cleanup

  Summary:
    Revision    Changes     Path
    1.97        +14 -13     openpkg-src/openpkg-tool/openpkg-build.pl
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/openpkg-tool/openpkg-build.pl
  ============================================================================
  $ cvs diff -u -r1.96 -r1.97 openpkg-build.pl
  --- openpkg-src/openpkg-tool/openpkg-build.pl 28 Jul 2003 17:17:11 -0000      1.96
  +++ openpkg-src/openpkg-tool/openpkg-build.pl 28 Jul 2003 19:55:14 -0000      1.97
  @@ -515,8 +515,9 @@
   # compute reverse dependency map
   #
   #
  -sub get_revdep ($$) {
  -    my($env, $i) = @_;
  +sub get_revdep ($) {
  +    my($env) = @_;
  +    my($i) = $env->{'installed'};
       my($r) = $env->{'repository'};
       my($pkg, %dep, %dlist, %rev);
       my(@vers,$t,$t1,$t2,$with,$name,$vmap);
  @@ -548,9 +549,9 @@
                   %d = unique_map($d,$k);
                   # resolve package
                   unless (exists $pkg{$pkg}) {
  -                    ($t2,$old) = dep2target({ name => $pkg }, $env);
  +                    ($t2,$old) = dep2target({ name => $pkg }, $env, 1);
                       $t2 = undef if $old;
  -                    $pkg{$pkg} = undef;
  +                    $pkg{$pkg} = $t2;
                   }
                   $t2 = $pkg{$pkg};
                   next unless $t2;
  @@ -558,7 +559,7 @@
                       next if $_ eq 'OpenPKG';
                       # resolve target
                       unless (exists $name{$_}) {
  -                        ($t1,$old) = dep2target($d{$_}, $env);
  +                        ($t1,$old) = dep2target($d{$_}, $env, 0);
                           $name{$_} = $t1 ? $t1->{name} : $_;
                       }
                       $name = $name{$_};
  @@ -1615,8 +1616,8 @@
   #
   # locate target for a dependency
   #
  -sub dep2target ($$) {
  -    my($dep, $env) = @_;
  +sub dep2target ($$$) {
  +    my($dep, $env, $source) = @_;
       my($name,$op,@vers);
       my($i,$r,$b,$cond,$version);
       my($t,$tdef,$why);
  @@ -1654,11 +1655,11 @@
       if ($i && (@vers = get_versions($i, $cond))) {
           foreach (@vers) {
               $t = $i->{$_}->[0];
  -            next unless $t && 
  +            next unless $t;
               get_with($t);
               if (target_suitable($t, $env->{with}, 0)) {
                   $tdef = $t;
  -                unless ($env->{upgrade} || $env->{zero}) {
  +                unless ($env->{upgrade} || $env->{zero} || $source) {
                       return ($t, 1);
                   }
               }
  @@ -1685,7 +1686,7 @@
           if (!$tdef || (
               ($why = target_better($env, $t, $env->{installed})) &&
               $why ne 'new'
  -            )) {
  +            ) || $source) {
               return ($t, 0);
           }
       }
  @@ -1795,7 +1796,7 @@
               # old index misses a OpenPKG provider in the index... skip it
               next if $_ eq 'OpenPKG';
   
  -            ($t,$old) = dep2target($d{$_}, $env);
  +            ($t,$old) = dep2target($d{$_}, $env, 0);
               if ($t) {
                   if ($old) {
                       print "# $target->{name} uses ".vsn($t)." for $_\n";
  @@ -1864,7 +1865,7 @@
       if (!$env->{quick} && $target->{name} ne 'openpkg' ) {
   
           unless ($env->{revdep}) {
  -            $env->{revdep} = get_revdep($env, $env->{installed});
  +            $env->{revdep} = get_revdep($env);
           }
   
           foreach $t (@{$env->{revdep}->{$target->{name}}}) {
  @@ -2021,7 +2022,7 @@
       # cache reverse dependencies
       #
       unless ($env->{revdep}) {
  -        $env->{revdep} = get_revdep($env, $env->{repository});
  +        $env->{revdep} = get_revdep($env);
       }
   
       #
  @@ .
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
CVS Repository Commit List                     [EMAIL PROTECTED]

Reply via email to