pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/net/mirror



Module Name:    pkgsrc
Committed By:   bouyer
Date:           Thu Apr 11 10:23:44 UTC 2024

Modified Files:
        pkgsrc/net/mirror: Makefile distinfo
        pkgsrc/net/mirror/patches: patch-ac patch-ad patch-ae patch-ag
Added Files:
        pkgsrc/net/mirror/patches: patch-lsparse.pl

Log Message:
Fix warning:
Old package separator "'" deprecated at ...
Bump PKGREVISION


To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 pkgsrc/net/mirror/Makefile
cvs rdiff -u -r1.9 -r1.10 pkgsrc/net/mirror/distinfo
cvs rdiff -u -r1.5 -r1.6 pkgsrc/net/mirror/patches/patch-ac \
    pkgsrc/net/mirror/patches/patch-ad
cvs rdiff -u -r1.7 -r1.8 pkgsrc/net/mirror/patches/patch-ae
cvs rdiff -u -r1.2 -r1.3 pkgsrc/net/mirror/patches/patch-ag
cvs rdiff -u -r0 -r1.1 pkgsrc/net/mirror/patches/patch-lsparse.pl

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/net/mirror/Makefile
diff -u pkgsrc/net/mirror/Makefile:1.46 pkgsrc/net/mirror/Makefile:1.47
--- pkgsrc/net/mirror/Makefile:1.46     Tue Jun 28 11:35:02 2022
+++ pkgsrc/net/mirror/Makefile  Thu Apr 11 10:23:44 2024
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.46 2022/06/28 11:35:02 wiz Exp $
+# $NetBSD: Makefile,v 1.47 2024/04/11 10:23:44 bouyer Exp $
 
 DISTNAME=      mirror-2.9
-PKGREVISION=   13
+PKGREVISION=   14
 CATEGORIES=    net
 MASTER_SITES=  # ftp://src.doc.ic.ac.uk/computing/archiving/mirror/
 

Index: pkgsrc/net/mirror/distinfo
diff -u pkgsrc/net/mirror/distinfo:1.9 pkgsrc/net/mirror/distinfo:1.10
--- pkgsrc/net/mirror/distinfo:1.9      Tue Oct 26 11:06:00 2021
+++ pkgsrc/net/mirror/distinfo  Thu Apr 11 10:23:44 2024
@@ -1,12 +1,13 @@
-$NetBSD: distinfo,v 1.9 2021/10/26 11:06:00 nia Exp $
+$NetBSD: distinfo,v 1.10 2024/04/11 10:23:44 bouyer Exp $
 
 BLAKE2s (mirror-2.9.tar.gz) = 9af6c135528b0a26418a229f6f943f70913a07fef1fffa2954685fa2d17e4bb6
 SHA512 (mirror-2.9.tar.gz) = afed2e62b95d1dd52aac32f3a608c0e08813c78d1bed8f5066bc4d6ac031c05ffeb7c7594a1c565dbf015086d7b3a907f35132ea850a3b93c31377e69dfa0654
 Size (mirror-2.9.tar.gz) = 123194 bytes
 SHA1 (patch-aa) = 04ba59e036a946eeff5c1a8cea08465c21a92dd8
 SHA1 (patch-ab) = 09045d218a86890f95e381f355fa61c3dfc34ef0
-SHA1 (patch-ac) = 816da27263d8883bc073f425d95b593c0a6f5ad2
-SHA1 (patch-ad) = 24b9dd4124756d2c058309e306da0ca022719ac6
-SHA1 (patch-ae) = 2efb5c4cc8f25b897d163e28a908b9745a553229
+SHA1 (patch-ac) = 4f018248392769e4da9e87ec16c509b3ac87d0e0
+SHA1 (patch-ad) = 9cbc9ce613cc0588d22186d542012fb911ab166f
+SHA1 (patch-ae) = eb06da3874cdfc13cc1aeb605ec3f936fb68ecf4
 SHA1 (patch-af) = d83755dca89242a6822e5531a481b1735089242a
-SHA1 (patch-ag) = 31574a37bb09587ee7496a98c985865127a2fb0e
+SHA1 (patch-ag) = f402c883c3fe8967f7dc6b847969915ae367f678
+SHA1 (patch-lsparse.pl) = 9048fc10b06616c87fa7eafd64eb098e30ac3b7e

Index: pkgsrc/net/mirror/patches/patch-ac
diff -u pkgsrc/net/mirror/patches/patch-ac:1.5 pkgsrc/net/mirror/patches/patch-ac:1.6
--- pkgsrc/net/mirror/patches/patch-ac:1.5      Mon Sep 12 16:35:43 2011
+++ pkgsrc/net/mirror/patches/patch-ac  Thu Apr 11 10:23:44 2024
@@ -1,14 +1,33 @@
-$NetBSD: patch-ac,v 1.5 2011/09/12 16:35:43 taca Exp $
+$NetBSD: patch-ac,v 1.6 2024/04/11 10:23:44 bouyer Exp $
 
 * Fix path for pkgsrc.
 * Use md5(1) instead of sum(1).
 * Add -f option to compress program.
 * Fix deleting remote directories.
 * Fix display of transfer direction.
