home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-2 / Inter.Net 55-2.iso / Mandrake / mdkinst / usr / bin / perl-install / crypto.pm < prev    next >
Encoding:
Perl POD Document  |  2000-01-12  |  1.3 KB  |  44 lines

  1. package crypto;
  2.  
  3.  
  4.  
  5.  
  6. use common qw(:common);
  7. use log;
  8. use ftp;
  9.  
  10. my %mirrors = (
  11.  "ftp.ucr.ac.cr" => [ "Costa Rica", "/pub/Unix/linux/mandrake/Mandrake" ],
  12.  "ftp.nectec.or.th" => [ "Thailand", "/pub/mirrors/Mandrake-crypto" ],
  13.  "ftp.tvd.be" => [ "Belgium", "/packages/mandrake-crypto" ],
  14.  "sunsite.mff.cuni.cz" => [ "Czech Republic", "/OS/Linux/Dist/Mandrake-crypto" ],
  15.  "ftp.uni-kl.de" => [ "Germany", "/pub/linux/mandrake/Mandrake-crypto" ],
  16.  "ftp.duth.gr" => [ "Grece", "/pub/mandrake-crypto" ],
  17.  "ftp.leo.org" => [ "Germany", "/pub/comp/os/unix/linux/Mandrake/Mandrake-crypto" ],
  18.  "sunsite.uio.no" => [ "Norway", "/pub/unix/Linux/Mandrake-crypto" ],
  19.  "ftp.sunet.se" => [ "Sweden", "/pub/Linux/distributions/mandrake-crypto" ],
  20. );
  21.  
  22. my %deps = (
  23.   'libcrypto.so.0' => 'openssl',
  24.   'libssl.so.0' => 'openssl',
  25.   'mod_sxnet.so' => 'mod_ssl-sxnet',
  26. );
  27.  
  28. sub require2package { $deps{$_[0]} || $_[0] }
  29. sub mirror2text($) { $mirrors{$_[0]} && "$mirrors{$_[0]}[0] ($_[0])" }
  30. sub mirrorstext() { map { mirror2text($_) } keys %mirrors }
  31. sub text2mirror($) { first($_[0] =~ /\((.*)\)$/) }
  32. sub ftp($) { ftp::new($_[0], "$mirrors{$_[0]}[1]/$::VERSION") }
  33.  
  34. sub packages($) { ftp($_[0])->ls }
  35.  
  36. sub get {
  37.     my ($mirror, $dir, @files) = @_;
  38.     foreach (@files) {
  39.     log::l("crypto: downloading $_");
  40.     ftp($mirror)->get($_, "$dir/$_") 
  41.     }
  42.     int @files;
  43. }
  44.