--- toast 2004/02/25 06:47:25 1.302 +++ toast 2004/02/26 02:02:18 1.303 @@ -747,10 +747,13 @@ my($prog, @args) = @_; announce($prog, @args); @args = shellescape(@args); - if(!open(HANDLE, "$prog @args |")) { - explain("failed to exec $prog: $!"); - return false; + local($^W) = false; # suppress misguided exec failure warning + if(!open(HANDLE, "$prog @args |")) + { + explain("failed to exec $prog: $!"); + return false; + } } binmode(HANDLE) || error("binmode: $!"); # perl 5.8.0 utf8 bug } @@ -1312,10 +1315,11 @@ optrun(findperl, "-V"); optrun("printenv"); my(@urls) = pkgurls($name, $version); + explain("no urls") unless @urls; explain("url: $_") for @urls; - my($verdir) = pkgpath($name, $version); - my($archivedir) = path($verdir, archivedir); - optrun("md5sum", absls($archivedir)); + my(@archives) = absls(path(pkgpath($name, $version), archivedir)); + explain("no archives") unless @archives; + optrun("md5sum", @archives) if @archives; true; } @@ -4037,9 +4041,9 @@ my($defaultman) = "/usr/man:/usr/share/man:/usr/local/man:/usr/X11R6/man"; if(!exists($ENV{MANPATH})) # don't bother unless we're going to use it... { - my($out) = `man -w`; - chomp($out); - $defaultman = $out if $out =~ m!^/! && $out !~ /\n/; + my($out) = `man -w 2>/dev/null`; + chomp($out) if defined($out); + $defaultman = $out if defined($out) && $out =~ m!^/! && $out !~ /\n/; } printenvcmd("PATH", "sbin:bin"); @@ -4330,7 +4334,7 @@ } elsif(defined($oversion) && !defined($version)) { - $nourls = false if -e; + ($nourls, $name, $oname) = false if -r && !-d; } else { @@ -6055,10 +6059,6 @@ wxpython - autofind chooses Linux binaries over source for doxygen - build fails for: jikes, sirc, netcat, lcab, gv, bittorrent - - "toast add foo/bar-1.2.tar.gz" guesses "foo version bar-1.2.tar.gz" - - openprog() still emits redundant exec() warnings - - toast build hangs in md5sum if a package has no archives or urls - - in some environments, toast env spews warnings if MANPATH is unset Wish list: