diff -up perl-5.10.0/lib/File/Fetch.pm.BAD perl-5.10.0/lib/File/Fetch.pm --- perl-5.10.0/lib/File/Fetch.pm.BAD 2007-12-21 10:41:39.000000000 -0500 +++ perl-5.10.0/lib/File/Fetch.pm 2007-12-21 10:43:00.000000000 -0500 @@ -37,7 +37,7 @@ $WARN = 1; ### methods available to fetch the file depending on the scheme $METHODS = { - http => [ qw|lwp wget curl lynx| ], + http => [ qw|lwp wget curl links| ], ftp => [ qw|lwp netftp wget curl ncftp ftp| ], file => [ qw|lwp file| ], rsync => [ qw|rsync| ] @@ -694,9 +694,9 @@ sub _ftp_fetch { } } -### lynx is stupid - it decompresses any .gz file it finds to be text -### use /bin/lynx to fetch files -sub _lynx_fetch { +### links is stupid - it decompresses any .gz file it finds to be text +### use /bin/links to fetch files +sub _links_fetch { my $self = shift; my %hash = @_; @@ -706,25 +706,25 @@ sub _lynx_fetch { }; check( $tmpl, \%hash ) or return; - ### see if we have a lynx binary ### - if( my $lynx = can_run('lynx') ) { + ### see if we have a links binary ### + if( my $links = can_run('links') ) { unless( IPC::Cmd->can_capture_buffer ) { - $METHOD_FAIL->{'lynx'} = 1; + $METHOD_FAIL->{'links'} = 1; return $self->_error(loc( "Can not capture buffers. Can not use '%1' to fetch files", - 'lynx' )); + 'links' )); } - ### write to the output file ourselves, since lynx ass_u_mes to much + ### write to the output file ourselves, since links ass_u_mes to much my $local = FileHandle->new(">$to") or return $self->_error(loc( "Could not open '%1' for writing: %2",$to,$!)); ### dump to stdout ### my $cmd = [ - $lynx, + $links, '-source', "-auth=anonymous:$FROM_EMAIL", ]; @@ -750,7 +750,7 @@ sub _lynx_fetch { ### XXX on a 404 with a special error page, $captured will actually ### hold the contents of that page, and make it *appear* like the ### request was a success, when really it wasn't :( - ### there doesn't seem to be an option for lynx to change the exit + ### there doesn't seem to be an option for links to change the exit ### code based on a 4XX status or so. ### the closest we can come is using --error_file and parsing that, ### which is very unreliable ;( @@ -760,7 +760,7 @@ sub _lynx_fetch { return $to; } else { - $METHOD_FAIL->{'lynx'} = 1; + $METHOD_FAIL->{'links'} = 1; return; } } @@ -1031,7 +1031,7 @@ Below is a mapping of what utilities wil for what schemes, if available: file => LWP, file - http => LWP, wget, curl, lynx + http => LWP, wget, curl, links ftp => LWP, Net::FTP, wget, curl, ncftp, ftp rsync => rsync @@ -1143,7 +1143,7 @@ the $BLACKLIST, $METHOD_FAIL and other i LWP => lwp Net::FTP => netftp wget => wget - lynx => lynx + links => links ncftp => ncftp ftp => ftp curl => curl @@ -1161,17 +1161,17 @@ example, to use an ftp proxy: Refer to the LWP::UserAgent manpage for more details. -=head2 I used 'lynx' to fetch a file, but its contents is all wrong! +=head2 I used 'links' to fetch a file, but its contents is all wrong! -C can only fetch remote files by dumping its contents to C, +C can only fetch remote files by dumping its contents to C, which we in turn capture. If that content is a 'custom' error file (like, say, a C<404 handler>), you will get that contents instead. -Sadly, C doesn't support any options to return a different exit +Sadly, C doesn't support any options to return a different exit code on non-C<200 OK> status, giving us no way to tell the difference between a 'successfull' fetch and a custom error page. -Therefor, we recommend to only use C as a last resort. This is +Therefor, we recommend to only use C as a last resort. This is why it is at the back of our list of methods to try as well. =head2 Files I'm trying to fetch have reserved characters or non-ASCII characters in them. What do I do? diff -up perl-5.10.0/lib/File/Fetch/t/01_File-Fetch.t.BAD perl-5.10.0/lib/File/Fetch/t/01_File-Fetch.t --- perl-5.10.0/lib/File/Fetch/t/01_File-Fetch.t.BAD 2007-12-21 10:43:38.000000000 -0500 +++ perl-5.10.0/lib/File/Fetch/t/01_File-Fetch.t 2007-12-21 10:43:45.000000000 -0500 @@ -169,7 +169,7 @@ for my $entry (@map) { { for my $uri ( 'http://www.cpan.org/index.html', 'http://www.cpan.org/index.html?q=1&y=2' ) { - for (qw[lwp wget curl lynx]) { + for (qw[lwp wget curl links]) { _fetch_uri( http => $uri, $_ ); } } diff -up perl-5.10.0/lib/CPAN.pm.BAD perl-5.10.0/lib/CPAN.pm --- perl-5.10.0/lib/CPAN.pm.BAD 2007-12-21 10:39:16.000000000 -0500 +++ perl-5.10.0/lib/CPAN.pm 2007-12-21 10:41:13.000000000 -0500 @@ -4318,7 +4318,7 @@ sub hostdlhard { # Try the most capable first and leave ncftp* for last as it only # does FTP. - DLPRG: for my $f (qw(curl wget lynx ncftpget ncftp)) { + DLPRG: for my $f (qw(curl wget links ncftpget ncftp)) { my $funkyftp = CPAN::HandleConfig->safe_quote($CPAN::Config->{$f}); next unless defined $funkyftp; next if $funkyftp =~ /^\s*$/; @@ -4330,7 +4330,7 @@ sub hostdlhard { my($src_switch) = ""; my($chdir) = ""; my($stdout_redir) = " > $asl_ungz"; - if ($f eq "lynx") { + if ($f eq "links") { $src_switch = " -source"; } elsif ($f eq "ncftp") { $src_switch = " -c"; @@ -4354,8 +4354,8 @@ Trying with "$funkyftp$src_switch" to ge "$chdir$funkyftp$src_switch \"$url\" $devnull$stdout_redir"; $self->debug("system[$system]") if $CPAN::DEBUG; my($wstatus) = system($system); - if ($f eq "lynx") { - # lynx returns 0 when it fails somewhere + if ($f eq "links") { + # links returns 0 when it fails somewhere if (-s $asl_ungz) { my $content = do { local *FH; open FH, $asl_ungz or die; @@ -4363,7 +4363,7 @@ Trying with "$funkyftp$src_switch" to ge }; if ($content =~ /^<.*([45]|Error [45])/si) { $CPAN::Frontend->mywarn(qq{ -No success, the file that lynx has downloaded looks like an error message: +No success, the file that links has downloaded looks like an error message: $content }); $CPAN::Frontend->mysleep(1); @@ -4371,7 +4371,7 @@ $content } } else { $CPAN::Frontend->myprint(qq{ -No success, the file that lynx has downloaded is an empty file. +No success, the file that links has downloaded is an empty file. }); next DLPRG; } @@ -9081,14 +9081,14 @@ sub _display_url { # should we define it in the config instead? my $html_converter = "html2text.pl"; - my $web_browser = $CPAN::Config->{'lynx'} || undef; + my $web_browser = $CPAN::Config->{'links'} || undef; my $web_browser_out = $web_browser ? CPAN::Distribution->_check_binary($self,$web_browser) : undef; if ($web_browser_out) { # web browser found, run the action - my $browser = CPAN::HandleConfig->safe_quote($CPAN::Config->{'lynx'}); + my $browser = CPAN::HandleConfig->safe_quote($CPAN::Config->{'links'}); $CPAN::Frontend->myprint(qq{system[$browser $url]}) if $CPAN::DEBUG; $CPAN::Frontend->myprint(qq{ @@ -9163,7 +9163,7 @@ with pager "$pager" } else { # coldn't find the web browser or html converter $CPAN::Frontend->myprint(qq{ -You need to install lynx or $html_converter to use this feature.}); +You need to install links or $html_converter to use this feature.}); } } } @@ -10837,7 +10837,7 @@ defined: keep_source_where directory in which to keep the source (if we do) load_module_verbosity report loading of optional modules used by CPAN.pm - lynx path to external prg + links path to external prg make location of external make program make_arg arguments that should always be passed to 'make' make_install_make_command @@ -11666,7 +11666,7 @@ Makefile.PL> or C<perl Build.PL> and C<m Downloads the pod documentation of the file associated with a distribution (in html format) and runs it through the external -command lynx specified in C<$CPAN::Config->{lynx}>. If lynx +command links specified in C<$CPAN::Config->{links}>. If links isn't available, it converts it to plain text with external command html2text and runs it through the pager specified in C<$CPAN::Config->{pager}> @@ -11975,7 +11975,7 @@ required for non-UNIX systems or if your associated with a URL that is not C<ftp:>. If you have neither Net::FTP nor LWP, there is a fallback mechanism -implemented for an external ftp command or for an external lynx +implemented for an external ftp command or for an external links command. =head1 UTILITIES @@ -12247,16 +12247,16 @@ ftp_passive to a true value. =back -=head2 Configuring lynx or ncftp for going through a firewall +=head2 Configuring links or ncftp for going through a firewall -If you can go through your firewall with e.g. lynx, presumably with a +If you can go through your firewall with e.g. links, presumably with a command such as - /usr/local/bin/lynx -pscott:tiger + /usr/local/bin/links -pscott:tiger then you would configure CPAN.pm with the command - o conf lynx "/usr/local/bin/lynx -pscott:tiger" + o conf links "/usr/local/bin/links -pscott:tiger" That's all. Similarly for ncftp or ftp, you would configure something like diff -up perl-5.10.0/lib/CPAN/HandleConfig.pm.BAD perl-5.10.0/lib/CPAN/HandleConfig.pm --- perl-5.10.0/lib/CPAN/HandleConfig.pm.BAD 2007-12-21 10:43:14.000000000 -0500 +++ perl-5.10.0/lib/CPAN/HandleConfig.pm 2007-12-21 10:43:21.000000000 -0500 @@ -49,7 +49,7 @@ $VERSION = sprintf "%.6f", substr(q$Rev: "inhibit_startup_message", "keep_source_where", "load_module_verbosity", - "lynx", + "links", "make", "make_arg", "make_install_arg", diff -up perl-5.10.0/lib/CPAN/FirstTime.pm.BAD perl-5.10.0/lib/CPAN/FirstTime.pm --- perl-5.10.0/lib/CPAN/FirstTime.pm.BAD 2007-12-21 10:38:30.000000000 -0500 +++ perl-5.10.0/lib/CPAN/FirstTime.pm 2007-12-21 10:38:58.000000000 -0500 @@ -813,7 +813,7 @@ Shall we use it as the general CPAN buil make - curl lynx wget ncftpget ncftp ftp + curl links wget ncftpget ncftp ftp gpg diff -up perl-5.10.0/pod/perltoc.pod.BAD perl-5.10.0/pod/perltoc.pod --- perl-5.10.0/pod/perltoc.pod.BAD 2007-12-21 10:44:44.000000000 -0500 +++ perl-5.10.0/pod/perltoc.pod 2007-12-21 10:44:53.000000000 -0500 @@ -14682,7 +14682,7 @@ has_inst($module), has_usable($module), http firewall, ftp firewall, One way visibility, SOCKS, IP Masquerade -=item Configuring lynx or ncftp for going through a firewall +=item Configuring links or ncftp for going through a firewall =back @@ -20857,7 +20857,7 @@ $ff->output_file =item So how do I use a proxy with File::Fetch? -=item I used 'lynx' to fetch a file, but its contents is all wrong! +=item I used 'links' to fetch a file, but its contents is all wrong! =item Files I'm trying to fetch have reserved characters or non-ASCII characters in them. What do I do? diff -up perl-5.10.0/pod/perlfaq9.pod.BAD perl-5.10.0/pod/perlfaq9.pod --- perl-5.10.0/pod/perlfaq9.pod.BAD 2007-12-21 10:44:08.000000000 -0500 +++ perl-5.10.0/pod/perlfaq9.pod 2007-12-21 10:44:32.000000000 -0500 @@ -212,14 +212,14 @@ examples. =head2 How do I fetch an HTML file? -One approach, if you have the lynx text-based HTML browser installed +One approach, if you have the links text-based HTML browser installed on your system, is this: - $html_code = `lynx -source $url`; - $text_data = `lynx -dump $url`; + $html_code = `links -source $url`; + $text_data = `links -dump $url`; The libwww-perl (LWP) modules from CPAN provide a more powerful way -to do this. They don't require lynx, but like lynx, can still work +to do this. They don't require links, but like links, can still work through proxies: # simplest version