19 August 1999. SMS. Wget for VMS ============ Disclaimer ---------- No claims of any sort are made herein. The real Wget author is probably unaware of this effort. Any suggestions for improving the code in the VMS-specific sections are welcome, but I've done about as much with it as I care to for a while. Description ----------- This note accompanies a quick VMS port of Wget version 1.5.3, a GNU free network utility to retrieve files from the World Wide Web using HTTP and FTP. Built and tested (slightly) using Alpha VMS V7.2, DEC C V6.0-001, and TCPIP V5.0. Home source URL --------------- ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/wget.tar.gz Changes to source files (all in [.SRC]) --------------------------------------- Files new for VMS: CONFIG.H_VMS Copy to CONFIG.H before using MMS/MMK. DESCRIP.MMS MMS/MMK description ("make") file. VMS.C "utime()" replacement function. VMS.H Replacement for . Declarations of "utimbuf" structure and "utime()" function prototype. WGET.OPT LINK options file. Files modified for VMS: CMPT.C Made tidy for DEC C. CONNECT.C Made tidy for DEC C. FTP.C Made tidy for DEC C. FTP-BASIC.C Made tidy for DEC C. HTTP.C Made tidy for DEC C. Added VMS code for UTC-local/DST time conversion. INIT.C Made tidy for DEC C. Changed to open ".wgetrc" file in text mode, not binary. RBUF.C Made tidy for DEC C. URL.C Added code to replace unacceptable dots (".") with underscores "(_") in URL-derived file specifications UTILS.C Added VMS-specific code to work around lack of "fork()" and symbolic links. Files which should be modified for VMS: FTP-LS.C Can't handle VMS DIRECTORY output from an FTP server. Instructions ------------ Extract the files from the distribution kit. The (Alpha) executable is "[.WGET-1_5_3.SRC]WGET.EXE". To build from the source, delete the objects and executable. In [.WGET-1_5_3.SRC], copy CONFIG.H_VMS to CONFIG.H. Run MMS or MMK to build WGET.EXE. SET DEFAULT [.WGET-1_5_3.SRC] DELETE *.OBJ;*, *.EXE;* COPY CONFIG.H_VMS CONFIG.H MMS Set the symbol for the foreign command. WGET :== $ {actual_device_and_directory}WGET.EXE Try to read the original documentation to learn how to use it. The principal differences in this VMS adaptation are: "-b" ("background") has no effect. (It uses "fork()".) Excess dots are replaced by underscores in URL-derived file specifications. For example, on a UNIX system, the URL "ftp://ftp.anywhere.org/x.y.z/a.b.c" could produce the local file "ftp.anywhere.org/x.y.z/a.b.c". With this VMS adaptation, the local file would be "[.FTP_ANYWHERE_ORG.X_Y_Z]A_B.C". ------------------------------------------------------------------------ Steven M. Schweda (+1) 651-645-9249 (voice, home) 1630 Marshall Avenue #8 (+1) 612-754-2636 (voice, work) Saint Paul MN 55104-6225 (+1) 612-754-6302 (facsimile, work) sms@antinode.org sms@provis.com (work)