Diff for /loncom/build/system_dependencies/perltest.pl between versions 1.9 and 1.12

version 1.9, 2002/11/04 01:57:53 version 1.12, 2003/08/22 20:48:38
Line 16  B<perltest.pl> - Test status of perl mod Line 16  B<perltest.pl> - Test status of perl mod
   
 # Written to help LON-CAPA (The LearningOnline Network with CAPA)  # Written to help LON-CAPA (The LearningOnline Network with CAPA)
 #  #
 # YEAR=2001  
 # 9/30 Scott Harrison  
 # YEAR 2002 and onwards  
 # Scott Harrison, sharrison@users.sourceforge.net  
   
 =pod  =pod
   
Line 142  Ratings: 1=horrible 2=poor 3=fair 4=good Line 138  Ratings: 1=horrible 2=poor 3=fair 4=good
   
 =head1 AUTHOR  =head1 AUTHOR
   
 Scott Harrison, sharrison@users.sourceforge.net, 2001, 2002  
   
 This software is distributed under the General Public License,  This software is distributed under the General Public License,
 version 2, June 1991 (which is the same terms as LON-CAPA).  version 2, June 1991 (which is the same terms as LON-CAPA).
   
Line 331  my @dev_missing; Line 325  my @dev_missing;
 my @dev_outdated;  my @dev_outdated;
 my @dev_okay;  my @dev_okay;
 my @dev_veryokay;  my @dev_veryokay;
   my @dev_to_update;
 my @stable_missing;  my @stable_missing;
 my @stable_outdated;  my @stable_outdated;
 my @stable_okay;  my @stable_okay;
 my @stable_veryokay;  my @stable_veryokay;
   my @stable_to_update;
   
 # ===== Loop through all of the needed CPAN distributions and probe the system.  # ===== Loop through all of the needed CPAN distributions and probe the system.
 foreach my $dist (keys %dist_module_hash)  foreach my $dist (keys %dist_module_hash) {
   {  
     my $module = $dist_module_hash{$dist};      my $module = $dist_module_hash{$dist};
     my $fs = $modulefs_hash{$module};      my $fs = $modulefs_hash{$module};
     my $fsflag = 0;      my $fsflag = 0;
     if ($big_module_string =~ /$fs/)      if ($big_module_string =~ /$fs/) { $fsflag = 1; }
       {  
         $fsflag = 1;  
       }  
     my ($vok,$vstr);      my ($vok,$vstr);
     ($vok,$vstr) = have_vers($module,$module_dev_version_hash{$module});      foreach my $type ('dev','stable') {
     # print "fsflag: $fsflag, vok: $vok, vstr: $vstr, fs: $fs\n";   my ($vers_mod,$vers_dist);
     if ($fsflag and !$vok and $vstr=~/not found/)   my ($missing,$outdated,$veryokay,$okay,$to_update);
       {   if ($type eq 'dev') {
  push(@dev_missing,'MISSING  '.$dist.' (want distribution version '.      $vers_mod=$module_dev_version_hash{$module};
      $dist_dev_version_hash{$dist}.') ?'."\n");      $vers_dist=$dist_dev_version_hash{$dist};
  # The question mark indicates there was a pattern match in the      ($missing,$outdated,$veryokay,$okay,$to_update)=
  # big_module_string which would be unexpected.   (\@dev_missing,\@dev_outdated,\@dev_veryokay,\@dev_okay,
  # There is no usual reason to tell the normal LON-CAPA user about this   \@dev_to_update);
  # question mark.  This is just source code magic.   } elsif ($type eq 'stable') {
       }      $vers_mod=$module_stable_version_hash{$module};
     elsif (!$fsflag and !$vok and $vstr=~/not found/)      $vers_dist=$dist_stable_version_hash{$dist};
       {      ($missing,$outdated,$veryokay,$okay,$to_update)=
  push(@dev_missing,'MISSING  '.$dist.' (want distribution version '.   (\@stable_missing,\@stable_outdated,\@stable_veryokay,
      $dist_dev_version_hash{$dist}.')'."\n");   \@stable_okay,\@stable_to_update);
       }   }
     elsif ($fsflag and !$vok and $vstr!~/not found/)   ($vok,$vstr) = have_vers($module,$vers_mod);
       {   # print "fsflag: $fsflag, vok: $vok, vstr: $vstr, fs: $fs\n";
  push(@dev_outdated,'OUTDATED '.$dist.' wanted module: v'.   if ($fsflag and !$vok and $vstr=~/not found/) {
      $module_dev_version_hash{$module}.'; '.$vstr.' (VERSION_FROM is '.      push(@$missing,'MISSING  '.$dist.' (want distribution '.
      $fs.') want dist version '.$dist_dev_version_hash{$dist}.'.'.   $module.' version '. $vers_dist.') ?'."\n");
      "\n");      push(@$to_update,$dist);
       }      # The question mark indicates there was a pattern match in the
     elsif ($fsflag)      # big_module_string which would be unexpected.
       {      # There is no usual reason to tell the normal LON-CAPA user about this
  $vstr=~/found v(.*)/;      # question mark.  This is just source code magic.
  my $vc=$1;   } elsif (!$fsflag and !$vok and $vstr=~/not found/) {
  if ($vc eq $module_dev_version_hash{$module})      push(@$missing,'MISSING  '.$dist.' (want distribution '.
           {   $module.' version '.$vers_dist.')'."\n");
     push(@dev_veryokay,'VERYOKAY '.$dist.' wanted: v'.      push(@$to_update,$dist);
  $module_dev_version_hash{$module}.'; '.$vstr.   } elsif ($fsflag and !$vok and $vstr!~/not found/) {
  ' (VERSION_FROM is '.$fs.') want dist version '.      push(@$outdated,'OUTDATED '.$dist.' wanted module: v'.
  $dist_dev_version_hash{$dist}."\n");   $vers_mod.'; '.$vstr.' (VERSION_FROM is '.
   }   $fs.') want dist '.$module.' version '.$vers_dist.'.'. "\n");
  else      push(@$to_update,$dist);
           {   } elsif ($fsflag) {
     push(@dev_okay,'OKAY     '.$dist.' wanted: v'.      $vstr=~/found v(.*)/;
   $module_dev_version_hash{$module}.'; '.$vstr.      my $vc=$1;
   ' (VERSION_FROM is '.$fs.').'."\n");      if ($vc eq $vers_mod) {
   }   push(@$veryokay,'VERYOKAY '.$dist.' wanted: v'.
       }       $vers_mod.'; '.$vstr.' (VERSION_FROM is '.$fs.
     ($vok,$vstr) = have_vers($module,$module_stable_version_hash{$module});       ') want dist '.$module.' version '.$vers_dist."\n");
     if ($fsflag and !$vok and $vstr=~/not found/)      } else {
       {   push(@$okay,'OKAY     '.$dist.' wanted: v'.
  push(@stable_missing,'MISSING  '.$dist.' (want distribution version '.       $vers_mod.'; '.$vstr.' (VERSION_FROM is '.$fs.').'."\n");
      $dist_stable_version_hash{$dist}.') ?'."\n");      }
  # The question mark indicates there was a pattern match in the   }
  # big_module_string which would be unexpected.      }
  # There is no usual reason to tell the normal LON-CAPA user about this  }
  # question mark.  This is just source code magic.  
       }  
     elsif (!$fsflag and !$vok and $vstr=~/not found/)  
       {  
  push(@stable_missing,'MISSING  '.$dist.' (want distribution version '.  
      $dist_stable_version_hash{$dist}.')'."\n");  
       }  
     elsif ($fsflag and !$vok and $vstr!~/not found/)  
       {  
  push(@stable_outdated,'OUTDATED '.$dist.' wanted module: v'.  
      $module_stable_version_hash{$module}.'; '.$vstr.  
      ' (VERSION_FROM is '.$fs.') want dist version '.  
      $dist_stable_version_hash{$dist}.'.'."\n");  
       }  
     elsif ($fsflag)  
       {  
  $vstr=~/found v(.*)/;  
  my $vc=$1;  
  if ($vc eq $module_stable_version_hash{$module})  
           {  
     push(@stable_veryokay,'VERYOKAY '.$dist.' wanted: v'.  
  $module_stable_version_hash{$module}.'; '.$vstr.  
  ' (VERSION_FROM is '.$fs.') want dist version '.  
  $dist_stable_version_hash{$dist}."\n");  
   }  
  else  
           {  
     push(@stable_okay,'OKAY     '.$dist.' wanted: v'.  
   $module_stable_version_hash{$module}.'; '.$vstr.  
   ' (VERSION_FROM is '.$fs.').'."\n");  
   }  
       }  
   }  
   
 print("\n".'SYNOPSIS'."\n");  print("\n".'SYNOPSIS'."\n");
   
Line 556  if ($mode eq "html") Line 515  if ($mode eq "html")
 END  END
   }    }
   
   if ($mode =~ /^update(dev|stable)$/) {
       use CPAN;
       my $type=$1;
       print $detailstream 'Attempting to do a '.$type.' update'."\n";
       my $to_update;
       if ($type eq 'dev') {
    $to_update=\@dev_to_update;
       } elsif ($type eq 'stable') {
    $to_update=\@stable_to_update;
       }
       foreach my $dist (@$to_update) {
    my $module=$dist_module_hash{$dist};
    my ($vers_mod,$vers_dist);
    if ($type eq 'dev') {
       $vers_mod=$module_dev_version_hash{$module};
       $vers_dist=$dist_dev_version_hash{$dist};
    } elsif ($type eq 'stable') {
       $vers_mod=$module_stable_version_hash{$module};
       $vers_dist=$dist_stable_version_hash{$dist};
    }
    install($module);
       }
   }
 # ================================================================ Subroutines.  # ================================================================ Subroutines.
 # Note that "vers_cmp" and "have_vers" are adapted from a bugzilla version 2.16  # Note that "vers_cmp" and "have_vers" are adapted from a bugzilla version 2.16
 # "checksetup.pl" script.  # "checksetup.pl" script.

Removed from v.1.9  
changed lines
  Added in v.1.12


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