aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/getfetchmail
blob: bcac9d3e6eb1c2dd3599febbd586857269dd87bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash 
RH=ftp.ccil.org
p=`\
echo dir /pub/esr/fetchmail/f\*src.rpm \
   | ftp $RH \
   | grep /pub/esr/fetchmail/fetchmail-[45] \
   | tail -1`
#p='-rw-r--r-- 1 23 wheel 478424 Dec 18 03:54 /pub/esr/fetchmail/fetchmail-4.7.1-1.src.rpm'
#echo $p | sed -e "s=^.^/pub=pub="
p1=`echo $p | sed -e "s=^.*/pub=pub="`
#echo $p1
#basename  $p1
#dirname $p1
d=`dirname $p1`
f=`basename $p1`
cd /work/incoming
email=$LOGNAME\@`hostname`
ftp -n <<ZZ
open $RH
user anonymous $email
cd /$d
get $f
bye
ZZ
rpm -K $f >/dev/null 2>&1 \
   || {
         rpm -K $f 2>&1 | mail $email -s "error getting $f"
         exit 
      }
rpm --rebuild  $f 2>&1 |\
   mail $email -s "Rebuilding $f"
s="p">); ## Issue some commands. $host->open($hostname); #$host->login($username, $passwd); $host->waitfor('/login:\s?$/'); $host->print("$username"); $host->waitfor('/Password:\s?$/'); $host->print("$passwd"); $host->waitfor('/p99dreyf>\s?$/'); $host->print("$command"); $strip=1; while ($strip) { $greeting=$host->getline(); if ($greeting=~/^\* PREAUTH.*$/) { print "$greeting"; $strip=0;}; } do { do { $cmd=<STDIN>; chop $cmd; } while ($cmd !~/[A-Za-z0-9]/); $host->print("$cmd"); print FILE ">>$cmd<<\n"; do { $line=$host->getline(); chop($line); print "$line\n"; print FILE "<<$line<<\n"; } while (($line!~/^[A-Za-z0-9]+ (OK|BAD|Expunge).*$/) && ($line!~/^\* BAD.*$/)); print FILE "--next cmd\n"; } while ($line!~/^[A-Za-z0-9]+ OK LOGOUT.*$/); exit;