This isn’t so much a fix for the vuxml problem mentioned previously as it is a fix for properly detecting and reporting fetch errors. The patch is pretty simple:
$ cvs di -u utilities.pm Index: utilities.pm =================================================================== RCS file: /home/repositories/freshports-1/scripts/utilities.pm,v retrieving revision 1.16 diff -u -r1.16 utilities.pm --- utilities.pm 13 Sep 2007 13:01:41 -0000 1.16 +++ utilities.pm 13 Sep 2007 13:43:33 -0000 @@ -74,9 +74,9 @@ my $command = "sh $FreshPorts::Config::scriptpath/fetch-cvs-file.sh \ $URL $SRCDIR $FILE $REVISION $SUFFIX 2>&1"; print "about to fetch = '$command'"; my $FetchResults = `$command`; - $result = $?; -# print "fetch result = $result\n"; - if (($result >> 8)) { + my $code = $?; + print "fetch result = $code\n"; + if (($code >> 8)) { # # This might be a nice place to retry a fetch, or send an email #
It is not shown, but $result is returned by this function. It was being overwritten by the fetch command. With this change, we use $code instead of $result for the fetch, thereby ensuring that this code segment works correctly:
my $result = 0; my $FetchAttempts = $FreshPorts::Config::Fetch_Retry_Limit; while ($FetchAttempts) { ... # if we succeeded in our fetch.. if ($FetchAttempts) { $result = 1; } return $result;I’ll be putting this code into production soon.