; 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 *kermit*
end 0
