--- toast 2003/10/27 04:08:26 1.233 +++ toast 2003/11/02 03:19:49 1.234 @@ -1384,7 +1384,7 @@ error("no listing for package $name on $sitename") if $notfound; my($redirurl); - $redirurl ||= $fmurl{$_} for qw(bz2 tgz zip rpm); + $redirurl ||= $fmurl{$_} for qw(bz2 tgz zip rpm homepage); $redirurl || error("no suitable URL for package $name on $sitename"); my($redirhead) = httphead($redirurl); @@ -1409,6 +1409,9 @@ { my(@matches) = grep(stripquery($_) =~ /\Q$ext\E$/i, @urls); + my(@namematches) = grep { my($n) = guessnv($_); $n eq $name } @matches; + @matches = @namematches if @namematches; + my($matchver) = $version; if(!defined($matchver)) { @@ -1526,7 +1529,7 @@ setpkgurls($name, $version, @urls); - ($name, $version); + ($name, $version, @urls); } ############################################################################## @@ -1627,9 +1630,9 @@ sub get(@) { my($name, $version, $build, @urls) = @_; - my($autorename) = !defined($version) && autorename; + my($autorename) = @urls && !defined($version) && autorename; - ($name, $version) = add(@_) if @urls || !isadded($name, $version); + ($name, $version, @urls) = add(@_) if @urls || !isadded($name, $version); $build && error; defined($name) || error; @@ -1659,7 +1662,7 @@ ($name, $version) = autorenamepkg($name, $version, $changed ? @urls : ()) if $autorename; - ($name, $version); + ($name, $version, @urls); } ############################################################################## @@ -2195,6 +2198,7 @@ $builddir ||= /error: you must configure in a separate build/; # glibc $builddir||=m!\. \$srcdir/build-tools/scripts/configure-top !;#arch/tla $bogus ||= /There is no .+configure.+ script .+Instead/i; # libpng + $bogus ||= /configure is no longer used - just type /i; # cdrtools s/(^\s*)read\s+(acceptance)(\s*$)/$1$2=yes$3/; # qt license if(reconfigure) { @@ -2411,7 +2415,7 @@ { my($makedir, $rootdir) = @_; my($mf) = makefile($makedir) || error("no Makefile found"); - my(@trace, $man, $subdir, $netpbm, $usedestdir); + my(@trace, $man, $subdir, $netpbm, $usedestdir, $cdrtools); @trace = qw[strace -s 256 -f -F -o make.install.strace] if debugrewrite; @trace = qw[ktrace -i -f make.install.ktrace] if @trace && $^O =~ /bsd/i; local($ENV{ROOT}) = $rootdir; # lilo @@ -2425,6 +2429,7 @@ $subdir = $1 if / to install the X version: "cd (\w+);/; # xdaliclock $netpbm ||= /^\t\@echo " make package pkgdir=DIR"$/; $usedestdir ||= /\bDESTDIR\b/; # atop needs this, but see libtiff above + $cdrtools ||= / Due to a bug in SunPRO make we need special rules /; true } $mf; $netpbm &&= -x(path($makedir, "installnetpbm")) && path($makedir, "pkg"); @@ -2433,6 +2438,7 @@ @targets = ("package", "pkgdir=$netpbm") if $netpbm; @targets = "upgrade" if -r(path($makedir, "postfix-install")); # postfix push(@targets, "DESTDIR=$rootdir") if $usedestdir; + push(@targets, "INS_BASE=$rootdir") if $cdrtools; cdrun($makedir, @trace, "make", @targets); run(@trace, qw[cp -R], glob("$netpbm/*/"), $rootdir) if $netpbm; error("trace complete; aborting") if debugrewrite; @@ -2836,7 +2842,6 @@ sub disarm(@) { my($name, $version, $build, @urls) = @_; - @urls && error; lock(armdir);