; Red Hat Linux Rawhide Script - Daily RPM update from Rawhide.
;
; Only gets files that don't already exist on local disk (COLLISION DISCARD)
; Skips files I don't want (MGET selection patterns and /EXCEPT: clauses).
; /UPDATE could be used but buys little in this case because the filenames
; change when the files change.  Since the Rawhide connection is so slow, and
; since we are skipping the large majority of files, interactions with the
; FTP server must be kept to a minimum: thus no date or size checking and
; therefore also no recovery (sometimes a single SIZE or DATE command can
; take 30 seconds; if we did SIZE and DATE for each of 1500 files, that's
; 1500 minutes = a day and change).
;
; Requires C-Kermit 8.0 or K95 2.0 or later.
;
; Author: Vace Kundakci, Columbia University, July 2002.

; set ftp debug on                       ; Uncomment to debug

set locus local                          ; Avoid K95 LOCUS popup

; Make connection Red Hat Rawhide server:
;   /ANONYMOUS logs in anonymously
;   /NOINIT suppresses STRU F and MODE S commands,
;   which Red Hat server does not understand.
;
ftp rawhide.redhat.com /noinit /anonymous
if fail end 1 Connection failed
if not \v(ftp_loggedin) end 1 Login failed

ftp cd /pub/redhat/linux/rawhide/i386/RedHat/RPMS/
if fail end 1 CD to RPMS directory failed

; Preferences for this session

set ftp dates on                        ; Preserve file dates
set xfer display brief                  ; FTP-like transfer display
ftp type binary                         ; Force binary mode
set incomplete discard                  ; Discard incompletely received files
set ftp collision discard               ; Don't download files I already have

; SET TAKE ERROR ON makes the script quit automatically if any MGET fails,
; without having to put an IF ERROR clause after each MGET.  This won't
; work prior to C-Kermit 8.0.205 because an MGET that results in zero files
; downloaded erroneously fails.  (Ditto for K95 2.0.1 and earlier.)
;
if >= \v(version) 800205 set take error on

; Get the files...

mget libstdc++-* glibc-devel* ncurses-*

mget /except:{*-devel*} 4* GConf2* Glide3* LPR* MAKE* O* PyXML-* SysV* V*

mget /except:{{*-devel*} {a[bm]*}{anaconda*}{aspell-[a-z]*}} a*
mget /except:{{*-devel*} {balsa*}{bash-doc*}} b*
mget /except:{{*-devel*} {chromium*}{compat-[dgl]*}{cvs*}{cWnn*}} c*
mget /except:{{*-devel*} {db4-[uj]*}{ddd-*}{d[bd]skk*}{desktop-*}{dia-*}-
                         {docbook-style*}{doxygen*}} d*
mget /except:{{*-devel*} {eel*}{emacs-[el]*}{emacsp*}{epic*}{evolu*}{exmh*}} e*
mget /except:{{*-devel*} {festival*}{fonts-*}{freeciv*}} f*
mget /except:{{*-devel*} {g[ailnt]*}{gcc-[gjo]*}{gd[bm]-*}{gedit*}-
                         {gphoto2*}{gsl*}} g*
mget /except:{{*-devel*} {gaim*}{galeon*}{gated*}{gtk-engines*}{gtkhtml-*}-
                         {gimp-print-c*}{gimp-[d,0-9]*}} ga* gi* gt*
mget /except:{{*-devel*} {*.i686.rpm}{glade*}{glibc-[dp]*}} gl*
mget /except:{{*-devel*} {gnomem*}{*-game*}{*-user*}{*-pilot*}{*-audio*}-
                         {gnucash*}{gnumeric*}} gn*
mget /except:{{*-devel*} {ht[td]*}{im-*}{inn-*}{imap*}{isdn*}{itcl*}} h* i* j*
mget /except:{{*-devel*} {k[emnopsvW]*}{kde*}{klettres*}{ktouch*}-
                         {kakasi-*}{kappa*}{krb5-serv*}} k*
mget /except:{{*-devel*} {kde-i18n*}{kde[2gmtv]*}{kdeartwork*}-
                         {kdebindings*}{kdepim*}{kdesdk*}} kde*
mget /except:{{*-devel*} {kernel-[bBdsu]*}} ke*.i386.rpm
mget /except:{{*-devel*} {kmail*}{knm*}{knode*}{koffice*}{kooka*}{kppp*}-
                         {kstar*}} km* kn* ko* lp* ks*
mget /except:{{*-devel*} {libgcj*}{libgnat*}{libtab*}{lic*}{la[mp]*}{lftp*}} l*
mget /except:{{*-devel*} {m[cguxy]*}{mailman*}{man-pages-[a-z]*}{mew*}-
                         {miniChin*}{mod_*}{mrtg*}} m*
mget /except:{{*-devel*} {nautilus*}{ncpfs*}{nmh-*}{noatun*}{nss_*}{nut-*}-
                         {nvi-*}} n*
mget /except:{{*-devel*} {*.i686.rpm}{octave*}{open[ho]*}-
                         {openldap-[cs]*}{openmotif2*}{openssl0*}} o*
mget /except:{{*-devel*} {p[hvwx]*}{pan-*}{perl-PDL*}-
                         {post*}{pydict*}{python-d*}} p*
mget /except:{{*-devel*} {qt-design*}{qt2*}{quanta*}{recode*}{ruby*}} q* r*
mget /except:{{*-devel*} {s[eqwy]*}{sane*}{skkd*}{snavig*}{splint*}{stard*}} s*
mget /except:{{*-devel*} {sendmail-doc*}{sylph*}{swig*}} se* sw* sy*
mget /except:{{*-devel*} {t[oW]*}{t*fonts*}{tclx*}{tetex*}{timidity*}-
                         {tripwire*}{tuxracer*}} t*
mget /except:{{*-devel*} {unixODBC*}{uucp*}{vim-[eX]*}{vnc*}} u* v*
mget /except:{{*-devel*} {w[3l]*}{wine*}{wordtrans*}} w*
mget /except:{{*-devel*} {x[aef]*}{xc[dhi]*}{xine-*}{xmms*}{xpdf-[a-z]*}-
                         {xsane*}{xtrace*}} x*
mget /except:{{*-devel*} {XFree86-[cdIX]*}} X*
mget /except:{{*-devel*} {zebra*}{zsh*}} y* z*

end 0
