diff --git a/_download.html b/_download.html index 6e507ba490..f450599eab 100644 --- a/_download.html +++ b/_download.html @@ -52,10 +52,6 @@ -SUBTITLE(Download Wizard) -
- Need help to select what to download? Use the curl Download Wizard! - SUBTITLE(Packages)
#include "dl/files.html"
diff --git a/_newslog.html b/_newslog.html
index 4b71d52eb6..b1dee87e80 100644
--- a/_newslog.html
+++ b/_newslog.html
@@ -2889,8 +2889,8 @@
NDATE(4 October 2004)
NCOLS
- The curl Download Wizard helps you
- find and pick the correct file to download!
+ The curl Download Wizard helps you find and pick the correct file to
+ download!
NCOLE
diff --git a/dlwiz/index.cgi b/dlwiz/index.cgi
deleted file mode 100755
index ce20c358e7..0000000000
--- a/dlwiz/index.cgi
+++ /dev/null
@@ -1,945 +0,0 @@
-#!/usr/bin/perl
-
-require "../date.pm";
-require "../dl/pbase.pm";
-require "../dl/pix.pm";
-require "../curl.pm";
-require CGI;
-
-print "Content-Type: text/html; charset=UTF-8\n\n";
-
-my $ua = $ENV{'HTTP_USER_AGENT'};
-my $onlyone;
-my $sel_os;
-my $sel_cpu;
-my $sel_flav;
-my $sel_ver;
-
-my %typedesc=(
- 'devel' => < ";
- for $s (@step) {
- if($r) {
- print "\n".$img;
- }
- $r++;
- if($s eq "Package Type" && $pick_type) {
- print "";
- my $t = $typelonger{$pick_type};
- selected($t?$t:"[invalid]");
- print "";
- next;
- }
- if($s eq "OS" && $pick_os) {
- my $p;
- if($onlyone !~ /os /) {
- print "";
- $p="";
- }
- if($pick_os eq "-") {
- selected("Platform Independent");
- }
- else {
- selected("$pick_os");
- }
- print $p;
- next;
- }
- if($s eq "Flavour" && $pick_flav) {
- my $p;
- if($onlyone !~ /flav /) {
- print "";
- $p="";
- }
- if($pick_flav eq "-") {
- selected("Generic");
- }
- else {
- selected("$pick_flav");
- }
- print $p;
- next;
- }
- if($s eq "OS Version" && $pick_ver) {
- my $p;
- if($onlyone !~ /ver /) {
- print "";
- $p="";
- }
- if($pick_ver eq "-") {
- selected("Unspecified Version");
- }
- else {
- selected("$pick_ver");
- }
- print $p;
- next;
- }
- if($s eq "CPU" && $pick_cpu) {
- my $p;
- if($onlyone !~ /cpu /) {
- print "";
- $p="";
- }
- if($pick_cpu eq "-") {
- selected("Any CPU");
- }
- else {
- selected("$pick_cpu");
- }
- print $p;
- next;
- }
-
- print "$s\n";
- }
-
- if($pick_cpu) {
- # print "$img Download!";
- }
-}
-
-if(!$pick_type) {
- # no package type yet
- my %type;
- for $e (@all) {
- my $t = $$e{'type'};
- $type{$t}++;
- }
-
- my $numtype = scalar(keys %type);
-
- if($numtype == 1) {
- my @t=keys %type;
- $pick_type = $t[0];
- $onlyone .= "type ";
- }
- else {
- showsteps();
-
- subtitle("Select Type of Package");
-
- print " We provide packages of different types. Select one (or select 'show all' to view all types)\n";
-
- for(sort keys %type) {
- print " Beta Alert! We couldn't detect your OS, please inform me (daniel\@haxx.se) and include this User-Agent string in the report: \"";
- print CGI::escapeHTML($ua) . "\" \n";
- }
-
- #print " If you want a curl package for the OS you are currently using, you want a package for $sel_os";
-
- my $c;
- my %os;
- for $e (@all) {
- if((($pick_type eq "*") || ($$e{'type'} eq $pick_type))) {
- $os{$$e{'os'}}++;
- }
- }
-
- my $numos = scalar(keys %os);
- if($numos == 0 ) {
- showsteps();
- print " Internal error: We found no operating systems for the given package type: $pick_type\n";
- }
- elsif($numos == 1 ) {
- my @o =keys %os;
- $pick_os = $o[0];
- $onlyone .= "os ";
- }
- else {
-
- showsteps();
-
- subtitle("Select Operating System");
-
- print " Internal error: We found no flavour at all for $pick_os\n";
- }
- elsif($numflav == 1) {
- my @f=keys %flav;
- $pick_flav = $f[0];
- if($pick_flav ne "-") {
- $fl = $pick_flav;
- }
- $onlyone .= "flav ";
- }
- else {
- $sel_flav = "";
-
- # Linux flavours (should really check for that first)
- if($ua =~ /mdk|Mandriva/i) {
- $sel_flav = "Mandriva";
- }
- elsif($ua=~ /ubuntu/i) {
- $sel_flav = "Ubuntu"; # Must be before Debian, which can be in the UA, too
- }
- elsif($ua=~ /Debian|kanotix/i) { # Debian and Debian-based distros
- $sel_flav = "Debian";
- }
- elsif($ua=~ /gentoo/i) {
- $sel_flav = "Gentoo";
- }
- elsif($ua=~ /Red Hat|CentOS/i) {
- $sel_flav = "Redhat";
- }
- elsif($ua=~ /SUSE/i) {
- $sel_flav = "Suse";
- }
- elsif($ua=~ /Fedora|fc[\d]/i) {
- $sel_flav = "Fedora";
- }
- elsif($ua=~ /ASPLinux/i) {
- $sel_flav = "ASP";
- }
- elsif($ua=~ /VineLinux/i) {
- $sel_flav = "Vine";
- }
- elsif($ua=~ /Maemo/i) {
- $sel_flav = "Maemo";
- }
- elsif($ua=~ /Android/i) {
- $sel_flav = "Android";
- }
-
- # Non-Linux flavours
- elsif($ua=~ /cygwin/i) {
- $sel_flav = "cygwin";
- }
- elsif($ua=~ /PocketPC|Windows CE/i) {
- $sel_flav = "WinCE";
- }
-
- # Some indicators of a PDA device
- # Not necessarily Familiar, but that's the best we have to offer
- elsif($ua=~ /Qtopia|Qt *embedded|embedix|PDA/i) {
- $sel_flav = "Familiar";
- }
-
- showsteps();
-
- subtitle("Select for What Flavour");
-
- printf (" We have %s packages listed for %d different flavours of $pick_os.\n",
- $pick_type eq "*"?"":"".$typelonger{$pick_type}."",
- $numflav);
-
- print " Internal error: We found no version at all for $pick_flav\n";
- }
- elsif($numver == 1) {
- my @v=keys %ver;
- $pick_ver = $v[0];
- $onlyone .= "ver ";
- }
- else {
- $sel_ver = "";
- if($pick_flav eq "Fedora" && $ua =~ /fc(\d+)/i) {
- $sel_ver = $1;
- }
- elsif($pick_flav eq "Redhat" && $ua =~ /centos([\d\.]+)/i) {
- $sel_ver = "RHEL" . $1;
- }
- elsif($pick_flav eq "Redhat" && $ua =~ /\bEL([\d\.]+)/i) {
- $sel_ver = "RHEL" . $1;
- }
- elsif($pick_flav eq "Ubuntu" && $ua =~ /\bUbuntu\/([\w\.]+)/i) {
- $sel_ver = $1;
- }
- elsif($pick_os eq "Win32" && $ua =~ /Windows NT ?[56]\b|Windows XP/i) {
- $sel_ver = "2000/XP";
- }
- elsif($pick_os eq "AIX" && $ua =~ /AIX ([\d\.]+)/i) {
- $sel_ver = $1;
- }
- elsif($pick_os eq "HPUX" && $ua =~ /HP-UX [A-Z]\.([\d\.]+)/i) {
- $sel_ver = $1;
- }
- elsif($pick_os eq "IRIX" && $ua =~ /IRIX(64)? ([\d\.]+)/i) {
- $sel_ver = $2;
- }
- elsif($pick_os eq "Solaris" && $ua =~ /SunOS 5\.([2-6]+)/i) {
- $sel_ver = "2." . $1;
- }
- elsif($pick_os eq "Solaris" && $ua =~ /SunOS 5\.([7-9]+)|SunOS 5\.(1\d+)/i) {
- $sel_ver = $1 . $2;
- }
-
- showsteps();
-
- subtitle("Select which $fl $pick_os Version");
-
- printf (" We have packages listed for %d different versions of $fl $pick_os.\n",
- $numver);
-
- print " Internal error: We found no CPUs at all for this version of this OS!\n";
- }
- elsif($numcpu == 1) {
- my @c = (keys %cpu);
- $pick_cpu = $c[0];
- $onlyone .= "cpu ";
- }
- else {
- $sel_cpu = "i386"; # naive default assumption
- if($ua =~ /68K/i) {
- $sel_cpu = "68k";
- }
- elsif($ua =~ /PPC/i) {
- $sel_cpu = "PPC";
- }
- elsif($ua =~ /sun4|sparc/i) {
- $sel_cpu = "Sparc";
- }
- elsif($ua =~ /ia64/i) {
- $sel_cpu = "ia64";
- }
- elsif($ua =~ /x86_64|athlon|amd64|x64|WOW64/i) {
- $sel_cpu = "x86_64";
- }
- elsif($ua =~ /alpha|AXP/i) {
- $sel_cpu = "Alpha";
- }
- elsif($ua =~ /arm|iPhone|iPad|Android/i) {
- $sel_cpu = "StrongARM";
- }
- elsif($ua =~ /avr32/i) {
- $sel_cpu = "AVR32";
- }
-
- my $ver=$pick_ver;
- if($ver eq "-" || $ver eq "*") {
- $ver = "";
- }
- showsteps();
-
- subtitle("Select for What CPU");
-
- printf (" We have packages listed for %d different CPUs for $fl $pick_os $ver.\n",
- $numcpu);
-
- print " This package is type ".$typelonger{$t}."".$typedesc{$t};
- print $aboutver;
-
- if($pack ne "-") {
- print " The file is packaged using $pack.";
- }
-
- if($pack eq "zip") {
- print " Zip is a widely-used file archiving format. Wikipedia has more details on zip.";
- }
- elsif($pack eq "tar+xz") {
- print " This file is tar'ed and then xzipped. Wikipedia has more details on xz.";
- }
- elsif($pack eq "tar+gz") {
- print " This file is tar'ed and then gzipped. Wikipedia has more details on gzip.";
- }
- elsif($pack eq "tar+bz2") {
- print " This file is tar'ed and then bzip2ed. Wikipedia has more details on bzip2.";
- }
- elsif($pack eq "tar+Z") {
- print " This file is tar'ed and then compressed. Wikipedia has more details on compress.";
- }
- elsif($pack eq "lha") {
- print " Lha is a common freeware compression utility on Amiga. Wikipedia has more details on lha.";
- }
- elsif($pack eq "pkg") {
- print " pkg is a file format and tools collection made to handle software installation for your system.";
- }
- elsif($pack eq "RPM") {
- print " RPM is a file format and tools collection made to handle software installation for a range of different Linux systems. Wikipedia has more details on RPM";
- }
- elsif($pack eq "deb") {
- print " deb is a file format with accompanying tools collection made to handle software installation for Debian Linux (and derivatives). Wikipedia has more details on deb";
- }
- elsif($pack eq "7zip") {
- print " 7zip is a file archiving format. Wikipedia has more details on 7zip.";
- }
- elsif($pack eq "ipk") {
- print " ipkg is a file format and tools collection made to handle software installation for embedded Linux systems. Wikipedia has more details on Ipkg.";
- }
-
- return $t;
-}
-
-
-sub sortent {
- my $ret = $$a{'type'} cmp $$b{'type'};
- if(!$ret) {
- $ret = vernum($$b{'curl'}) <=> vernum($$a{'curl'});
- }
- if(!$ret) {
- $ret = (0+$$b{'prio'}) <=> (0 + $$a{'prio'});
- }
- return $ret;
-}
-if($pick_os && $pick_flav && $pick_ver && $pick_cpu) {
- # print " WANT: OS ($pick_os) FLAV ($pick_flav) VER ($pick_ver) CPU ($pick_cpu)";
-
- showsteps();
-
- subtitle("The Wizard Recommends...");
-
- my $ver=$pick_ver;
- if($ver eq "-" || $ver eq "*") {
- $ver = "";
- }
- my $os=$pick_os;
- if($os eq "-") {
- $os = "Platform Independent";
- }
- my $img;
-
- my @match;
- for $e (@all) {
- if( ($$e{'os'} eq $pick_os) &&
- (($pick_type eq "*") || ($$e{'type'} eq $pick_type)) &&
- (($pick_flav eq "*") || ($$e{'flav'} eq $pick_flav)) &&
- (($pick_ver eq "*") || ($$e{'osver'} eq $pick_ver)) &&
- ($$e{'cpu'} eq $pick_cpu)) {
-
- push @match, $e;
-
- $img = dlpix($$e{'img'}, $$e{'os'}, $$e{'flav'});
- }
- }
-
- if($img) {
- printf(" For $fl $os $ver%s %s",
- $pick_cpu ne "-"?" on $pick_cpu":"(CPU Independent)",
- $pick_type ne "*"?" ".$typelonger{$pick_type}:"");
-
- my %got;
- my $type;
- if(scalar(@match) == 0) {
- # no match!
-
- print " Internal error. Found no matching entries.";
- }
-
- elsif(scalar(@match) == 1) {
- my $e=$match[0];
-
- $type = single($e);
- $got{$type}++;
- }
- else {
- # more than one found!
- my $i;
- for $e (sort sortent @match) {
- $type = single($e);
- $got{$type}++;
- }
- }
-
- if($onlyone) {
- my @w = split(" ", $onlyone);
- my $v = $pick_ver;
- my $f = $pick_flav;
- my $o = $pick_os;
- if($o eq "-") {
- $o = "Platform Independent";
- }
- if($f eq "-") {
- $f = "generic";
- }
- if($v eq "-") {
- $v = "unspecified";
- }
- for $e (@w) {
- if($e eq "os") {
- my $o = $pick_os;
- print " We know only one OS ($pick_os) for ";
- selected("package ".$typelonger{$pick_type});
- }
- elsif($e eq "flav") {
- if($pick_os ne "-") {
- print " We know only one flavour ($f) of ";
- selected($o);
- print " for ";
- selected("package ".$typelonger{$pick_type});
- }
- }
- elsif($e eq "ver") {
- if($pick_os ne "-") {
- print " We know only one OS version ($v) for ";
- selected("package ".$typelonger{$pick_type}." on $fl $pick_os");
- }
- }
- elsif($e eq "cpu") {
- if($pick_os ne "-") {
- my $c = $pick_cpu;
- if($c eq "-") {
- $c = "CPU Independent/unknown";
- }
- print " We know only one CPU ($c) for ";
- selected("package ".$typelonger{$pick_type}." on $fl $pick_os version $v");
- }
- }
- }
- }
-
-
-}
-&catfile("../foot.html");
" . CGI::escapeHTML($ua) . "
\n";
-
-sub vernum {
- my ($v)=@_;
- my @a = split(/\./, $v);
- return ($a[0]<<16) | ($a[1] << 8) | $a[2];
-}
-
-&header("Download Wizard");
-&where("Download", "/download.html", "Download Wizard");
-&title("curl Download Wizard");
-
-$database = "../dl/data/databas.db";
-
-my $db=new pbase;
-$db->open($database);
-
-my @all = $db->find_all("typ"=>"^entry\$","-hide"=>"^Yes\$");
-
-printf(" ", scalar(keys %os));
-
-print <".$typelonger{$_}." - ".$typedesc{$_}."
\n";
- }
- print "Show All - Display all known package types.
\n";
-
- }
-
-}
-
-if($pick_type && !$pick_os) {
-
- if($ua =~ /Linux/i) {
- $sel_os = "Linux";
- }
- elsif($ua =~ /IRIX/i) {
- $sel_os = "IRIX";
- }
- elsif($ua =~ /(SunOS [1-4]\b)/i) {
- $sel_os = "SunOS";
- }
- elsif($ua =~ /(SunOS|Solaris)/i) {
- $sel_os = "Solaris";
- }
- elsif($ua =~ /BeOS/i) {
- $sel_os = "BeOS";
- }
- elsif($ua =~ /QNX/i) {
- $sel_os = "QNX";
- }
- elsif($ua =~ /HP-UX/i) {
- $sel_os = "HPUX";
- }
- elsif($ua =~ /FreeBSD/i) {
- $sel_os = "FreeBSD";
- }
- elsif($ua =~ /NetBSD/i) {
- $sel_os = "NetBSD";
- }
- elsif($ua =~ /OpenBSD/i) {
- $sel_os = "OpenBSD";
- }
- elsif($ua =~ /AIX/i) {
- $sel_os = "AIX";
- }
- elsif($ua =~ /Amiga/i) {
- $sel_os = "AmigaOS";
- }
- elsif($ua =~ /Mac/i) {
- $sel_os = "Mac OS X";
- }
- elsif($ua =~ /iPhone|iPad/i) {
- $sel_os = "Apple iOS";
- }
- elsif($ua =~ /RISC OS|NetSurf/i) {
- $sel_os = "RISC OS";
- }
- elsif($ua =~ /Symbian|EPOC/i) { # EPOC is on from the old Psions
- $sel_os = "Symbian OS";
- }
- elsif($ua =~ /OSF1/i) {
- $sel_os = "Tru64";
- }
- elsif($ua =~ /VMS/i) {
- $sel_os = "VMS";
- }
- elsif($ua =~ /DOS/i) {
- $sel_os = "DOS";
- }
- elsif($ua =~ /AtheOS|Syllable/i) {
- $sel_os = "Syllable";
- }
- elsif($ua =~ /OS\/2/i) {
- $sel_os = "OS/2";
- }
- elsif($ua =~ /Palm/i) {
- $sel_os = "Palm OS";
- }
- elsif($ua =~ /Embedix/i) { # Embedded Linux distro from Lineo
- $sel_os = "Linux";
- }
- elsif($ua =~ /Qtopia/i) { # Linux-based GUI
- $sel_os = "Linux";
- }
- elsif($ua =~ /MOT-E2/i) { # Motorola ROKR E2 phone device
- $sel_os = "Linux";
- }
- elsif($ua =~ /P800|P900/i) { # Sony Ericsson P800/P900 phone
- $sel_os = "Symbian OS";
- }
- elsif($ua =~ /Indy Library|Microsoft/i) { # Windows-only client library
- $sel_os = "Win32";
- }
- elsif($ua =~ /Windows 3\.|Win16/i) {
- $sel_os = "DOS";
- }
- # Windows goes near the end because some other platforms also say Windows
- # for compatibility reasons
- elsif($ua =~ /(windows|win32|Win98|Win95|Win9x|WinNT)/i) {
- $sel_os = "Win32";
- }
- elsif($ua =~ /Win64|WOW64/i) {
- $sel_os = "Win64";
- }
- elsif($ua =~ /(Unix|Lynx|w3m|Dillo|MMM|Grail|Mosaic|amaya|Konqueror|Links|gzilla)/i) {
- $sel_os = "Linux"; # we don't know these are Linux, we just guess
- }
- elsif($ua =~ /(libcurl|Python-urllib|Wget|lwp|libwww-perl)/i) {
- $sel_os = "no idea"; # automated agents
- }
-
- if(!$sel_os && $ua) {
- print "
Provided by: $$e{'name'}":"";
-
- # check what's available right *now*
- &latest::scanstatus($latest::wwwdir);
-
- if($latest::headver ne $version) {
- my $premail;
- my $postmail;
- my $em = $$e{'email'};
- my $name = $$e{'name'};
- my $maint;
- if($name && $name ne "-") {
- $maint = "($name) ";
- }
- if($em && ($em ne "-")) {
- if($em =~ /:\/\//) {
- # plain URL
- $premail="";
- }
- elsif(($em =~ /\@/) && ($em !~ /^mailto:/)) {
- # email address
- $premail="";
- }
- $postmail="";
- }
- $aboutver = <", $img);
- }
- if($fl eq "-") {
- $fl = "";
- }
- printf( "