Diff for /loncom/build/lpml_parse.pl between versions 1.18 and 1.20

version 1.18, 2001/11/16 21:10:32 version 1.20, 2001/11/17 21:30:28
Line 86  if (@ARGV) { Line 86  if (@ARGV) {
 $sourceroot=~s/\/$//;  $sourceroot=~s/\/$//;
 $targetroot=~s/\/$//;  $targetroot=~s/\/$//;
   
   my $logcmd='| tee -a WARNINGS';
   
 my $invocation;  my $invocation;
 # --------------------------------------------------- Record program invocation  # --------------------------------------------------- Record program invocation
 if ($mode eq 'install' or $mode eq 'configinstall' or $mode eq 'build') {  if ($mode eq 'install' or $mode eq 'configinstall' or $mode eq 'build') {
Line 695  sub format_files { Line 697  sub format_files {
  $depstring.="\telif !(test -r $command/$dep);\\\n";   $depstring.="\telif !(test -r $command/$dep);\\\n";
  $depstring.="\t\tthen echo ".   $depstring.="\t\tthen echo ".
  "\"**** WARNING **** missing the file: ".   "\"**** WARNING **** missing the file: ".
          "$command/$dep\";\\\n";           "$command/$dep\"$logcmd;\\\n";
  $depstring.="\t\ttest -e $source || test -e $target || echo ".   $depstring.="\t\ttest -e $source || test -e $target || echo ".
     "'**** ERROR **** neither source=$source nor target=".      "'**** ERROR **** neither source=$source nor target=".
     "$target exist and they cannot be built';\\\n";      "$target exist and they cannot be built'$logcmd;\\\n";
  $depstring.="\t\tmake -f Makefile.build ${source}___DEPS;\\\n";   $depstring.="\t\tmake -f Makefile.build ${source}___DEPS;\\\n";
  if ($olddep) {   if ($olddep) {
     $depstring2.="\t\tECODE=0;\\\n";      $depstring2.="\t\tECODE=0;\\\n";
     $depstring2.="\t\t! test -e $source && test -r $command/$olddep &&".      $depstring2.="\t\t! test -e $source && test -r $command/$olddep &&".
  " { perl filecompare.pl -b2 $command/$olddep $target ||  ECODE=\$\$?; } && { [ \$\$ECODE != \"2\" ] || echo \"**** WARNING **** dependency $command/$olddep is newer than target file $target; SOMETHING MAY BE WRONG\"; };\\\n";   " { perl filecompare.pl -b2 $command/$olddep $target ||  ECODE=\$\$?; } && { [ \$\$ECODE != \"2\" ] || echo \"**** WARNING **** dependency $command/$olddep is newer than target file $target; SOMETHING MAY BE WRONG\"$logcmd; };\\\n";
  }   }
  $olddep=$dep;   $olddep=$dep;
     }      }
     $binfo.="$source: $tword\n".      $binfo.="$source: $tword\n".
  "\t\@if !(echo \"\");\\\n\t\tthen echo ".   "\t\@if !(echo \"\");\\\n\t\tthen echo ".
  "\"**** WARNING **** Strange shell. ".   "\"**** WARNING **** Strange shell. ".
          "Check your path settings.\";\\\n".           "Check your path settings.\"$logcmd;\\\n".
  $depstring.   $depstring.
  "\telse \\\n\t\t$command2\n\tfi\n\n";   "\telse \\\n\t\t$command2\n\tfi\n\n";
     $binfo.="${source}___DEPS:\n".$depstring2."\t\tECODE=0;\n\n";      $binfo.="${source}___DEPS:\n".$depstring2."\t\tECODE=0;\n\n";
Line 770  sub format_file { Line 772  sub format_file {
  foreach my $dep (@deps) {   foreach my $dep (@deps) {
     $depstring.=<<END;      $depstring.=<<END;
  ECODE=0; DEP=''; \\   ECODE=0; DEP=''; \\
  test -e $command/$dep || (echo '**** WARNING **** cannot evaluate status of dependency $command/$dep (for building ${sourceroot}/${source} with)'); DEP="1"; \\   test -e $command/$dep || (echo '**** WARNING **** cannot evaluate status of dependency $command/$dep (for building ${sourceroot}/${source} with)'$logcmd); DEP="1"; \\
  [ -n DEP ] && { perl filecompare.pl -b2 $command/$dep ${targetroot}/${target} || ECODE=\$\$?; } || DEP="1"; \\   [ -n DEP ] && { perl filecompare.pl -b2 $command/$dep ${targetroot}/${target} || ECODE=\$\$?; } || DEP="1"; \\
  case "\$\$ECODE" in \\   case "\$\$ECODE" in \\
  2) echo "**** WARNING **** dependency $command/$dep is newer than target file ${targetroot}/${target}; you may want to run make build";; \\   2) echo "**** WARNING **** dependency $command/$dep is newer than target file ${targetroot}/${target}; you may want to run make build"$logcmd;; \\
  esac; \\   esac; \\
 END  END
  }   }
                 chomp $depstring;                  chomp $depstring;
  $buildtest=<<END;   $buildtest=<<END;
  \@if !(test -e "${sourceroot}/${source}") && !(test -e "${targetroot}/${target}"); then \\   \@if !(test -e "${sourceroot}/${source}") && !(test -e "${targetroot}/${target}"); then \\
  echo "**** ERROR **** ${sourceroot}/${source} is missing and is also not present at target location ${targetroot}/${target}; you must run make build"; exit; \\   echo "**** ERROR **** ${sourceroot}/${source} is missing and is also not present at target location ${targetroot}/${target}; you must run make build"$logcmd; exit; \\
 END  END
                 $buildtest.=<<END if $depstring;                  $buildtest.=<<END if $depstring;
  elif !(test -e "${sourceroot}/${source}"); then \\   elif !(test -e "${sourceroot}/${source}"); then \\
Line 793  END Line 795  END
             my $bflag='-b1';              my $bflag='-b1';
             $bflag='-b3' if $dependencies or $buildlink;              $bflag='-b3' if $dependencies or $buildlink;
     return <<END;      return <<END;
 $buildtest \@if !(test -e "${sourceroot}/${source}"); then \\  $buildtest \@if !(test -e "${sourceroot}/${source}") && !(test -e "${targetroot}/${target}"); then \\
  echo "**** WARNING **** CVS source file does not exist: ${sourceroot}/${source}"; \\   echo "**** ERROR **** CVS source file does not exist: ${sourceroot}/${source} and neither does target: ${targetroot}/${target}"$logcmd; \\
    elif !(test -e "${sourceroot}/${source}"); then \\
    echo "**** WARNING **** CVS source file does not exist: ${sourceroot}/${source}"$logcmd; \\
  else \\   else \\
  ECODE=0; \\   ECODE=0; \\
  perl filecompare.pl $bflag ${sourceroot}/${source} ${targetroot}/${target} || ECODE=\$\$?; \\   perl filecompare.pl $bflag ${sourceroot}/${source} ${targetroot}/${target} || ECODE=\$\$?; \\
  case "\$\$ECODE" in \\   case "\$\$ECODE" in \\
  1) echo "${targetroot}/${target} is unchanged";; \\   1) echo "${targetroot}/${target} is unchanged";; \\
  2) echo "**** WARNING **** target file ${targetroot}/${target} is newer than CVS source; creating ${targetroot}/${target}.lpmlnewfile instead" && install -o www -g www -m 0500 ${sourceroot}/${source} ${targetroot}/${target}.lpmlnewfile;; \\   2) echo "**** WARNING **** target file ${targetroot}/${target} is newer than CVS source; creating ${targetroot}/${target}.lpmlnewfile instead"$logcmd && install -o www -g www -m 0500 ${sourceroot}/${source} ${targetroot}/${target}.lpmlnewfile;; \\
  0) echo "install -o www -g www -m 0500 ${sourceroot}/${source} ${targetroot}/${target}" && install -o www -g www -m 0500 ${sourceroot}/${source} ${targetroot}/${target};; \\   0) echo "install -o www -g www -m 0500 ${sourceroot}/${source} ${targetroot}/${target}" && install -o www -g www -m 0500 ${sourceroot}/${source} ${targetroot}/${target};; \\
  esac; \\   esac; \\
  fi   fi
