--- loncom/build/Attic/parse.pl 2001/01/23 16:26:38 1.27 +++ loncom/build/Attic/parse.pl 2001/02/26 21:21:47 1.28 @@ -1329,6 +1329,7 @@ END my $category=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'CATEGORY'}; my $fdescription=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'DESCRIPTION'}; my $source=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'SOURCE'}; + my $source2=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'SOURCE'}; my $note=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'NOTE'}; $note.="
" if $note; my $listing=$info{'LOCATION'}{$distribution}{$filesfull[$i]}{'FILES'}; @@ -1361,6 +1362,9 @@ END $source="$source"; } } + my $checksum; + my $checksum_source; + my $checksum_target; if ($mode eq 'status') { $filestatus=''; my $fs; @@ -1383,6 +1387,16 @@ END } else { $fs=`find /$filesfull[$i] -prune -printf "\%m\t\%u\t\%g" 2>/dev/null`; + if (-f "/$filesfull[$i]" && !(-l "/$filesfull[$i]")) { + $checksum_source=`md5sum ../../$source2 | cut -d ' ' -f1`; + chop $checksum_source; + $checksum_target=`md5sum /$filesfull[$i] | cut -d ' ' -f1`; + chop $checksum_target; + warn ("CS: $checksum_source, CT: $checksum_target\n"); + unless ($checksum_source eq $checksum_target) { + $checksum="
CHECKSUM DIFFERENCE"; + } + } } my $fsl=`find /$filesfull[$i] -type l -prune -printf "\%m\t\%u\t\%g" 2>/dev/null`; unless ($fs || $filestatus) { @@ -1406,13 +1420,13 @@ END $s=''; } if ($fs eq "$chmod$s$chown" && $fs eq "$devchmod$s$devchown") { - $filestatus='runtime+development'; + $filestatus="runtime+development$checksum"; } elsif ($fs eq "$chmod$s$chown") { - $filestatus='runtime'; + $filestatus="runtime$checksum"; } elsif ($fs eq "$devchmod$s$devchown") { - $filestatus='development'; + $filestatus="development$checksum"; } else { $filestatus="ERROR
$fs";