diff options
author | Rob Funk <rfunk@funknet.net> | 2004-06-08 03:59:01 +0000 |
---|---|---|
committer | Rob Funk <rfunk@funknet.net> | 2004-06-08 03:59:01 +0000 |
commit | d78b61e3efaea197a6e5b2b72bf2981a9ed69461 (patch) | |
tree | 1704e13ce5d767d59868a2d5e834cb2e988ed90f /contrib/getfetchmail.pl | |
parent | d9e84e176fe538e110d9612f9832d69846e8d3e7 (diff) | |
download | fetchmail-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.pl | 61 |
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; + |