aboutsummaryrefslogtreecommitdiff
path: root/perl/contrib/mirror.pl
diff options
context:
space:
mode:
Diffstat (limited to 'perl/contrib/mirror.pl')
-rw-r--r--perl/contrib/mirror.pl104
1 files changed, 0 insertions, 104 deletions
diff --git a/perl/contrib/mirror.pl b/perl/contrib/mirror.pl
deleted file mode 100644
index 99e2709ac..000000000
--- a/perl/contrib/mirror.pl
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/usr/bin/perl
-
-#
-# Author: Daniel Stenberg <daniel@haxx.se>
-# Version: 0.1
-# Date: October 10, 2000
-#
-# This is public domain. Feel free to do whatever you please with this script.
-# There are no warranties whatsoever! It might work, it might ruin your hard
-# disk. Use this on your own risk.
-#
-# PURPOSE
-#
-# This script uses a local directory to maintain a "mirror" of the curl
-# packages listed in the remote curl web sites package list. Files present in
-# the local directory that aren't present in the remote list will be removed.
-# Files that are present in the remote list but not in the local directory
-# will be downloaded and put there. Files present at both places will not
-# be touched.
-#
-# WARNING: don't put other files in the mirror directory, they will be removed
-# when this script runs if they don't exist in the remote package list!
-#
-
-# this is the directory to keep all the mirrored curl files in:
-$some_dir = $ARGV[0];
-
-if( ! -d $some_dir ) {
- print "$some_dir is not a dir!\n";
- exit;
-}
-
-# path to the curl binary
-$curl = "/home/danste/bin/curl";
-
-# this is the remote file list
-$filelist = "http://curl.haxx.se/download/curldist.txt";
-
-# prepend URL:
-$prepend = "http://curl.haxx.se/download";
-
-opendir(DIR, $some_dir) || die "can't opendir $some_dir: $!";
-@existing = grep { /^[^\.]/ } readdir(DIR);
-closedir DIR;
-
-$LOCAL_FILE = 1;
-$REMOTE_FILE = 2;
-
-# create a hash array
-for(@existing) {
- $allfiles{$_} |= $LOCAL_FILE;
-}
-
-# get remote file list
-print "Getting file list from $filelist\n";
-@remotefiles=`$curl -s $filelist`;
-
-# fill in the hash array
-for(@remotefiles) {
- chomp;
- $allfiles{$_} |= $REMOTE_FILE;
- $remote++;
-}
-if($remote < 10) {
- print "There's something wrong. The remote file list seems too smallish!\n";
- exit;
-}
-
-@sfiles = sort { $a cmp $b } keys %allfiles;
-
-
-$leftalone = $downloaded = $removed = 0;
-for(@sfiles) {
- $file = $_;
- $info = $allfiles{$file};
-
- if($info == ($REMOTE_FILE|$LOCAL_FILE)) {
- print "$file is LOCAL and REMOTE, left alone\n";
- $leftalone++;
- }
- elsif($info == $REMOTE_FILE) {
- print "$file is only REMOTE, getting it...\n";
- system("$curl $prepend/$file -o $some_dir/$file");
- $downloaded++;
- }
- elsif($info == $LOCAL_FILE) {
- print "$file is only LOCAL, removing it...\n";
- system("rm $some_dir/$file");
- $removed++;
- }
- else {
- print "Problem, file $file was marked $info\n";
- }
- $loops++;
-}
-
-if(!$loops) {
- print "No remote or local files were found!\n";
- exit;
-}
-
-print "$leftalone files were already present\n",
- "$downloaded files were added\n",
- "$removed files were removed\n";