aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/getfetchmail.pl
diff options
context:
space:
mode:
authorRob Funk <rfunk@funknet.net>2004-06-08 03:59:01 +0000
committerRob Funk <rfunk@funknet.net>2004-06-08 03:59:01 +0000
commitd78b61e3efaea197a6e5b2b72bf2981a9ed69461 (patch)
tree1704e13ce5d767d59868a2d5e834cb2e988ed90f /contrib/getfetchmail.pl
parentd9e84e176fe538e110d9612f9832d69846e8d3e7 (diff)
downloadfetchmail-d78b61e3efaea197a6e5b2b72bf2981a9ed69461.tar.gz
fetchmail-d78b61e3efaea197a6e5b2b72bf2981a9ed69461.tar.bz2
fetchmail-d78b61e3efaea197a6e5b2b72bf2981a9ed69461.zip
Add files from ESR's dev directory that weren't under version control
svn path=/trunk/; revision=3881
Diffstat (limited to 'contrib/getfetchmail.pl')
-rw-r--r--contrib/getfetchmail.pl61
1 files changed, 61 insertions, 0 deletions
diff --git a/contrib/getfetchmail.pl b/contrib/getfetchmail.pl
new file mode 100644
index 00000000..45bd3c65
--- /dev/null
+++ b/contrib/getfetchmail.pl
@@ -0,0 +1,61 @@
+#!/usr/bin/perl -w
+# Copyright 2001 John Summerfield, summer@summer.ami.com.au
+# GPL 2 applies.
+#
+($flags, $links, $owner, $gowner, $size, $month, $day, $timeOrDate, $name, $junk, $junk2, $junk1) ='';
+$RemoteHost="ftp.ccil.org";
+$LocalDir="/home/u03/incoming/";
+$FilePattern="/pub/esr/fetchmail/fetchmail\*src.rpm";
+$GrepArgs="fetchmail-[5-9]";
+$no=0;
+$TempFile=`mktemp /var/tmp/getfetchmail.XXXXXX`;
+@files=`echo dir $FilePattern | ftp $RemoteHost | egrep $GrepArgs`;
+chomp @files;
+open(FTP, "| ftp -d -v $RemoteHost | egrep '^213|MDTM' >$TempFile");
+foreach $L (@files)
+{
+ ++$no;
+ $L =~ s/ */,/g;
+ ($flags, $links, $owner, $gowner, $size, $month, $day, $timeOrDate, $name, $junk) = split /,/,$L;
+ next unless substr($timeOrDate,2,1) eq ':';
+ print FTP "modtime $name\n";
+# last if $no > 4;
+}
+close FTP;
+
+$SavedTime=0;
+$time=1;
+$SavedName='';
+open (FILES,$TempFile);
+while ($rec = <FILES>)
+{
+ chomp $rec;
+ ($junk1, $junk2, $filename) = split / /,$rec if substr($rec,0,4) eq '--->';
+ $time = substr($rec,4) if substr($rec,0,3) eq '213';
+ if (($time > $SavedTime) && (substr($rec,0,3) eq '213'))
+ {
+ $SavedTime=$time;
+ $SavedName=$filename;
+ }
+}
+close FILES;
+$LocalName = $SavedName; $LocalName =~ s=.*/==;
+$LocalName = $LocalDir . $LocalName;
+$Y=substr($SavedTime,0,4);
+$M=substr($SavedTime,4,2);
+$D=substr($SavedTime,6,2);
+$h=substr($SavedTime,8,2);
+$m=substr($SavedTime,10,2);
+$s=substr($SavedTime,12,2);
+print "I should get $SavedName and store it in $LocalName\n";
+open(SH,"|/bin/bash");
+print SH <<zz
+set -x
+echo get $SavedName $LocalName \| ftp $RemoteHost
+rpm -K $LocalName \|\| exit $?
+touch -t $Y$M$D$h$m.$s $LocalName
+rpm --rebuild $LocalName
+zz
+;
+close SH;
+