+* Fix deprecation warning (change ' to ::) for newer perl
 
---- mirror.pl.orig     1998-06-08 10:55:27.000000000 +0000
-+++ mirror.pl
-@@ -104,7 +104,7 @@ $load_defaults = 1;
+--- mirror.pl.orig     2024-04-11 11:08:05.973997402 +0200
++++ mirror.pl  2024-04-11 11:07:48.794686287 +0200
+@@ -38,7 +38,7 @@
+ # Allow for remote_account pasword.
+ # Only one arg to undef, for early perl5's
+ # Use all capitals for file descriptors.
+-# Use ftp'close not ftp'quit
++# Use ftp::close not ftp::quit
+ # Avoid file renaming under MACos
+ # Corrected file deleting.
+ #
+@@ -51,7 +51,7 @@
+ # Allow strip_cr (from Andrew).
+ # More symlink handling...
+ # Set type for vms correctly.
+-# Changed response from ftp'delete, also corrected path used.
++# Changed response from ftp::delete, also corrected path used.
+ #
+ # Revision 2.4  1994/04/29  20:11:09  lmjm
+ # Use correct variable for hostname
+@@ -104,7 +104,7 @@
  # Try to find the default location of various programs via
  # the users PATH then using $extra_path
  if( ! $on_win ){
@@ -17,7 +36,7 @@ $NetBSD: patch-ac,v 1.5 2011/09/12 16:35
  }
  if( $extra_path ne '' ){
        $ENV{ 'PATH' } .= $path_sep . $extra_path;
-@@ -159,19 +159,20 @@ if( ! $mail_prog ){
+@@ -159,19 +159,20 @@
  $rm_prog = &find_prog( 'rm' );
  
  # Generate checksums
@@ -42,7 +61,25 @@ $NetBSD: patch-ac,v 1.5 2011/09/12 16:35
  unshift( @INC, $dir );
  
  # Debian GNU/Linux stores mirror.defaults in /etc/mirror
-@@ -1022,7 +1023,7 @@ sub do_mirror
+@@ -259,7 +260,7 @@
+ $default{ 'remote_gpass' } = '';
+ $default{ 'timeout' } = 120;  # timeout ftp requests after this many seconds
+ $default{ 'failed_gets_excl' } = ''; # failed messages to ignore while getting,
+-                              # if failed to ftp'get
++                              # if failed to ftp::get
+ $default{ 'ftp_port' } = 21;  # port number of remote ftp daemon
+ $default{ 'proxy' } = 0;      # normally use regular ftp
+ $default{ 'proxy_ftp_port' } = 4514; # default from Sun
+@@ -656,7 +657,7 @@
+               # THIS DOES NOT YET WORK!!!!!
+               $dumped_version = 1;
+               warn "Dumping perl\n";
+-              dump parse_args;
++              CORE::dump parse_args;
+       }
+ 
+       warn "Unknown arg $arg, skipping\n";
+@@ -1022,7 +1023,7 @@
                &pr_variables( "\n" );
        }
        elsif( $package && ! $pretty_print ){
@@ -51,7 +88,177 @@ $NetBSD: patch-ac,v 1.5 2011/09/12 16:35
                        &msg( "package=$package $site:$remote_dir -> $local_dir\n");
                }
                else {
-@@ -1807,7 +1808,7 @@ sub get_remote_directory_details
+@@ -1053,10 +1054,10 @@
+ 
+       if( $debug ){
+               # Keep the ftp debugging lower than the rest.
+-              &ftp'debug( $debug - 1);
++              &ftp::debug( $debug - 1);
+       }
+       else {
+-              &ftp'debug( $verbose );
++              &ftp::debug( $verbose );
+       }
+ 
+       if( $recurse_hard ){
+@@ -1069,19 +1070,19 @@
+       }
+ 
+       if( ! $interactive ){
+-              $ftp'showfd = 'STDOUT';
++              $ftp::showfd = 'STDOUT';
+       }
+-      &ftp'set_timeout( $timeout );
+-      &ftp'set_signals( "main'msg" );
++      &ftp::set_timeout( $timeout );
++      &ftp::set_signals( "main'msg" );
+ 
+       # set passive ftp mode
+       if( $passive_ftp ){
+-              $ftp'use_pasv = 1;
++              $ftp::use_pasv = 1;
+       }
+ 
+       # Are we using the SOCKS version of perl?
+       if( $using_socks ){
+-              $chat'using_socks = 1;
++              $chat::using_socks = 1;
+       }
+ 
+       # Useful string in prints
+@@ -1216,13 +1217,13 @@
+       if( $con == 1 ){
+               &msg( "login as $remote_user\n" ) if $debug > 1;
+               $curr_remote_user = $remote_user;
+-              if( ! &ftp'login( $remote_user, $remote_password, $remote_account ) ){
++              if( ! &ftp::login( $remote_user, $remote_password, $remote_account ) ){
+                       &msg( "Cannot login, skipping package\n" );
+                       &disconnect();
+                       &msg( "\n" );
+                       return $exit_status;
+               }
+-              $can_restart = (&ftp'restart(0) == 1);
++              $can_restart = (&ftp::restart(0) == 1);
+               if( $debug > 1 ){
+                       &msg( "Can " . ($can_restart ? '' : "not ") . "do restarts\n" );
+ 
+@@ -1233,7 +1234,7 @@
+               &msg( "Already connected to site $site\n" ) if $debug;
+       }
+ 
+-      if( ! &ftp'type( $text_mode ? 'A' : 'I' ) ){
++      if( ! &ftp::type( $text_mode ? 'A' : 'I' ) ){
+               &msg( "Cannot set type\n" );
+       }
+ 
+@@ -1244,16 +1245,16 @@
+       # setting the namemap functions.
+       if( $remote_fs =~ /vms/i ){
+               $vms = 1;
+-              &ftp'set_namemap( "main'unix2vms", "main'vms2unix" );
++              &ftp::set_namemap( "main'unix2vms", "main'vms2unix" );
+       }
+       else {
+               $vms = 0;
+               # No mapping necessary
+-              &ftp'set_namemap( '' );
++              &ftp::set_namemap( '' );
+       }
+ 
+       if( ! $get_file || $remote_idle ){
+-              local( @rhelp ) = &ftp'site_commands();
++              local( @rhelp ) = &ftp::site_commands();
+               $remote_has_chmod = grep( $_ eq 'CHMOD', @rhelp);
+               $remote_has_rename = grep( $_ eq 'RNFR', @rhelp) && grep( $_ eq 'RNTO', @rhelp);
+               $remote_has_idle = grep( $_ eq 'IDLE', @rhelp);
+@@ -1264,7 +1265,7 @@
+       }
+       
+       if( $remote_has_idle && $remote_idle ){
+-              if( ! &ftp'quote( "site idle $remote_idle" ) ){
++              if( ! &ftp::quote( "site idle $remote_idle" ) ){
+                       &msg( "Cannot set remote idle\n" );
+               }
+               elsif( $debug > 2 ){
+@@ -1273,7 +1274,7 @@
+       }
+ 
+       if( $remote_group ){
+-              if( ! &ftp'quote( "site group $remote_group" ) ){
++              if( ! &ftp::quote( "site group $remote_group" ) ){
+                       &msg( "Cannot set remote group\n" );
+               }
+               elsif( $debug > 2 ){
+@@ -1282,7 +1283,7 @@
+       }
+       
+       if( $remote_gpass ){
+-              if( ! &ftp'quote( "site gpass $remote_gpass" ) ){
++              if( ! &ftp::quote( "site gpass $remote_gpass" ) ){
+                       &msg( "Cannot set remote gpass\n" );
+               }
+               elsif( $debug > 2 ){
+@@ -1496,11 +1497,11 @@
+ {
+       if( $connected ){
+               &msg( "disconnecting from $connected\n" ) if $debug;
+-              if( ! $ftp'fatalerror ){
+-                      &ftp'close();
++              if( ! $ftp::fatalerror ){
++                      &ftp::close();
+               }
+               else {
+-                      &ftp'service_closed();
++                      &ftp::service_closed();
+               }
+       }
+       $connected = '';
+@@ -1524,11 +1525,11 @@
+       &disconnect();
+ 
+       if( $proxy ){
+-          $ftp'proxy = $proxy;
+-          $ftp'proxy_gateway = $proxy_gateway;
+-          $ftp'proxy_ftp_port = $proxy_ftp_port;
++          $ftp::proxy = $proxy;
++          $ftp::proxy_gateway = $proxy_gateway;
++          $ftp::proxy_ftp_port = $proxy_ftp_port;
+       }
+-      $res = &ftp'open( $site, $ftp_port, $retry_call, $attempts );
++      $res = &ftp::open( $site, $ftp_port, $retry_call, $attempts );
+       if( $res == 1 ){
+               # Connected
+               $connected = $site;
+@@ -1544,7 +1545,7 @@
+       if( $debug > 2 ){
+               &msg( " prodding remote ftpd\n" );
+       }
+-      &ftp'pwd();
++      &ftp::pwd();
+ }
+ 
+ # checkout and fixup any regexps.
+@@ -1774,7 +1775,7 @@
+       $remote_type[ 0 ] = 0;
+       $remote_mode[ 0 ] = 0;
+ 
+-      if( $remote_fs !~ /cms/ && ! &ftp'cwd( $remote_dir ) ){
++      if( $remote_fs !~ /cms/ && ! &ftp::cwd( $remote_dir ) ){
+               if( $get_file ){
+                       # no files to get
+                       return 0;
+@@ -1783,8 +1784,8 @@
+               &msg( "Failed to change to remote directory ($remote_dir) trying to create it\n" );
+               &mkdirs( $remote_dir );
+ 
+-              if( ! &ftp'cwd( $remote_dir ) ){
+-                      &msg( "Cannot change to remote directory ($remote_dir) because: $ftp'response\n" );
++              if( ! &ftp::cwd( $remote_dir ) ){
++                      &msg( "Cannot change to remote directory ($remote_dir) because: $ftp::response\n" );
+                       return 0;
+               }
+       }
+@@ -1807,7 +1808,7 @@
                        local( $f );
                        $f = $dirtmp;
                        $f =~ s/($shell_metachars)/\\$1/g;
@@ -60,7 +267,16 @@ $NetBSD: patch-ac,v 1.5 2011/09/12 16:35
                }
                if( ! open( DIRTMP, $dirtmp ) ){
                        &msg( "Cannot open $dirtmp\n" );
-@@ -1845,7 +1846,7 @@ sub get_remote_directory_details
+@@ -1827,7 +1828,7 @@
+               }
+ 
+               &msg( " Getting directory listing from remote file $ls_lR_file\n" ) if $debug;
+-              if( ! &ftp'get( $ls_lR_file, $dirtmp, 0 ) ){
++              if( ! &ftp::get( $ls_lR_file, $dirtmp, 0 ) ){
+                       &msg( "Cannot get dir listing file\n" );
+                       return 0;
+               }
+@@ -1845,7 +1846,7 @@
                        $f = $dirtmp;
                        $dirtmp =~ s/\.($sys_compress_suffix|$gzip_suffix|$old_gzip_suffix)$//;
                        $udirtmp =~ s/\.($sys_compress_suffix|$gzip_suffix|$ol_gzip_suffix)$//;
@@ -69,7 +285,163 @@ $NetBSD: patch-ac,v 1.5 2011/09/12 16:35
                                &msg( "Cannot uncompress directory listing\n" );
                                return 0;
                        }
-@@ -2760,7 +2761,7 @@ sub transfer_file
+@@ -1860,7 +1861,7 @@
+       }
+       else {
+               $use_ls = 1;
+-              if( ! &ftp'type( 'A' ) ){
++              if( ! &ftp::type( 'A' ) ){
+                       &msg( "Cannot set type to ascii for dir listing, ignored\n" );
+                       $type_changed = 0;
+               }
+@@ -1869,21 +1870,21 @@
+               }
+       }
+       
+-      $lsparse'fstype = $remote_fs;
+-      $lsparse'name = "$site:$package";
++      $lsparse::fstype = $remote_fs;
++      $lsparse::name = "$site:$package";
+       
+       if( $use_ls ){
+               local( $flags ) = $flags_nonrecursive;
+               if( $recursive && ! $recurse_hard ){
+                       $flags = $flags_recursive;
+               }
+-              $lsparse'report_subdirs = (! $recurse_hard && $algorithm == 0);
+-              if( !&ftp'dir_open( $flags ) ){
+-                      &msg( "Cannot get remote directory listing because: $ftp'response\n" );
++              $lsparse::report_subdirs = (! $recurse_hard && $algorithm == 0);
++              if( !&ftp::dir_open( $flags ) ){
++                      &msg( "Cannot get remote directory listing because: $ftp::response\n" );
+                       return 0;
+               }
+               
+-              $rls = "ftp'NS";
++              $rls = "ftp::NS";
+       }
+               
+       $rcwd = '';
+@@ -1892,8 +1893,8 @@
+               # relative to the remote_dir
+               $rcwd = $remote_dir;
+       }
+-      $dateconv'use_timelocal = $use_timelocal;
+-      if( !&lsparse'reset( $rcwd ) ){
++      $dateconv::use_timelocal = $use_timelocal;
++      if( !&lsparse::reset( $rcwd ) ){
+               &msg( "$remote_fs: unknown fstype\n" );
+               return 0;
+       }
+@@ -1923,7 +1924,7 @@
+               # Could optimise this out - but it makes sure that
+               # the other end gets a command straight after a possibly
+               # long dir listing.
+-              if( ! &ftp'type( $text_mode ? 'A' : 'I' ) ){
++              if( ! &ftp::type( $text_mode ? 'A' : 'I' ) ){
+                       local( $msg ) = "Cannot reset type after dir listing, ";
+                       if( $type_changed ){
+                               # I changed it before - so I must be able to
+@@ -1995,7 +1996,7 @@
+       while( 1 ){
+               while( !eof( $rls ) ){
+                       ( $path, $size, $time, $type, $mode ) =
+-                              &lsparse'line( $rls );
++                              &lsparse::line( $rls );
+                       last if $path eq '';
+                       if( $ls_fix_mappings ){
+                               local( $old_path ) = $path;
+@@ -2086,9 +2087,9 @@
+               }
+ 
+               if( $use_ls ){
+-                      if( ! &ftp'dir_close() ){
++                      if( ! &ftp::dir_close() ){
+                               &msg( "Failure at end of remote directory" .
+-                               " ($rdir) because: $ftp'response\n" );
++                               " ($rdir) because: $ftp::response\n" );
+                               return 0;
+                       }
+               }
+@@ -2098,9 +2099,9 @@
+                       while( 1 ){
+                               if( $#dir_list < 0 ){
+                                       # Make sure we end in the right directory.
+-                                      if( ! &ftp'cwd( $remote_dir ) ){
++                                      if( ! &ftp::cwd( $remote_dir ) ){
+                                               &msg( "Cannot change to remote directory" .
+-                                               " ($rdir) because: $ftp'response\n" );
++                                               " ($rdir) because: $ftp::response\n" );
+                                               return 0;
+                                       }
+                                       $done = 1;
+@@ -2111,9 +2112,9 @@
+                               if( $debug > 2 ){
+                                       print "scanning: $remote_dir / $rcwd\n";
+                               }
+-                              if( ! &ftp'cwd( $rdir ) ){
++                              if( ! &ftp::cwd( $rdir ) ){
+                                       &msg( "Cannot change to remote directory" .
+-                                       " ($rdir) because: $ftp'response\n" );
++                                       " ($rdir) because: $ftp::response\n" );
+                                       next;
+                               }
+                               last;
+@@ -2121,12 +2122,12 @@
+                       if( $done ){
+                               last;
+                       }
+-                      if( !&ftp'dir_open( $flags_nonrecursive ) ){
++                      if( !&ftp::dir_open( $flags_nonrecursive ) ){
+                               &msg( "Cannot get remote directory" .
+-                                      " listing because: $ftp'response\n" );
++                                      " listing because: $ftp::response\n" );
+                               return 0;
+                       }
+-                      &lsparse'reset( $rcwd );
++                      &lsparse::reset( $rcwd );
+                       
+                       # round the loop again.
+                       next;
+@@ -2517,7 +2518,7 @@
+       
+       if( $external_mapping ){
+               $old_name = $name;
+-              local( $tmp ) = &extmap'map( $name );
++              local( $tmp ) = &extmap::map( $name );
+               if( $tmp ne $old_name ){
+                       $name = $tmp;
+               }
+@@ -2678,11 +2679,11 @@
+                       &transfer_file( $src_path, $dest_path,
+                                      $attribs, $remote_time[ $srci ] );
+               if( $get_file && $newpath eq '' ){
+-                      &msg( $log, "Failed to $XFER file $ftp'response\n" );
+-                      if( $ftp'response =~ /timeout|timed out/i ){
++                      &msg( $log, "Failed to $XFER file $ftp::response\n" );
++                      if( $ftp::response =~ /timeout|timed out/i ){
+                               $timeouts++;
+                       }
+-                      if( $ftp'fatalerror || $timeouts > $max_timeouts ){
++                      if( $ftp::fatalerror || $timeouts > $max_timeouts ){
+                               &msg( $log, "Fatal error talking to site, skipping rest of transfers\n" );
+                               &disconnect();
+                               return;
+@@ -2742,11 +2743,11 @@
+       }
+       
+       if( $vms ){
+-              &ftp'type( ($src_path =~ /$vms_xfer_text/i) ? 'A' : 'I' );
++              &ftp::type( ($src_path =~ /$vms_xfer_text/i) ? 'A' : 'I' );
+       }
+       
+       if( $remote_fs eq 'macos' && ! $get_file ){
+-              &ftp'type( 'A' );
++              &ftp::type( 'A' );
+       }
+       
+       if( ! $get_file ){
+@@ -2760,7 +2761,7 @@
                        local( $f ) = $src_file;
                        $f =~ s/($shell_metachars)/\\$1/g;
                        $comptemp = "$big_temp/.out$$";
@@ -78,7 +450,52 @@ $NetBSD: patch-ac,v 1.5 2011/09/12 16:35
                        $src_file = $comptemp;
                }
                
-@@ -2840,10 +2841,10 @@ sub transfer_file
+@@ -2768,15 +2769,15 @@
+                       $temp = $dest_path;
+               }
+ 
+-              if( ! &ftp'put( $src_file, $temp, $restart ) ){
+-                      &msg( $log, "Failed to put $src_file: $ftp'response\n" );
++              if( ! &ftp::put( $src_file, $temp, $restart ) ){
++                      &msg( $log, "Failed to put $src_file: $ftp::response\n" );
+                       unlink( $comptemp ) if $comptemp;
+                       return '';
+               }
+       
+               unlink( $comptemp ) if $comptemp;
+-              if( !$no_rename && ! &ftp'rename( $temp, $dest_path ) ){
+-                      &msg( $log, "Failed to remote rename $temp to $dest_path: $ftp'response\n" );
++              if( !$no_rename && ! &ftp::rename( $temp, $dest_path ) ){
++                      &msg( $log, "Failed to remote rename $temp to $dest_path: $ftp::response\n" );
+                       return '';
+               }
+ 
+@@ -2800,11 +2801,11 @@
+       # it.
+ 
+       # Get a file
+-      &ftp'dostrip( $strip_cr );
++      &ftp::dostrip( $strip_cr );
+       $start_time = time;
+-      if( ! &ftp'get( $src_path, $temp, $restart ) ){
+-              if( !$failed_gets_excl || $ftp'response !~ /$failed_gets_excl/ ){
+-                      &msg( $log, "Failed to get $src_path: $ftp'response\n" );
++      if( ! &ftp::get( $src_path, $temp, $restart ) ){
++              if( !$failed_gets_excl || $ftp::response !~ /$failed_gets_excl/ ){
++                      &msg( $log, "Failed to get $src_path: $ftp::response\n" );
+               }
+ 
+               # Time stamp the temp file to allow for a restart
+@@ -2823,7 +2824,7 @@
+ 
+       # delete source file after successful transfer
+       if( $delete_source ){
+-              if( &ftp'delete( $src_path ) ){
++              if( &ftp::delete( $src_path ) ){
+                       &msg( $log, "Deleted remote $src_path\n");
+               }
+               else {
+@@ -2840,10 +2841,10 @@
                # Am I doing compress to gzip conversion?
                if( $compress_conv_patt && $src_path =~ /$compress_conv_patt/ &&
                    $compress_suffix eq $gzip_suffix ){
@@ -91,7 +508,7 @@ $NetBSD: patch-ac,v 1.5 2011/09/12 16:35
                }
                &sys( $comp );
                $temp =~ s/\\($shell_metachars)/$1/g;
-@@ -3174,9 +3175,9 @@ sub do_delete
+@@ -3174,9 +3175,9 @@
                                        &msg( $log, "rmdir $cwd/$del failed: $!\n" );
                        }
                        else {
@@ -99,8 +516,77 @@ $NetBSD: patch-ac,v 1.5 2011/09/12 16:35
 -                              &ftp'delete( "$del" ) ||
 -                                      &msg( $log, "ftp delete DIR $del failed\n" );
 +                              &msg( $log, "deldir DIR $del\n" );
-+                              &ftp'deldir( "$del" ) ||
++                              &ftp::deldir( "$del" ) ||
 +                                      &msg( $log, "ftp deldir DIR $del failed\n" );
                        }
                }
                else {
+@@ -3184,7 +3185,7 @@
+                               &msg( $log, "NEED TO rmdir $cwd/$del\n" );
+                       }
+                       else {
+-                              &msg( $log, "NEED TO ftp'deldir $del\n" );
++                              &msg( $log, "NEED TO ftp::deldir $del\n" );
+                       }
+               }
+               return;
+@@ -3199,7 +3200,7 @@
+               }
+               else {
+                       &msg( $log, "delete FILE $del\n" );
+-                      &ftp'delete( "$del" ) ||
++                      &ftp::delete( "$del" ) ||
+                               &msg( $log, "ftp delete FILE $del failed\n" );
+               }
+       }
+@@ -3208,7 +3209,7 @@
+                       &msg( $log, "NEED TO unlink $cwd/$del\n" );
+               }
+               else {
+-                      &msg( $log, "NEED TO ftp'delete $del\n" );
++                      &msg( $log, "NEED TO ftp::delete $del\n" );
+               }
+       }
+ }
+@@ -3345,12 +3346,12 @@
+       }
+       else {
+               # make a remote directory
+-              $val = &ftp'mkdir( $dir );
++              $val = &ftp::mkdir( $dir );
+ 
+               # The mkdir might have failed due to bad mode
+               # So try to chmod it anyway
+               if( $remote_has_chmod ){
+-                      $val = &ftp'chmod( $dir, $mode );
++                      $val = &ftp::chmod( $dir, $mode );
+               }
+       }
+ 
+@@ -3369,14 +3370,14 @@
+       }
+       else {
+               # check if remote directory exists
+-              local($old_dir) = &ftp'pwd();           
++              local($old_dir) = &ftp::pwd();          
+               
+-              $val = &ftp'cwd($dir);
++              $val = &ftp::cwd($dir);
+ 
+               # If I didn't manage to change dir should be where I was!
+               if( $val ){
+                       # go back to the original directory
+-                      &ftp'cwd($old_dir) || die "Cannot cd to original remote directory";
++                      &ftp::cwd($old_dir) || die "Cannot cd to original remote directory";
+               }
+       }
+       return $val;
+@@ -3430,7 +3431,7 @@
+       else {
+               # change the remote file
+               if( $remote_has_chmod ){
+-                      &ftp'chmod( $path, $mode );
++                      &ftp::chmod( $path, $mode );
+               }
+       }
+ }
Index: pkgsrc/net/mirror/patches/patch-ad
diff -u pkgsrc/net/mirror/patches/patch-ad:1.5 pkgsrc/net/mirror/patches/patch-ad:1.6
--- pkgsrc/net/mirror/patches/patch-ad:1.5      Tue Dec 28 18:15:43 1999
+++ pkgsrc/net/mirror/patches/patch-ad  Thu Apr 11 10:23:44 2024
@@ -1,8 +1,74 @@
-$NetBSD: patch-ad,v 1.5 1999/12/28 18:15:43 itojun Exp $
+$NetBSD: patch-ad,v 1.6 2024/04/11 10:23:44 bouyer Exp $
 
---- lchat.pl.orig      Wed Jun  7 22:19:22 1995
-+++ lchat.pl   Wed May 12 18:10:54 1999
-@@ -79,7 +79,7 @@
+--- lchat.pl.orig      2024-04-11 11:08:05.970309238 +0200
++++ lchat.pl   2024-04-11 11:07:48.798330768 +0200
+@@ -34,7 +34,7 @@
+ # Lots of changes.  See CHANGES since 2.8 file.
+ #
+ # Revision 2.3  1994/02/03  13:45:35  lmjm
+-# Correct chat'read (bfriesen%simple.sat.tx.us@localhost)
++# Correct chat::read (bfriesen%simple.sat.tx.us@localhost)
+ #
+ # Revision 2.2  1993/12/14  11:09:03  lmjm
+ # Only include sys/socket.ph if not already there.
+@@ -55,7 +55,7 @@
+       eval "use Socket";
+ }
+ else {
+-      unless( defined &'PF_INET ){
++      unless( defined &::PF_INET ){
+               eval "sub ATT { 0; } sub INTEL { 0; }";
+               do 'sys/socket.ph';
+       }
+@@ -65,18 +65,18 @@
+ if( $] =~ /^5\.\d+$/ ){
+       # Perl 5 has a special way of getting them via the 'use Socket'
+       # above.
+-      $main'pf_inet = &Socket'PF_INET;
+-      $main'sock_stream = &Socket'SOCK_STREAM;
++      $main::pf_inet = &Socket::PF_INET;
++      $main::sock_stream = &Socket::SOCK_STREAM;
+       local($name, $aliases, $proto) = getprotobyname( 'tcp' );
+-      $main'tcp_proto = $proto;
++      $main::tcp_proto = $proto;
+ }
+-elsif( defined( &'PF_INET ) ){
++elsif( defined( &::PF_INET ) ){
+       # Perl 4 needs to have the socket.ph file created when perl was
+       # installed.
+-      $main'pf_inet = &'PF_INET;
+-      $main'sock_stream = &'SOCK_STREAM;
++      $main::pf_inet = &::PF_INET;
++      $main::sock_stream = &::SOCK_STREAM;
+       local($name, $aliases, $proto) = getprotobyname( 'tcp' );
+-      $main'tcp_proto = $proto;
++      $main::tcp_proto = $proto;
+ }
+ else {
+       # Whoever installed perl didn't run h2ph !!!
+@@ -84,9 +84,9 @@
+       #  last resort
+       # Use hardwired versions
+       # but who the heck would change these anyway? (:-)
+-      $main'pf_inet = 2;
+-      $main'sock_stream = 1; # Sigh... On Solaris set this to 2
+-      $main'tcp_proto = 6;
++      $main::pf_inet = 2;
++      $main::sock_stream = 1; # Sigh... On Solaris set this to 2
++      $main::tcp_proto = 6;
+       warn "lchat.pl: using hardwired in network constantants";
+ }
+ 
+@@ -108,7 +108,7 @@
+ }
+ 
+ 
+-## &chat'open_port("server.address",$port_number);
++## &chat::open_port("server.address",$port_number);
+ ## opens a named or numbered TCP server
+ sub open_port { ## public
+       local($server, $port) = @_;
+@@ -117,7 +117,7 @@
  
        # We may be multi-homed, start with 0, fixup once connexion is made
        $thisaddr = "\0\0\0\0" ;
@@ -11,16 +77,18 @@ $NetBSD: patch-ad,v 1.5 1999/12/28 18:15
  
        if ($server =~ /^(\d+)+\.(\d+)\.(\d+)\.(\d+)$/) {
                $serveraddr = pack('C4', $1, $2, $3, $4);
-@@ -90,7 +90,7 @@
+@@ -128,8 +128,8 @@
                }
                $serveraddr = $x[4];
        }
 -      $serverproc = pack($sockaddr, 2, $port, $serveraddr);
+-      unless (socket(S, $main'pf_inet, $main'sock_stream, $main'tcp_proto)) {
 +      $serverproc = pack_sockaddr_in($port, $serveraddr);
-       unless (socket(S, $main'pf_inet, $main'sock_stream, $main'tcp_proto)) {
++      unless (socket(S, $main::pf_inet, $main::sock_stream, $main::tcp_proto)) {
                ($!) = ($!, close(S)); # close S while saving $!
                return undef;
-@@ -99,12 +99,12 @@
+       }
+@@ -137,12 +137,12 @@
        # The SOCKS documentation claims that this bind before the connet
        # is unnecessary.  Not just, that, but when used with SOCKS,
        # a connect() must not follow a bind(). -Erez Zadok.
@@ -39,7 +107,7 @@ $NetBSD: patch-ad,v 1.5 1999/12/28 18:15
        unless (connect(S, $serverproc)) {
                ($!) = ($!, close(S)); # close S while saving $!
                return undef;
-@@ -114,7 +114,7 @@
+@@ -152,7 +152,7 @@
  # multi-homed, with IP forwarding off, so fix-up.
        local($fam,$lport);
        ($fam,$lport,$thisaddr) = unpack($sockaddr, getsockname(S));
@@ -48,7 +116,7 @@ $NetBSD: patch-ad,v 1.5 1999/12/28 18:15
  # end of post-connect fixup
        select((select(S), $| = 1)[0]);
        return 1;
-@@ -129,7 +129,7 @@
+@@ -167,7 +167,7 @@
  
        # We may be multi-homed, start with 0, fixup once connexion is made
        $thisaddr = "\0\0\0\0" ;
@@ -57,7 +125,7 @@ $NetBSD: patch-ad,v 1.5 1999/12/28 18:15
  
        if ($server =~ /^(\d+)+\.(\d+)\.(\d+)\.(\d+)$/) {
                $serveraddr = pack('C4', $1, $2, $3, $4);
-@@ -151,7 +151,7 @@
+@@ -189,7 +189,7 @@
  # multi-homed, with IP forwarding off, so fix-up.
        local($fam,$lport);
        ($fam,$lport,$thisaddr) = unpack($sockaddr, getsockname($newsock));
@@ -66,3 +134,47 @@ $NetBSD: patch-ad,v 1.5 1999/12/28 18:15
  # end of post-connect fixup
        select((select($newsock), $| = 1)[0]);
        return 1;
+@@ -197,7 +197,7 @@
+ ##############################################################################
+ 
+ 
+-## $return = &chat'expect($timeout_time,
++## $return = &chat::expect($timeout_time,
+ ##    $pat1, $body1, $pat2, $body2, ... )
+ ## $timeout_time is the time (either relative to the current time, or
+ ## absolute, ala time(2)) at which a timeout event occurs.
+@@ -293,7 +293,7 @@
+                               select($rmask, undef, undef, $endtime - time);
+                       if ($nfound) {
+                               $nread = sysread(S, $thisbuf, 1024);
+-                              if( $chat'debug ){
++                              if( $chat::debug ){
+                                       print STDERR "sysread $nread ";
+                                       print STDERR ">>$thisbuf<<\n";
+                               }
+@@ -316,21 +316,21 @@
+       & $subname();
+ }
+ 
+-## &chat'print(@data)
++## &chat::print(@data)
+ sub print { ## public
+       print S @_;
+-      if( $chat'debug ){
++      if( $chat::debug ){
+               print STDERR "printed:";
+               print STDERR @_;
+       }
+ }
+ 
+-## &chat'close()
++## &chat::close()
+ sub close { ## public
+       close(S);
+ }
+ 
+-# &chat'read(*buf, $ntoread )
++# &chat::read(*buf, $ntoread )
+ # blocking read. returns no. of bytes read and puts data in $buf.
+ # If called with ntoread < 0 then just do the accept and return 0.
+ sub read { ## public

Index: pkgsrc/net/mirror/patches/patch-ae
diff -u pkgsrc/net/mirror/patches/patch-ae:1.7 pkgsrc/net/mirror/patches/patch-ae:1.8
--- pkgsrc/net/mirror/patches/patch-ae:1.7      Mon Sep 12 16:35:43 2011
+++ pkgsrc/net/mirror/patches/patch-ae  Thu Apr 11 10:23:44 2024
@@ -1,12 +1,128 @@
-$NetBSD: patch-ae,v 1.7 2011/09/12 16:35:43 taca Exp $
+$NetBSD: patch-ae,v 1.8 2024/04/11 10:23:44 bouyer Exp $
 
 * Enable deleting remote directories.
 * Proper signal handling.
 * Miscellaneous bug fixes.
+* Fix deprecation warning (change ' to ::) for newer perl
 
---- ftp.pl.orig        1998-06-05 09:10:27.000000000 +0000
-+++ ftp.pl
-@@ -233,7 +233,7 @@ sub timed_open
+--- ftp.pl.orig        2024-04-11 11:08:05.969004188 +0200
++++ ftp.pl     2024-04-11 11:07:48.797471889 +0200
+@@ -28,17 +28,17 @@
+ #  $ftp_port = 21;
+ #  $retry_call = 1;
+ #  $attempts = 2;
+-#  if( &ftp'open( $site, $ftp_port, $retry_call, $attempts ) != 1 ){
++#  if( &ftp::open( $site, $ftp_port, $retry_call, $attempts ) != 1 ){
+ #   die "failed to open ftp connection";
+ #  }
+-#  if( ! &ftp'login( $user, $pass ) ){
++#  if( ! &ftp::login( $user, $pass ) ){
+ #   die "failed to login";
+ #  }
+-#  &ftp'type( $text_mode ? 'A' : 'I' );
+-#  if( ! &ftp'get( $remote_filename, $local_filename, 0 ) ){
++#  &ftp::type( $text_mode ? 'A' : 'I' );
++#  if( ! &ftp::get( $remote_filename, $local_filename, 0 ) ){
+ #   die "failed to get file";
+ #  }
+-#  &ftp'close();
++#  &ftp::close();
+ #
+ #
+ # $Id: patch-ae,v 1.8 2024/04/11 10:23:44 bouyer Exp $
+@@ -94,9 +94,9 @@
+ 
+ # This is a "global" it contains the last response from the remote ftp server
+ # for use in error messages
+-$ftp'response = "";
++$ftp::response = "";
+ 
+-# Also ftp'NS is the socket containing the data coming in from the remote ls
++# Also ftp::NS is the socket containing the data coming in from the remote ls
+ # command.
+ 
+ # The size of block to be read or written when talking to the remote
+@@ -115,12 +115,12 @@
+ $real_site = "";
+ 
+ # "Global" Where error/log reports are sent to
+-$ftp'showfd = 'STDERR';
++$ftp::showfd = 'STDERR';
+ 
+ # Should a 421 be treated as a connection close and return 99 from
+-# ftp'expect.  This is against rfc1123 recommendations but I've found
++# ftp::expect.  This is against rfc1123 recommendations but I've found
+ # it to be a wise default.
+-$ftp'drop_on_421 = 1;
++$ftp::drop_on_421 = 1;
+ 
+ # Name of a function to call on a pathname to map it into a remote
+ # pathname.
+@@ -131,7 +131,7 @@
+ $ftp_show = 0;
+ 
+ # Global set on a error that aborts the connection
+-$ftp'fatalerror = 0;
++$ftp::fatalerror = 0;
+ 
+ # Whether to keep the continuation messages so the user can look at them
+ $keep_continuations = 0;
+@@ -140,7 +140,7 @@
+ $read_in = undef;
+ 
+ # should we use the PASV extension to the ftp protocol?
+-$ftp'use_pasv = 0;    # 0=no (default), 1=yes
++$ftp::use_pasv = 0;    # 0=no (default), 1=yes
+ 
+ # Variable only used if proxying
+ $proxy = $proxy_gateway = $proxy_ftp_port = '';
+@@ -150,30 +150,30 @@
+ # (Normally set elsewhere - this is just a sensible default.)
+ # Is expected to take count and code as arguments and prompt
+ # for the secret key  with 'password:' on stdout and then print the password.
+-$ftp'keygen_prog = '/usr/local/bin/key';
++$ftp::keygen_prog = '/usr/local/bin/key';
+ 
+ # Uncomment to turn on lots of debugging.
+ # &debug( 10 );
+ 
+-# Limit how much data any one ftp'get can pull back
++# Limit how much data any one ftp::get can pull back
+ # Negative values cause the size check to be skipped.
+ $max_get_size = -1;
+ 
+ # Where I am connected to.
+ $connect_site = '';
+ 
+-# &ftp'debug( debugging_level )
++# &ftp::debug( debugging_level )
+ # Turn on debugging ranging from 1 = some to 10 = everything
+-sub ftp'debug
++sub ftp::debug
+ {
+       $ftp_show = $_[0];
+       if( $ftp_show > 9 ){
+-              $chat'debug = 1;
++              $chat::debug = 1;
+       }
+ }
+ 
+-# &ftp'set_timeout( seconds )
+-sub ftp'set_timeout
++# &ftp::set_timeout( seconds )
++sub ftp::set_timeout
+ {
+       local( $to ) = @_;
+       return if $to == $timeout;
+@@ -226,21 +226,21 @@
+                       $connect_site = $site;
+                       $connect_port = $ftp_port;
+               }
+-              if( ! &chat'open_port( $connect_site, $connect_port ) ){
++              if( ! &chat::open_port( $connect_site, $connect_port ) ){
+                       if( $retry_call ){
+                               print $showfd "Failed to connect\n" if $ftp_show;
+                               next;
                        }
                        else {
                                print $showfd "proxy connection failed " if $proxy;
@@ -15,22 +131,119 @@ $NetBSD: patch-ae,v 1.7 2011/09/12 16:35
                                return 0;
                        }
                }
-@@ -270,6 +270,14 @@ sub ftp'set_signals
-       $SIG{ 'PIPE' } = "ftp'ftp__sighandler";
+               $ret = &expect( $timeout,
+                       2, 1 ); # ready for login to $site
+               if( $ret != 1 ){
+-                      &chat'close();
++                      &chat::close();
+                       next;
+               }
+               return 1;
+@@ -264,14 +264,22 @@
+ }
+ 
+ # Setup a signal handler for possible errors.
+-sub ftp'set_signals
++sub ftp::set_signals
+ {
+       $ftp_logger = @_;
+-      $SIG{ 'PIPE' } = "ftp'ftp__sighandler";
++      $SIG{ 'PIPE' } = "ftp::ftp__sighandler";
  }
  
+-# &ftp'set_namemap( function to map outgoing name,  function to map incoming )
+-sub ftp'set_namemap
 +# Setup a signal handler for user interrupts.
-+sub ftp'set_user_signals
++sub ftp::set_user_signals
 +{
 +      $ftp_logger = @_;
-+      $SIG{ 'INT' } = "ftp'ftp__sighandler";
++      $SIG{ 'INT' } = "ftp::ftp__sighandler";
 +}
 + 
 +
- # &ftp'set_namemap( function to map outgoing name,  function to map incoming )
- sub ftp'set_namemap
++# &ftp::set_namemap( function to map outgoing name,  function to map incoming )
++sub ftp::set_namemap
  {
-@@ -486,7 +494,7 @@ sub pasv
+       ($mapunixout, $mapunixin) = @_;
+       if( $debug ) {
+@@ -280,12 +288,12 @@
+ }
+ 
+ 
+-# &ftp'open( hostname or address,
++# &ftp::open( hostname or address,
+ #            port to use,
+ #            retry on call failure,
+ #          number of attempts to retry )
+ # returns 1 if connected, 0 otherwise
+-sub ftp'open
++sub ftp::open
+ {
+       local( $site, $ftp_port, $retry_call, $attempts ) = @_;
+ 
+@@ -312,9 +320,9 @@
+       return $ret;
+ }
+ 
+-# &ftp'login( user, password, account )
++# &ftp::login( user, password, account )
+ # the account part is optional unless the remote service requires one.
+-sub ftp'login
++sub ftp::login
+ {
+       local( $remote_user, $remote_password, $remote_account ) = @_;
+         local( $ret );
+@@ -351,11 +359,11 @@
+               # check for s/key challenge - eg, [s/key 994 ph29005]
+               # If we are talking to skey then use remote_password as the
+               # secret to generate a real password
+-              if( $ftp'response =~ m#\[s/key (\d+) (\w+)\]# ){
++              if( $ftp::response =~ m#\[s/key (\d+) (\w+)\]# ){
+                       local( $count, $code ) = ($1, $2);
+ 
+                       # TODO: report open failure & remove need for echo
+-                      open( SKEY, "echo $remote_password | $ftp'keygen_prog $count $code |" );
++                      open( SKEY, "echo $remote_password | $ftp::keygen_prog $count $code |" );
+                       while( <SKEY> ){
+                               if( ! /password:/ ){
+                                       chop( $remote_password = $_ );
+@@ -411,21 +419,21 @@
+ sub service_closed
+ {
+       $service_open = 0;
+-      &chat'close();
++      &chat::close();
+ }
+ 
+ # Close down the current ftp connecting in an orderly way.
+-sub ftp'close
++sub ftp::close
+ {
+       &quit();
+       $service_open = 0;
+-      &chat'close();
++      &chat::close();
+ }
+ 
+-# &ftp'cwd( directory )
++# &ftp::cwd( directory )
+ # Change to the given directory
+ # return 1 if successful, 0 otherwise
+-sub ftp'cwd
++sub ftp::cwd
+ {
+       local( $dir ) = @_;
+       local( $ret );
+@@ -460,7 +468,7 @@
+ sub pasv
+ {
+       # At some point I need to close/free S2, no?
+-      unless( socket( S2, $main'pf_inet, $main'sock_stream, $main'tcp_proto ) ){
++      unless( socket( S2, $main::pf_inet, $main::sock_stream, $main::tcp_proto ) ){
+               ($!) = ($!, close(S2)); # close S2 while saving $!
+               return undef;
+       }
+@@ -486,7 +494,7 @@
                return 0;
        }
        if( $ret == 1 ) {
@@ -39,7 +252,40 @@ $NetBSD: patch-ae,v 1.7 2011/09/12 16:35
                        $newhost = sprintf( "%d.%d.%d.%d", $1, $2, $3, $4 );
                        $newport = $5 * 256 + $6;
                }
-@@ -581,6 +589,9 @@ sub ftp'dir_close
+@@ -497,7 +505,7 @@
+       }
+ 
+       # now need to connect() the new socket
+-      if( ! &chat'open_newport( $newhost, $newport, *S2 ) ){
++      if( ! &chat::open_newport( $newhost, $newport, *S2 ) ){
+               if( $retry_call ){
+                       print $showfd "Failed to connect newport\n" if $ftp_show;
+                       next;
+@@ -511,12 +519,12 @@
+ }
+ 
+ 
+-# &ftp'dir( remote LIST options )
++# &ftp::dir( remote LIST options )
+ # Start a list going with the given options.
+ # Presuming that the remote deamon uses the ls command to generate the
+ # data to send back then then you can send it some extra options (eg: -lRa)
+ # return 1 if sucessful, 0 otherwise
+-sub ftp'dir_open
++sub ftp::dir_open
+ {
+       local( $options ) = @_;
+       local( $ret );
+@@ -573,7 +581,7 @@
+ 
+ # Close down reading the result of a remote ls command
+ # return 1 if successful, 0 otherwise
+-sub ftp'dir_close
++sub ftp::dir_close
+ {
+       local( $ret );
+ 
+@@ -581,6 +589,9 @@
                return 0;
        }
  
@@ -49,7 +295,7 @@ $NetBSD: patch-ae,v 1.7 2011/09/12 16:35
        # read the close
        #
        $ret = &expect($timeout,
-@@ -590,8 +601,6 @@ sub ftp'dir_close
+@@ -590,8 +601,6 @@
                $ret = 0;
        }
  
@@ -58,7 +304,41 @@ $NetBSD: patch-ae,v 1.7 2011/09/12 16:35
  
        if( ! $ret ){
                return 0;
-@@ -708,6 +717,7 @@ sub ftp'get
+@@ -602,7 +611,7 @@
+ 
+ # Quit from the remote ftp server
+ # return 1 if successful and 0 on failure
+-#  Users should be calling &ftp'close();
++#  Users should be calling &ftp::close();
+ sub quit
+ {
+       local( $ret );
+@@ -687,20 +696,20 @@
+       return syswrite( NS, $ftpbuf, $ftpbufsize );
+ }
+ 
+-# &ftp'dostrip( true or false )
++# &ftp::dostrip( true or false )
+ # Turn on or off stripping of incoming carriage returns.
+-sub ftp'dostrip
++sub ftp::dostrip
+ {
+       ($strip_cr ) = @_;
+ }
+ 
+-# &ftp'get( remote file, local file, try restarting where last xfer failed )
++# &ftp::get( remote file, local file, try restarting where last xfer failed )
+ # Get a remote file back into a local file.
+ # If no loc_fname passed then uses rem_fname.
+ # If $restart set and the remote site supports it then restart where
+ # last xfer left off.
+ # returns 1 on success, 0 otherwise
+-sub ftp'get
++sub ftp::get
+ {
+       local($rem_fname, $loc_fname, $restart ) = @_;
+       local( $ret );
+@@ -708,6 +717,7 @@
        if( ! $service_open ){
                return 0;
        }
@@ -66,7 +346,16 @@ $NetBSD: patch-ae,v 1.7 2011/09/12 16:35
  
        if( $loc_fname eq "" ){
                $loc_fname = $rem_fname;
-@@ -917,10 +927,27 @@ sub delete
+@@ -887,7 +897,7 @@
+       return $ret;
+ }
+ 
+-# &ftp'delete( remote filename )
++# &ftp::delete( remote filename )
+ # Delete a file from the remote site.
+ # returns 1 if successful, 0 otherwise
+ sub delete
+@@ -917,15 +927,32 @@
  
  sub deldir
  {
@@ -96,4 +385,133 @@ $NetBSD: patch-ae,v 1.7 2011/09/12 16:35
 +      return $ret == 1;
  }
  
- # &ftp'put( local filename, remote filename, restart where left off )
+-# &ftp'put( local filename, remote filename, restart where left off )
++# &ftp::put( local filename, remote filename, restart where left off )
+ # Similar to get but sends file to the remote site.
+-sub ftp'put
++sub ftp::put
+ {
+       local( $loc_fname, $rem_fname ) = @_;
+       local( $strip_cr );
+@@ -1091,9 +1118,9 @@
+       return $ret;
+ }
+ 
+-# &ftp'restart( byte_offset )
++# &ftp::restart( byte_offset )
+ # Restart the next transfer from the given offset
+-sub ftp'restart
++sub ftp::restart
+ {
+       local( $restart_point, $ret ) = @_;
+ 
+@@ -1115,7 +1142,7 @@
+       return $ret;
+ }
+ 
+-# &ftp'type( 'A' or 'I' )
++# &ftp::type( 'A' or 'I' )
+ # set transfer type to Ascii or Image.
+ sub type
+ {
+@@ -1143,7 +1170,7 @@
+ @site_command_list = ();
+ 
+ # routine to query the remote server for 'SITE' commands supported
+-sub ftp'site_commands
++sub ftp::site_commands
+ {
+       local( $ret );
+       
+@@ -1183,7 +1210,7 @@
+ }
+ 
+ # return the pwd, or null if we can't get the pwd
+-sub ftp'pwd
++sub ftp::pwd
+ {
+       local( $ret, $cwd );
+ 
+@@ -1214,7 +1241,7 @@
+       return $cwd;
+ }
+ 
+-# &ftp'mkdir( directory name )
++# &ftp::mkdir( directory name )
+ # Create a directory on the remote site
+ # return 1 for success, 0 otherwise
+ sub mkdir
+@@ -1244,7 +1271,7 @@
+       return $ret;
+ }
+ 
+-# &ftp'chmod( pathname, new mode )
++# &ftp::chmod( pathname, new mode )
+ # Change the mode of a file on the remote site.
+ # return 1 for success, 0 for failure
+ sub chmod
+@@ -1274,10 +1301,10 @@
+       return $ret;
+ }
+ 
+-# &ftp'rename( old name, new name )
++# &ftp::rename( old name, new name )
+ # Rename a file on the remote site.
+ # returns 1 if successful, 0 otherwise
+-sub ftp'rename
++sub ftp::rename
+ {
+       local( $old_name, $new_name ) = @_;
+       local( $ret );
+@@ -1325,8 +1352,8 @@
+ }
+ 
+ 
+-# &ftp'quote( site command );
+-sub ftp'quote
++# &ftp::quote( site command );
++sub ftp::quote
+ {
+       local( $cmd ) = @_;
+       local( $ret );
+@@ -1364,7 +1391,7 @@
+ }
+ 
+ #
+-#  create the list of parameters for chat'expect
++#  create the list of parameters for chat::expect
+ #
+ #  expect( time_out, {value, return value} );
+ #  the last response is stored in $response
+@@ -1427,7 +1454,7 @@
+               if( $ftp_show > 9 ){
+                       &printargs( $time_out, @expect_args );
+               }
+-              $ret = &chat'expect( $time_out, @expect_args );
++              $ret = &chat::expect( $time_out, @expect_args );
+       }
+ 
+       return $ret;
+@@ -1449,10 +1476,10 @@
+       
+       $sockaddr = 'S n a4 x8';
+ 
+-      ($a,$b,$c,$d) = unpack( 'C4', $chat'thisaddr );
+-      $this = $chat'thisproc;
++      ($a,$b,$c,$d) = unpack( 'C4', $chat::thisaddr );
++      $this = $chat::thisproc;
+       
+-      if( ! socket( S, $main'pf_inet, $main'sock_stream, $main'tcp_proto ) ){
++      if( ! socket( S, $main::pf_inet, $main::sock_stream, $main::tcp_proto ) ){
+               warn "socket: $!";
+               return 0;
+       }
+@@ -1505,7 +1532,7 @@
+               print $showfd "---> $sc\n";
+       }
+       
+-      &chat'print( "$send_cmd\r\n" );
++      &chat::print( "$send_cmd\r\n" );
+ }
+ 
+ sub accept

Index: pkgsrc/net/mirror/patches/patch-ag
diff -u pkgsrc/net/mirror/patches/patch-ag:1.2 pkgsrc/net/mirror/patches/patch-ag:1.3
--- pkgsrc/net/mirror/patches/patch-ag:1.2      Mon Sep 12 16:35:43 2011
+++ pkgsrc/net/mirror/patches/patch-ag  Thu Apr 11 10:23:44 2024
@@ -1,11 +1,12 @@
-$NetBSD: patch-ag,v 1.2 2011/09/12 16:35:43 taca Exp $
+$NetBSD: patch-ag,v 1.3 2024/04/11 10:23:44 bouyer Exp $
 
 * Avoid to use timelocal.pl which cause obsolete warning with perl 5.14.
 * Make sure to use 4-digit year.
+* Fix deprecation warning (change ' to ::) for newer perl
 
---- dateconv.pl.orig   1998-05-29 19:04:32.000000000 +0000
-+++ dateconv.pl
-@@ -47,7 +47,8 @@ sub lstime_to_standard
+--- dateconv.pl.orig   2024-04-11 11:08:05.967542752 +0200
++++ dateconv.pl        2024-04-11 11:07:48.795406481 +0200
+@@ -47,7 +47,8 @@
  }
  
  
@@ -15,7 +16,35 @@ $NetBSD: patch-ag,v 1.2 2011/09/12 16:35
  package dateconv;
  
  # Use timelocal rather than gmtime.
-@@ -149,5 +150,5 @@ sub main'time_to_standard
+@@ -74,7 +75,7 @@
+ # input date and time string from ftp "ls -l", such as Mmm dd yyyy or
+ # Mmm dd HH:MM,
+ # return $time number via gmlocal( $string ).
+-sub main'lstime_to_time
++sub main::lstime_to_time
+ {
+       package dateconv;
+ 
+@@ -133,15 +134,15 @@
+       $year += 50 if 37 < $year && $year < 70 ;
+ 
+       if( $use_timelocal ){
+-              return &'timelocal( $secs, $mins, $hours, $day, $month, $year );
++              return &::timelocal( $secs, $mins, $hours, $day, $month, $year );
+       }
+       else {
+-              return &'timegm( $secs, $mins, $hours, $day, $month, $year );
++              return &::timegm( $secs, $mins, $hours, $day, $month, $year );
+       }
+ }
+ 
+ # input time number, output GMT string as "dd Mmm YY HH:MM"
+-sub main'time_to_standard
++sub main::time_to_standard
+ {
+       package dateconv;
+ 
+@@ -149,5 +150,5 @@
  
        local( $sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst ) =
                 gmtime( $time );

Added files:

Index: pkgsrc/net/mirror/patches/patch-lsparse.pl
diff -u /dev/null pkgsrc/net/mirror/patches/patch-lsparse.pl:1.1
--- /dev/null   Thu Apr 11 10:23:44 2024
+++ pkgsrc/net/mirror/patches/patch-lsparse.pl  Thu Apr 11 10:23:44 2024
@@ -0,0 +1,526 @@
+$NetBSD: patch-lsparse.pl,v 1.1 2024/04/11 10:23:44 bouyer Exp $
+
+* Fix deprecation warning (change ' to ::) for newer perl
+
+--- lsparse.pl.orig    1998-05-29 21:04:23.000000000 +0200
++++ lsparse.pl 2024-04-11 11:07:48.800742520 +0200
+@@ -14,7 +14,7 @@
+ # This software is provided "as is" without express or implied warranty.
+ #
+ # Parse "ls -lR" type listings
+-# use lsparse'reset( dirname ) repeately
++# use lsparse::reset( dirname ) repeately
+ #
+ # By Lee McLoughlin <lmjm%icparc.ic.ac.uk@localhost>
+ #
+@@ -61,18 +61,18 @@
+ local( $match );
+ 
+ # The filestore type being scanned
+-$lsparse'fstype = 'unix';
++$lsparse::fstype = 'unix';
+ 
+ # Keep whatever case is on the remote system.  Otherwise lowercase it.
+-$lsparse'vms_keep_case = '';
++$lsparse::vms_keep_case = '';
+ 
+ # A name to report when errors occur
+-$lsparse'name = 'unknown';
++$lsparse::name = 'unknown';
+ 
+ # Wether to report subdirs when finding them in a directory
+ # or when their details appear.  (If you report early then mirro might
+ # recreate locally remote restricted directories.)
+-$lsparse'report_subdir = 0;   # Report when finding details.
++$lsparse::report_subdir = 0;  # Report when finding details.
+ 
+ 
+ # Name of routine to call to parse incoming listing lines
+@@ -81,7 +81,7 @@
+ # Set the directory that is being scanned and
+ # check that the scan routing for this fstype exists
+ # returns false if the fstype is unknown.
+-sub lsparse'reset
++sub lsparse::reset
+ {
+       $here = $currdir = $_[0];
+       $now = time;
+@@ -91,17 +91,17 @@
+       $vms_strip =~ s,^/+,,;
+       $vms_strip =~ s,/+$,,;
+ 
+-      $ls_line = "lsparse'line_$fstype";
++      $ls_line = "lsparse::line_$fstype";
+       return( defined( &$ls_line ) );
+ }
+ 
+ # See line_unix following routine for call/return details.
+ # This calls the filestore specific parser.
+-sub lsparse'line
++sub lsparse::line
+ {
+       local( $fh ) = @_;
+ 
+-      # ls_line is setup in lsparse'reset to the name of the function
++      # ls_line is setup in lsparse::reset to the name of the function
+       local( $path, $size, $time, $type, $mode ) =
+               eval "&$ls_line( \$fh )";
+ 
+@@ -119,7 +119,7 @@
+ # time is a Un*x time value for the file
+ # type is "f" for a file, "d" for a directory and
+ #         "l linkname" for a symlink
+-sub lsparse'line_unix
++sub lsparse::line_unix
+ {
+       local( $fh ) = @_;
+       local( $non_crud, $perm_denied );
+@@ -132,7 +132,7 @@
+ 
+       while( <$fh> ){
+               # Store listing
+-              print main'STORE $_;
++              print main::STORE $_;
+ 
+               # Stomp on carriage returns
+               s/\015//g;
+@@ -168,7 +168,7 @@
+               if( $perm_denied ){
+                       $perm_denied = "";
+                       warn "Warning: input corrupted by 'Permission denied'",
+-                              "errors, about line $. of $lsparse'name\n";
++                              "errors, about line $. of $lsparse::name\n";
+                       next;
+               }
+               # Not found's are like Permission denied's.  They can start part
+@@ -180,7 +180,7 @@
+               if( $not_found ){
+                       $not_found = "";
+                       warn "Warning: input corrupted by 'not found' errors",
+-                              " about line $. of $lsparse'name\n";
++                              " about line $. of $lsparse::name\n";
+                       next;
+               }
+               
+@@ -196,7 +196,7 @@
+                               next;
+                       }
+ 
+-                      local( $time ) = &main'lstime_to_time( $lsdate );
++                      local( $time ) = &main::lstime_to_time( $lsdate );
+                       local( $type ) = '?';
+                       local( $mode ) = 0;
+ 
+@@ -316,7 +316,7 @@
+ # time is a Un*x time value for the file
+ # type is "f" for a file, "d" for a directory and
+ #         "l linkname" for a symlink
+-sub lsparse'line_dls
++sub lsparse::line_dls
+ {
+       local( $fh ) = @_;
+       local( $non_crud, $perm_denied );
+@@ -327,7 +327,7 @@
+ 
+       while( <$fh> ){
+               # Store listing
+-              print main'STORE $_;
++              print main::STORE $_;
+ 
+               # Stomp on carriage returns
+               s/\015//g;
+@@ -350,7 +350,7 @@
+                       }
+                       else {
+                               # a file
+-                              $time = &main'lstime_to_time( $lsdate );
++                              $time = &main::lstime_to_time( $lsdate );
+                               $type = 'f';
+                               $mode = 0444;
+                       }
+@@ -400,7 +400,7 @@
+ # time is a Un*x time value for the file
+ # type is "f" for a file, "d" for a directory and
+ #         "l linkname" for a symlink
+-sub lsparse'line_netware
++sub lsparse::line_netware
+ {
+       local( $fh ) = @_;
+ 
+@@ -410,7 +410,7 @@
+ 
+       while( <$fh> ){
+               # Store listing
+-              print main'STORE $_;
++              print main::STORE $_;
+ 
+               # Stomp on carriage returns
+               s/\015//g;
+@@ -435,7 +435,7 @@
+                       if( $file eq '.' || $file eq '..' ){
+                               next;
+                       }
+-                      local( $time ) = &main'lstime_to_time( $lsdate );
++                      local( $time ) = &main::lstime_to_time( $lsdate );
+                       local( $type ) = '?';
+                       local( $mode ) = 0;
+ 
+@@ -509,7 +509,7 @@
+ # time is a Un*x time value for the file
+ # type is "f" for a file, "d" for a directory and
+ #         "l linkname" for a symlink
+-sub lsparse'line_vms
++sub lsparse::line_vms
+ {
+       local( $fh ) = @_;
+       local( $non_crud, $perm_denied );
+@@ -520,7 +520,7 @@
+ 
+       while( <$fh> ){
+               # Store listing
+-              print main'STORE $_;
++              print main::STORE $_;
+ 
+               # Stomp on carriage returns
+               s/\015//g;
+@@ -543,7 +543,7 @@
+               }
+ 
+               # Upper case is so ugly
+-              if( ! $lsparse'vms_keep_case ){
++              if( ! $lsparse::vms_keep_case ){
+                       tr/A-Z/a-z/;
+               }
+ 
+@@ -584,7 +584,7 @@
+               $size = 0;
+               
+               if( $got ){
+-                      local( $time ) = &main'lstime_to_time( $lsdate );
++                      local( $time ) = &main::lstime_to_time( $lsdate );
+                       local( $type ) = 'f';
+                       local( $mode ) = 0444;
+ 
+@@ -610,7 +610,7 @@
+                               $mode = 0555;
+                       }
+ 
+-                      $lsparse'vers = $vers;
++                      $lsparse::vers = $vers;
+ 
+ #print "file=|$file| match=|$match| vms_strip=|$vms_strip|\n";
+                       $file =~ s,^,/,;
+@@ -653,7 +653,7 @@
+ # time is a Un*x time value for the file
+ # type is "f" for a file, "d" for a directory and
+ #         "l linkname" for a symlink
+-sub lsparse'line_dosftp
++sub lsparse::line_dosftp
+ {
+       local( $fh ) = @_;
+ 
+@@ -670,7 +670,7 @@
+                       $_ = <$fh>;
+ 
+                       # Store listing
+-                      print main'STORE $_;
++                      print main::STORE $_;
+ 
+                       # Ignore the summary at the end and blank lines
+                       if( /^\d+ files?\./ || /^\s+$/ ){
+@@ -691,7 +691,7 @@
+ 
+                       # TODO: fix hacky 19$yr
+                       local( $lsdate ) = "$day-$mon-19$yr $hrs:$min";
+-                      local( $time ) = &main'lstime_to_time( $lsdate );
++                      local( $time ) = &main::lstime_to_time( $lsdate );
+                       local( $type ) = '?';
+                       local( $mode ) = 0;
+ 
+@@ -736,7 +736,7 @@
+ # 03-08-94  07:17AM                 5504 article.xfiles.intro
+ # 02-28-94  11:44AM                 3262 article1.gillian.anderson
+ 
+-sub lsparse'line_dosish
++sub lsparse::line_dosish
+ {
+       local( $fh ) = @_;
+ 
+@@ -748,7 +748,7 @@
+               $_ = <$fh>;
+ 
+               # Store listing
+-              print main'STORE $_;
++              print main::STORE $_;
+ 
+               # Ignore blank lines
+               if( /^\s+$/ ){
+@@ -775,7 +775,7 @@
+ 
+                       # TODO: fix hacky 19$yr
+                       local( $lsdate ) = "$day-$mon-19$yr $hrs:$min";
+-                      local( $time ) = &main'lstime_to_time( $lsdate );
++                      local( $time ) = &main::lstime_to_time( $lsdate );
+                       local( $type ) = ($dir_or_size eq '<DIR>' ? 'd' : 'f');
+                       local( $mode ) = 0;
+                       local( $size ) = 0;
+@@ -842,7 +842,7 @@
+ # WPKIT1.EXE          960338      06/21/95        17:01
+ # CMT.CSV                  0      07/06/95        14:56
+ 
+-sub lsparse'line_supertcp
++sub lsparse::line_supertcp
+ {
+     local( $fh ) = @_;
+ 
+@@ -860,7 +860,7 @@
+           $_ = <$fh>;
+ 
+           # Store listing
+-          print main'STORE $_;
++          print main::STORE $_;
+ 
+           # Ignore the summary at the end and blank lines
+           if( /^\d+ files?\./ || /^\s+$/ ){
+@@ -885,7 +885,7 @@
+           $pending = $5;
+ 
+           local( $lsdate ) = "$day-$mon-$yr $time";
+-          local( $time ) = &main'lstime_to_time( $lsdate );
++          local( $time ) = &main::lstime_to_time( $lsdate );
+             local( $type ) = '?';
+           local( $mode ) = 0;
+ 
+@@ -931,7 +931,7 @@
+ #               372      A          08-09-95   10:26  Aussie_1.bag
+ #            310992                 06-28-94   09:56  INSTALL.EXE
+ 
+-sub lsparse'line_os2
++sub lsparse::line_os2
+ {
+       local( $fh ) = @_;
+ 
+@@ -943,7 +943,7 @@
+               $_ = <$fh>;
+ 
+               # Store listing
+-              print main'STORE $_;
++              print main::STORE $_;
+ 
+               # Ignore blank lines
+               if( /^\s+$/ ){
+@@ -971,7 +971,7 @@
+ 
+                       # TODO: fix hacky 19$yr
+                       local( $lsdate ) = "$day-$mon-19$yr $hrs:$min";
+-                      local( $time ) = &main'lstime_to_time( $lsdate );
++                      local( $time ) = &main::lstime_to_time( $lsdate );
+                       local( $type ) = ($dir eq 'DIR' ? 'd' : 'f');
+                       local( $mode ) = 0;
+ 
+@@ -999,7 +999,7 @@
+ # time is a Un*x time value for the file
+ # type is "f" for a file, "d" for a directory and
+ #         "l linkname" for a symlink
+-sub lsparse'line_chameleon
++sub lsparse::line_chameleon
+ {
+     local( $fh ) = @_;
+ 
+@@ -1038,7 +1038,7 @@
+           $pending = $5;
+ 
+           local( $lsdate ) = "$day-$mon-$yr $time";
+-          local( $time ) = &main'lstime_to_time( $lsdate );
++          local( $time ) = &main::lstime_to_time( $lsdate );
+             local( $type ) = '?';
+           local( $mode ) = 0;
+ 
+@@ -1076,7 +1076,7 @@
+ # time is a Un*x time value for the file
+ # type is "f" for a file, "d" for a directory and
+ #         "l linkname" for a symlink
+-sub lsparse'line_macos
++sub lsparse::line_macos
+ {
+       local( $fh ) = @_;
+       local( $non_crud, $perm_denied );
+@@ -1087,7 +1087,7 @@
+ 
+       while( <$fh> ){
+               # Store listing
+-              print main'STORE $_;
++              print main::STORE $_;
+ 
+               # Stomp on carriage returns
+               s/\015//g;
+@@ -1098,7 +1098,7 @@
+               if( /^([\-rwxd]{10}).*\s(\d+\s+)?(\S+)\s+\d+\s*(\w\w\w\s+\d+\s*(\d+:\d+|\d\d\d\d))\s+(.*)\n/ ){
+                       local( $kind, $size, $lsdate, $file ) = ($1, $3, $4, $6);
+                       
+-                      local( $time ) = &main'lstime_to_time( $lsdate );
++                      local( $time ) = &main::lstime_to_time( $lsdate );
+                       local( $type ) = '?';
+                       local( $mode ) = 0;
+ 
+@@ -1126,18 +1126,18 @@
+ 
+ 
+ # --------------------- parse lsparse log file format
+-# lsparse'line_lsparse() is for input in lsparse's internal form,
++# lsparse::line_lsparse() is for input in lsparse's internal form,
+ # as it might have been written to a log file during a previous
+ # run of a program that uses lsparse.  The format is:
+ #     filename size time type mode
+ # where size and time are in decimal, mode is in decimal or octal,
+ # and type is one or two words.
+-sub lsparse'line_lsparse
++sub lsparse::line_lsparse
+ {
+       local( $fh ) = @_;
+ 
+-      if( $lsparse'readtime ){
+-              alarm( $lsparse'readtime );
++      if( $lsparse::readtime ){
++              alarm( $lsparse::readtime );
+       }
+ 
+       if( eof( $fh ) ){
+@@ -1147,7 +1147,7 @@
+ 
+       while( <$fh> ){
+               # Store listing
+-              print main'STORE $_;
++              print main::STORE $_;
+ 
+               if( /^(\S+)\s+(\d+)\s+(\d+)\s+((l\s+)?\S+)\s+(\d+)\n$/ ){
+                       # looks good.
+@@ -1174,12 +1174,12 @@
+ # This is the format used at sumex-aim.stanford.edu for the info-mac area.
+ # (see info-mac/help/all-files.txt.gz).
+ #
+-sub lsparse'line_infomac
++sub lsparse::line_infomac
+ {
+       local( $fh ) = @_;
+ 
+-      if( $lsparse'readtime ){
+-              alarm( $lsparse'readtime );
++      if( $lsparse::readtime ){
++              alarm( $lsparse::readtime );
+       }
+ 
+       if( eof( $fh ) ){
+@@ -1189,13 +1189,13 @@
+ 
+       while( <$fh> ){
+               # Store listing
+-              print main'STORE $_;
++              print main::STORE $_;
+ 
+               next if /^;/;
+               if( /^([l-].)\s*(\d+)\s*(\w\w\w\s+\d+\s*(\d+:\d+|\d\d\d\d))\s+(.*)\n/ ){
+                       local( $kind, $size, $lsdate, $file ) = ($1, $2, $3, $5);
+                       
+-                      local( $time ) = &main'lstime_to_time( $lsdate );
++                      local( $time ) = &main::lstime_to_time( $lsdate );
+ 
+                       # This should be a symlink
+                       if( $kind =~ /^l/ && $file =~ /(.*) -> (.*)/ ){
+@@ -1226,12 +1226,12 @@
+ # +i8388621.48638,m848117771,r,s1336,     qmsmac.html
+ # +i8388621.88705,m850544954,/,   txt
+ #
+-sub lsparse'line_eplf
++sub lsparse::line_eplf
+ {
+       local( $fh ) = @_;
+ 
+-      if( $lsparse'readtime ){
+-              alarm( $lsparse'readtime );
++      if( $lsparse::readtime ){
++              alarm( $lsparse::readtime );
+       }
+ 
+       if( eof( $fh ) ){
+@@ -1243,7 +1243,7 @@
+               s/\015//g;
+ 
+               # Store listing
+-              print main'STORE $_;
++              print main::STORE $_;
+ 
+ # +i8388621.48638,m848117771,r,s1336,     qmsmac.html
+ # +i8388621.88705,m850544954,/,   txt
+@@ -1272,12 +1272,12 @@
+ # --------------------- CTAN files list
+ #    22670 Mon Jul 20 12:36:34 1992 pub/tex/biblio/bibtex/contrib/aaai-named.bst
+ #
+-sub lsparse'line_ctan
++sub lsparse::line_ctan
+ {
+       local( $fh ) = @_;
+ 
+-      if( $lsparse'readtime ){
+-              alarm( $lsparse'readtime );
++      if( $lsparse::readtime ){
++              alarm( $lsparse::readtime );
+       }
+ 
+       if( eof( $fh ) ){
+@@ -1287,12 +1287,12 @@
+ 
+       while( <$fh> ){
+               # Store listing
+-              print main'STORE $_;
++              print main::STORE $_;
+ 
+               if( /^\s*(\d+)\s+(\w\w\w\s+\w\w\w\s+\d+\s+\d+:\d+:\d+\s+\d+)\s+(.*)\n/ ){
+                       local( $size, $lsdate, $file ) = ($1, $2, $3);
+                       
+-                      local( $time ) = &main'lstime_to_time( $lsdate );
++                      local( $time ) = &main::lstime_to_time( $lsdate );
+ 
+                       return( $file, $size, $time, 'f', 0444 );
+               }
+@@ -1317,12 +1317,12 @@
+ # time is a Un*x time value for the file -- this is good from the m/f
+ # type is always "f" for a file
+ 
+-sub lsparse'line_cms
++sub lsparse::line_cms
+ {
+       local( $fh ) = @_;
+ 
+-      if( $lsparse'readtime ){
+-              alarm( $lsparse'readtime );
++      if( $lsparse::readtime ){
++              alarm( $lsparse::readtime );
+       }
+ 
+       if( eof( $fh ) ){
+@@ -1331,21 +1331,21 @@
+       }
+       while( <$fh> ){
+               # Store listing
+-              print main'STORE $_;
++              print main::STORE $_;
+ 
+               chop;
+               next unless /\d+\/\d+\/\d+\s+\d+:\d+:\d+/;
+               s/^\s+//;
+ 
+               # Upper case is so ugly
+-              if( ! $lsparse'vms_keep_case ){
++              if( ! $lsparse::vms_keep_case ){
+                       tr/A-Z/a-z/;
+               }
+ 
+               local( $fname, $ftype, $fdisk, $rectype, $lrecl, $recs,
+                     $blocks, $ldate, $tod ) = split(/\s+/, $_);
+               return( join('.', ($fname, $ftype, $fdisk)),
+-                     $lrecl * $recs, &main'lstime_to_time( "$ldate $tod" ),
++                     $lrecl * $recs, &main::lstime_to_time( "$ldate $tod" ),
+                      'f' );
+       }
+       alarm( 0 );



Home | Main Index | Thread Index | Old Index