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