--- toast 2003/11/29 00:33:21 1.253 +++ toast 2003/12/01 04:19:59 1.254 @@ -13,15 +13,14 @@ # # ############################################################################## -use 5; +use 5; # oldest version that actually works might be 5.003; not sure.... +# allow script to run even in the absence of strict.pm, etc. BEGIN { $^W = 1 } # use warnings -BEGIN { $SIG{'__DIE__'} = sub { warn(@_) } } -use strict; # if available -BEGIN { $SIG{'__DIE__'} = 'DEFAULT' } +BEGIN { $^H |= 0x602 } # use strict # warn if "use warnings" and "use strict" are not both in effect -if($^V) # 5.0 emits spurious message +if($^V && %SIG) # test requires perl 5.6.0 with working %SIG (not microperl) { { my($ok); { local $SIG{'__WARN__'} = sub { die }; $ok = !eval('1 + "a"') } $ok || warn("use warnings"); } @@ -2232,6 +2231,7 @@ elsif($cfg eq "configure.gnu") { # force perl to install files it thinks are already installed + # (5.8.2 and later support DESTDIR and should no longer need this) optpatch { s/^use File::Compare;$/sub compare(\$\$){1}; #$genby/ } path($dir, "installperl"); } @@ -2473,7 +2473,7 @@ push(@targets, "install_root=$rootdir") if $usedestdir; # glibc push(@targets, "INS_BASE=$rootdir") if $cdrtools; cdrun($makedir, @trace, "make", @targets); - run(@trace, qw[cp -R], glob("$netpbm/*/"), $rootdir) if $netpbm; + run(@trace, "sh", "-c", "cp -R '$netpbm'/*/ '$rootdir'") if $netpbm; error("trace complete; aborting") if debugrewrite; } @@ -5202,9 +5202,11 @@ - build fails for: jikes, sirc, netcat, lcab, busybox (ow!), gv - "toast --autoremove --crossversion upgrade toast" breaks everything - if x/1/1 is armed and x/1/2 is built, "toast arm x" does nothing + - various unquoted arguments to 2-arg open() Wish list: + - work around lack of getenv() in microperl - put version and additional information at the *top* of broken.log - "toast upgrade" w/o args should imply --nostoponerror or something - "toast arm" should move armed packages to top of stacking order