Line 812  END Line 816  END
 # $categoryhash{$categoryname}.' '.  # $categoryhash{$categoryname}.' '.
 # $sourceroot.'/'.$source.' '.  # $sourceroot.'/'.$source.' '.
 # $targetroot.'/'.$target.  # $targetroot.'/'.$target.
 # ' || echo "**** LON-CAPA WARNING '.  # ' || echo "**** WARNING '.
 # '**** CVS source file does not exist: '.$sourceroot.'/'.  # '**** CVS source file does not exist: '.$sourceroot.'/'.
 # $source.'"'."\n";  # $source.'"'."\n";
  }   }
  elsif ($mode eq 'configinstall' && $categoryname eq 'conf') {   elsif ($mode eq 'configinstall' && $categoryname eq 'conf') {
     push @configall,$targetroot.'/'.$target;      push @configall,$targetroot.'/'.$target;
     return $targetroot.'/'.$target.': alwaysrun'."\n".      return $targetroot.'/'.$target.': alwaysrun'."\n".
  "\t".'@echo -n ""; ECODE=0 && { perl filecompare.pl -b4 '.$sourceroot.'/'.$source.' '.$targetroot.'/'.$target.' || ECODE=$$?; } && { [ $$ECODE != "2" ] || (install '.$categoryhash{$categoryname}.' '.   "\t".'@echo -n ""; ECODE=0 && { perl filecompare.pl -b4 '.
    $sourceroot.'/'.$source.' '.$targetroot.'/'.$target.
    ' || ECODE=$$?; } && '.
    '{ [ $$ECODE != "2" ] || (install '.
                   $categoryhash{$categoryname}.' '.
  $sourceroot.'/'.$source.' '.   $sourceroot.'/'.$source.' '.
  $targetroot.'/'.$target.'.lpmlnewconf'.   $targetroot.'/'.$target.'.lpmlnewconf'.
  ' && echo "*** CONFIGURATION FILE CHANGE ***" && echo "'.   ' && echo "**** NOTE: CONFIGURATION FILE CHANGE ****"'.
    $logcmd.' && echo "'.
  'You likely need to compare contents of '.   'You likely need to compare contents of '.
  ''.$targetroot.'/'.$target.' with the new '.   ''.$targetroot.'/'.$target.' with the new '.
                 ''.$targetroot.'/'.$target.'.lpmlnewconf"'.                  ''.$targetroot.'/'.$target.'.lpmlnewconf"'.
  "); };\n\n";   "$logcmd); } && ".
    '{ [ $$ECODE != "3" ] || (install '.
                   $categoryhash{$categoryname}.' '.
    $sourceroot.'/'.$source.' '.
    $targetroot.'/'.$target.''.
    ' && echo "**** WARNING: NEW CONFIGURATION FILE ADDED ****"'.
    $logcmd.' && echo "'.
    'You likely need to review the contents of '.
    ''.$targetroot.'/'.$target.' to make sure its '.
                   'settings are compatible with your overall system"'.
    "$logcmd); } && ".
    '{ [ $$ECODE != "1" ] || ('.
    'echo "**** ERROR ****"'.
    $logcmd.' && echo "'.
    'Configuration source file does not exist '.
    ''.$sourceroot.'/'.$source.'"'.
    "$logcmd); };\n\n";
  }   }
  elsif ($mode eq 'build' && $build) {   elsif ($mode eq 'build' && $build) {
     push @buildall,$sourceroot.'/'.$source;      push @buildall,$sourceroot.'/'.$source;

Removed from v.1.18  
changed lines
  Added in v.1.20


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