🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.archives
Article #9

[comp.archives.admin] Announcing Archie 1.4.1 (bug fixes)

#9
From: Brendan Kehoe
Date: Sat, 31 Oct 1992 07:58
823 lines
30767 bytes
Archive-name: auto/comp.archives.admin/Announcing-Archie-1-4-1-bug-fixes


 Version 1.4.1 of the Archie command-line client is available.  This
release mainly fixes some small bugs, and cleans up the man page.  If
building archie 1.4 failed for you, please give 1.4.1 a try; it fixes
some buglets that slipped through at the last moment.

 VMS users should go with this and ignore 1.4, lots of problems were
in it.  This release also adds a VMS help file for Archie that you can
add to your system help libraries.

 The Archie client will let you search the Archie database of FTP-site
holdings for given strings.  Normally, one would have to telnet into a
server (e.g., archie.sura.net) and log in as "archie" to be able to
perform searches.  This is weighted with overhead and is slower
overall.  Instead, this client will let you do it from the "comfort"
of your local computer, sending the query using a low-bandwidth,
high-speed protocol.  The results can be piped into other
applications, parsed, what have you.

 The client works under all sorts of different versions of Unix, under
VMS with some TCP/IP packages, and on PCs running PC/TCP, CUTCP, or PC-NFS.

 You can get the full client by FTPing to any Archie server and looking
in the /archie/clients directory.  Also, it's on ftp.cs.widener.edu in
/pub/archie/archie-1.4.1.tar.Z.  The VMS version is also in a DCL file
called archie-vms.com.  This will soon be submitted to comp.sources.misc
and to vmsnet.sources.

 This is the patch to bring 1.4 up to 1.4.1.

diff -c2p archie-1.4/INSTALL archie-1.4.1/INSTALL
*** archie-1.4/INSTALL	Wed Oct  7 21:28:32 1992
--- archie-1.4.1/INSTALL	Mon Oct 26 14:45:08 1992
***************
*** 1,3 ****
! [Version 1.4]
  
   This is the minimal set of things you need to build an Archie client
--- 1,3 ----
! [Version 1.4.1]
  
   This is the minimal set of things you need to build an Archie client
*************** worry about things like what functions t
*** 23,26 ****
--- 23,28 ----
   * To make the client under VMS, just type @MAKE and it'll ask you
     which of the available Archie servers is closest.  That's it!
+    The file `archie.hlp' is a VMS help file which can be added to your
+    system (or private) help library.
  
   * To make the client under MSDOS or OS/2:
diff -c2p archie-1.4/Makefile archie-1.4.1/Makefile
*** archie-1.4/Makefile	Tue Oct 20 16:58:28 1992
--- archie-1.4.1/Makefile	Mon Oct 26 15:11:04 1992
*************** OPTIONS= -O -I. -I/usr/netinclude -I/usr
*** 29,32 ****
--- 29,34 ----
  #       routines (no regex(3)/regcmp(3X) library), then add   -DNOREGEX
  #     * if your system is lacking strspn(), add               -DSTRSPN
+ #     * if you're using the unbundled SparcCompiler on a
+ #	Solaris 2 system, add				      -DSOLARIS2
  DEFINES= -DDEBUG
  
*************** LDFLAGS=
*** 61,66 ****
  # If you're using System V Release 4, use:
  #LDFLAGS= -L/usr/ucblib -lucb -lsockdns -lnsl
! # If you're using Solaris 2.0, use:
! #LDFLAGS= -lnsl -lsocket -L/usr/ucblib -lucb
  # If you're using Consensus SVR4, use:
  #LDFLAGS= -lnsl_i -lsocket -lucb
--- 63,68 ----
  # If you're using System V Release 4, use:
  #LDFLAGS= -L/usr/ucblib -lucb -lsockdns -lnsl
! # If you're using Solaris 2.x (don't use /usr/ucb/cc!), use:
! #LDFLAGS= -lnsl -lsocket
  # If you're using Consensus SVR4, use:
  #LDFLAGS= -lnsl_i -lsocket -lucb
*************** LDFLAGS=
*** 68,74 ****
  #LDFLAGS= -lsocket -linet -lnsl -lPW
  
- # Change this if necessary.
- RM=/bin/rm
- 
  # =========================
  # Yer' done....make archie.
--- 70,73 ----
*************** RM=/bin/rm
*** 77,81 ****
  CFLAGS=$(OPTIONS) $(DEFINES) -DARCHIE_HOST=\"$(ARCHIE)\"
  
! VERSION=1.4
  VMS_VERSION=`echo $(VERSION) | sed -e 's,\\.,_,g'`
  
--- 76,80 ----
  CFLAGS=$(OPTIONS) $(DEFINES) -DARCHIE_HOST=\"$(ARCHIE)\"
  
! VERSION=1.4.1
  VMS_VERSION=`echo $(VERSION) | sed -e 's,\\.,_,g'`
  
*************** procquery.o: copyright.h
*** 95,102 ****
  
  clean:
! 	$(RM) -f *.o archie archie.doc
  
  gclean: clean
! 	$(RM) -f *~ archie.0* archie$(VMS_VERSION).com archie.tar* gmon.out archie.doc
  
  unx-deadly:
--- 94,101 ----
  
  clean:
! 	-rm -f *.o archie archie.doc
  
  gclean: clean
! 	-rm -f *~ archie.0* archie$(VMS_VERSION).com archie.tar* gmon.out archie.doc
  
  unx-deadly:
*************** unx-deadly:
*** 104,109 ****
  
  FILES=	INSTALL Makefile Prospero README README.ALEX README.dos archie.c \
! 	archie.h archie.el archie.lnk archie.doc archie.man aquery.c \
! 	atalloc.c dirsend.c get_pauth.c get_vdir.c \
  	getopt.c getopt.h getopt1.c \
  	make.com makefile.cut makefile.dos makefile.os2 makefile.nfs \
--- 103,108 ----
  
  FILES=	INSTALL Makefile Prospero README README.ALEX README.dos archie.c \
! 	archie.h archie.el archie.lnk archie.doc archie.man archie.hlp \
! 	aquery.c atalloc.c dirsend.c get_pauth.c get_vdir.c \
  	getopt.c getopt.h getopt1.c \
  	make.com makefile.cut makefile.dos makefile.os2 makefile.nfs \
*************** dcl: archie.doc
*** 131,140 ****
  	echo '$$ write sys$$output "Unpacking..."' > archie$(VMS_VERSION).com
  	echo '$$ if f$$search("archie.dir") .eqs. "" then create/dir [.ARCHIE]' >> archie$(VMS_VERSION).com
! 	echo '$$ if f$$search("[.ARCHIE]vms.dir") .eqs. "" then create/dir [.ARCHIE.VMS]' >> archie$(VMS_VERSION).com
! 	echo '$$ if f$$search("[.ARCHIE]msdos.dir") .eqs. "" then create/dir [.ARCHIE.MSDOS]' >> archie$(VMS_VERSION).com
  	echo '$$ set noverify' >> archie$(VMS_VERSION).com
  	dclshar `echo "$(FILES)" | tr ' ' '\012' | \
  		sed -e "s/^/archie\//g"` >> archie$(VMS_VERSION).com
! 	echo '$$ write sys$$output "Ok, now enter the ARCHIE directory, look at MAKE.COM, then type @MAKE ."' >> archie$(VMS_VERSION).com
  
  tar: archie.doc
--- 130,142 ----
  	echo '$$ write sys$$output "Unpacking..."' > archie$(VMS_VERSION).com
  	echo '$$ if f$$search("archie.dir") .eqs. "" then create/dir [.ARCHIE]' >> archie$(VMS_VERSION).com
! 	echo '$$ if f$$search("[.archie]vms.dir") .eqs. "" then create/dir [.ARCHIE.VMS]' >> archie$(VMS_VERSION).com
! 	echo '$$ if f$$search("[.archie]msdos.dir") .eqs. "" then create/dir [.ARCHIE.MSDOS]' >> archie$(VMS_VERSION).com
  	echo '$$ set noverify' >> archie$(VMS_VERSION).com
+ 	-rm -f archie
+ 	ln -s . archie
  	dclshar `echo "$(FILES)" | tr ' ' '\012' | \
  		sed -e "s/^/archie\//g"` >> archie$(VMS_VERSION).com
! 	-rm -f archie
! 	ver=$(VMS_VERSION); echo '$$ write sys$$output "Ok, now enter the $$ver directory, look at MAKE.COM, then type @MAKE ."' >> archie$(VMS_VERSION).com
  
  tar: archie.doc
diff -c2p archie-1.4/archie.c archie-1.4.1/archie.c
*** archie-1.4/archie.c	Tue Oct 20 17:22:16 1992
--- archie-1.4.1/archie.c	Mon Oct 26 14:00:33 1992
*************** main (argc, argv)
*** 107,113 ****
  
  #ifdef CUTCP
!   while ((optc = getopt (argc, argv, "D:LHN:O:ceh:alm:o:rstvV")) != EOF)
  #else
!   while ((optc = getopt (argc, argv, "D:LN:O:ceh:alm:o:rstvV")) != EOF)
  #endif
      {
--- 107,113 ----
  
  #ifdef CUTCP
!   while ((optc = getopt (argc, argv, "D:LHN::O:ceh:alm:o:rstvV")) != EOF)
  #else
!   while ((optc = getopt (argc, argv, "D:LN::O:ceh:alm:o:rstvV")) != EOF)
  #endif
      {
*************** main (argc, argv)
*** 140,148 ****
  
  	case 'N':
! 	  rdgram_priority = atoi (optarg);
! 	  if (rdgram_priority > RDGRAM_MAX_SPRI)
  	    rdgram_priority = RDGRAM_MAX_PRI;
- 	  else if (rdgram_priority < RDGRAM_MIN_PRI)
- 	    rdgram_priority = RDGRAM_MIN_PRI;
  	  break;
  
--- 140,153 ----
  
  	case 'N':
! 	  if (optarg)
! 	    {
! 	      rdgram_priority = atoi (optarg);
! 	      if (rdgram_priority > RDGRAM_MAX_SPRI)
! 		rdgram_priority = RDGRAM_MAX_PRI;
! 	      else if (rdgram_priority < RDGRAM_MIN_PRI)
! 		rdgram_priority = RDGRAM_MIN_PRI;
! 	    }
! 	  else
  	    rdgram_priority = RDGRAM_MAX_PRI;
  	  break;
  
*************** main (argc, argv)
*** 209,214 ****
  	case 'v': /* Display version.  */
  	  fprintf (stderr,
! 		   "Client version %s based upon Prospero version %s\n",
! 		   CLIENT_VERSION, PFS_RELEASE);
  	  exitflag = 1;
  	  break;
--- 214,224 ----
  	case 'v': /* Display version.  */
  	  fprintf (stderr,
! 		   "Client version %s based upon Prospero version %s%s\n",
! 		   CLIENT_VERSION,
! #ifdef DEBUG
! 		   PFS_RELEASE, " with debugging.");
! #else
! 		   PFS_RELEASE, ".");
! #endif
  	  exitflag = 1;
  	  break;
diff -c2p archie-1.4/archie.el archie-1.4.1/archie.el
*** archie-1.4/archie.el	Tue Oct 20 17:50:26 1992
--- archie-1.4.1/archie.el	Mon Oct 26 14:49:48 1992
***************
*** 12,16 ****
  ;;   ----- many enhancements thanks to the ange-ftp-lovers list
  ;;   ----- further archie-mode functions, cleanup, by Rob Austein
! ;;         ClearCase: archie.el@@/main/36
  ;;         sites:     /ftp@sgigate.sgi.com:/pub/archie-aux/archie.el
  ;;                    /ftp@alpha.gnu.ai.mit.edu:ange-ftp/archie.el
--- 12,16 ----
  ;;   ----- many enhancements thanks to the ange-ftp-lovers list
  ;;   ----- further archie-mode functions, cleanup, by Rob Austein
! ;;         ClearCase: archie.el@@/main/37
  ;;         sites:     /ftp@sgigate.sgi.com:/pub/archie-aux/archie.el
  ;;                    /ftp@alpha.gnu.ai.mit.edu:ange-ftp/archie.el
***************
*** 75,93 ****
  
  (defvar archie-server-list
!   '(("archie.sura.net"     .  "128.167.254.179 (USA [MD])")
!     ("archie.funet.fi"     .  "128.214.6.100   (European server in Finland)")
!     ("archie.rutgers.edu"  .  "128.6.18.15     (Rutgers University)")
!     ("archie.unl.edu"      .  "129.93.1.14     (University of Nebraska in Lincoln)")
!     ("archiecs.huji.ac.il" .  "132.65.6.15     (Israel server)")
!     ("archie.au"           .  "139.130.4.6     (Australian server)")
!     ("archie.doc.ic.ac.uk" .  "146.169.11.3    (UK/England server)")
!     ("archie.ans.net"      .  "147.225.1.2     (ANS archie server)")
!     ("archie.ncu.edu.tw"   .  "140.115.19.24   (Taiwanese server)")
!     ("archie.wide.ad.jp"   .  "133.4.3.6       (Japanese server)"))
    "List of known archie servers.")
  
! (defvar archie-server (car (car archie-server-list))
!    "*Server for \\[archie] searches.  Known archie servers are listed
! in archie-server-list.")
  
  (defvar archie-download-directory nil
--- 75,93 ----
  
  (defvar archie-server-list
!   '(("archie.funet.fi"      .  "128.214.6.100   (European server in Finland)")
!     ("archie.rutgers.edu"   .  "128.6.18.15     (Rutgers University)")
!     ("archie.sura.net"      .  "128.167.254.179 (SuraNet (Maryland, USA))")
!     ("archie.unl.edu"       .  "129.93.1.14     (University of Nebraska in Lincoln)")
!     ("archie.cs.huji.ac.il" .  "132.65.6.15     (Israel server)")
!     ("archie.au"            .  "139.130.4.6     (Australian server)")
!     ("archie.doc.ic.ac.uk"  .  "146.169.11.3    (UK/England server)")
!     ("archie.ans.net"       .  "147.225.1.2     (ANS archie server)")
!     ("archie.ncu.edu.tw"    .  "140.115.19.24   (Taiwanese server)")
!     ("archie.wide.ad.jp"    .  "133.4.3.6       (Japanese server)"))
    "List of known archie servers.")
  
! (defvar archie-server nil
!    "*Server for \\[archie] searches.  If ``nil'' (the default), asks.
! Known archie servers are listed in archie-server-list.")
  
  (defvar archie-download-directory nil
*************** and/or search type."
*** 588,591 ****
--- 588,598 ----
    (archie type string))
  
+ (defun archie-server ()
+   "Return current server, or prompt for new one."
+   (interactive)
+   (if archie-server
+       archie-server
+     (call-interactively 'archie-change-server)))
+ 
  (defun archie-change-server (new-server)
    "Change the current archie server to be NEW-SERVER."
*************** Runs archie-mode-hook, if defined."
*** 624,626 ****
  (run-hooks 'archie-load-hook)
  (provide 'archie)
- 
--- 631,632 ----
diff -c2p archie-1.4/archie.h archie-1.4.1/archie.h
*** archie-1.4/archie.h	Wed Oct  7 21:19:03 1992
--- archie-1.4.1/archie.h	Mon Oct 26 14:36:04 1992
***************
*** 37,41 ****
  # define CLIENT_VERSION	"1.3-X"
  #else
! # define CLIENT_VERSION "1.4"
  #endif
  
--- 37,41 ----
  # define CLIENT_VERSION	"1.3-X"
  #else
! # define CLIENT_VERSION "1.4.1"
  #endif
  
diff -c2p archie-1.4/archie.man archie-1.4.1/archie.man
*** archie-1.4/archie.man	Tue Oct 20 17:15:25 1992
--- archie-1.4.1/archie.man	Mon Oct 26 15:05:05 1992
***************
*** 9,13 ****
  ..
  .\"
! .TH ARCHIE 1 "9 January 1992" "Archie (Prospero)"
  .SH NAME
  archie \- query the Archie anonymous FTP databases using Prospero
--- 9,13 ----
  ..
  .\"
! .TH ARCHIE 1 "26 October 1992" "Archie (Prospero)"
  .SH NAME
  archie \- query the Archie anonymous FTP databases using Prospero
*************** archie \- query the Archie anonymous FTP
*** 18,25 ****
  \ [\ \fB\-cers\fR\ ]\
  \ [\ \fB\-a\fR\ ]\ [\ \fB\-l\fR\ ]\ [\ \fB\-t\fR\ ]\
! \ [\ \fB\-m\ hits\fR\ ]\ [\ \fB\-N\ level\fR\ ]\
! \ [\ \fB\-h\fR\ \fIhostname\fR\ ]
  \ [\ \fB\-o\fR\ \fIfilename\fR\ ]
! [\ \fB\-L\fR\ ]\ [\ -fB\-V\fR\ ]\ \fIstring\fR
  .SH DESCRIPTION
  .B archie
--- 18,26 ----
  \ [\ \fB\-cers\fR\ ]\
  \ [\ \fB\-a\fR\ ]\ [\ \fB\-l\fR\ ]\ [\ \fB\-t\fR\ ]\
! \ [\ \fB\-m\ \fIhits\fR\ ]
! [\ \fB\-N\ [\ \fIlevel\fR\ ]\ ]\
! \ [\ \fB\-h\fR\ \fIhostname\fR\ ]\
  \ [\ \fB\-o\fR\ \fIfilename\fR\ ]
! [\ \fB\-L\fR\ ]\ [\ \fB\-V\fR\ ]\ [\ \fB\-v\fR\ ]\ \fIstring\fR
  .SH DESCRIPTION
  .B archie
diff -c2p archie-1.4/getopt.c archie-1.4.1/getopt.c
*** archie-1.4/getopt.c	Tue Oct 20 16:56:11 1992
--- archie-1.4.1/getopt.c	Mon Oct 26 14:22:44 1992
*************** exchange (argv)
*** 202,206 ****
--- 202,210 ----
  {
    int nonopts_size = (last_nonopt - first_nonopt) * sizeof (char *);
+ #ifdef ARCHIE_HOST
+   char **temp = (char **) malloc (nonopts_size);
+ #else
    char **temp = (char **) __alloca (nonopts_size);
+ #endif
  
    /* Interchange the two blocks of data in ARGV.  */
diff -c2p archie-1.4/make.com archie-1.4.1/make.com
*** archie-1.4/make.com	Tue Oct 13 15:00:32 1992
--- archie-1.4.1/make.com	Mon Oct 26 13:53:02 1992
***************
*** 1,3 ****
! $! --- MAKE.COM ---						!x='f$verify(0)'
  $! Description:
  $!  build the Archie client for VAX/VMS
--- 1,3 ----
! $! --- MAKE.COM ---						!x=f$verify(0)
  $! Description:
  $!  build the Archie client for VAX/VMS
***************
*** 7,10 ****
--- 7,18 ----
  $! Modifications:
  $!    Date	Programmer	Reason for modification.
+ $! 26-Oct-92	   bpk		1.11 Remove ALLOCA.
+ $! 26-Oct-92       ldcb         1.10 HMMM... alloca.c required by VAXC!!!!
+ $!                                   (this is a built-in for GNU_CC)
+ $!                                   add support for NON_GNU_CC (p3 arg) on
+ $!                                   source entries.
+ $! 26-Oct-92       ldcb         1.09 Add NOGNU command-line switch so that I
+ $!                                   can force it to use VAXC rather than GNU.
+ $! 26-Oct-92       ldcb         1.08 Add GETOPT sources for Archie 1.4
  $! 13-Oct-92	   bpk		1.07 Add Japan and Taiwan servers.
  $! 10-Oct-92	   ldcb		1.06 Add (Israel) archie server.
***************
*** 20,24 ****
  $! 20-Jan-92	   ldcb		1.00 Initial coding.
  $!
! $ make_version := 1.07
  $!
  $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
--- 28,32 ----
  $! 20-Jan-92	   ldcb		1.00 Initial coding.
  $!
! $ make_version := 1.10
  $!
  $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
***************
*** 44,47 ****
--- 52,57 ----
  $! add a new call here with any new source file(s)
  $! (P2 should be "SUPPORT" if intended for supporting an unknown TCPIP)
+ $! (P3 should be "NON_GNU_CC" if a GNU_CC supported function isn't yet in VAXC,
+ $!                            which means WE have to provide it to VAXC)
  $!
  $ arg == 1
***************
*** 50,53 ****
--- 60,65 ----
  $ Call AddSource "ATALLOC"
  $ Call AddSource "DIRSEND"
+ $ Call AddSource "GETOPT"
+ $ Call AddSource "GETOPT1"
  $ Call AddSource "GET_PAUTH"
  $ Call AddSource "GET_VDIR"
***************
*** 60,64 ****
  $ Call AddSource "VLALLOC"
  $ Call AddSource "VL_COMP"
! $ Call AddSource "VMS_SUPPORT" "SUPPORT"
  $ MAXSOURCEFILES = arg - 1
  $!
--- 72,76 ----
  $ Call AddSource "VLALLOC"
  $ Call AddSource "VL_COMP"
! $ Call AddSource "VMS_SUPPORT"	"SUPPORT"
  $ MAXSOURCEFILES = arg - 1
  $!
***************
*** 115,118 ****
--- 127,134 ----
  $ Else FORCELINK = NO
  $ EndIF
+ $ If (f$locate("NOGNU",cmdline) .ne. f$length(cmdline))
+ $ Then FORCEVAXCC = YES
+ $ Else FORCEVAXCC = NO
+ $ EndIF
  $ If ((f$locate("?",cmdline) .ne. f$length(cmdline)) -
   .or. (f$locate("H",cmdline) .ne. f$length(cmdline)))
***************
*** 119,123 ****
  $ Then
  $   Write Sys$Output "Usage:"
! $   Write Sys$OutPut "     @MAKE [<debug>|<force>|<link>|<help>]
  $   EXIT
  $ EndIF
--- 135,139 ----
  $ Then
  $   Write Sys$Output "Usage:"
! $   Write Sys$OutPut "     @MAKE [<debug>|<force>|<link>|<nognu>|<help>]
  $   EXIT
  $ EndIF
***************
*** 129,135 ****
  $ If (f$trnlnm("GNU_CC") .nes. "")
  $ Then
! $   cc := "GCC/Optimize/Include=([])"
! $   gnu_cc = YES
! $ Else
  $   cc := "CC/Optimize=NOinline/Include=([])"
  $   gnu_cc = NO
--- 145,157 ----
  $ If (f$trnlnm("GNU_CC") .nes. "")
  $ Then
! $   If (.NOT. FORCEVAXCC)
! $   Then
! $     cc := "GCC/Optimize/Include=([])"
! $     gnu_cc = YES
! $   Else		! I'm forcing it to use VAXC
! $     cc := "CC/Optimize=NOinline/Include=([])"
! $     gnu_cc = NO
! $   EndIF
! $ Else			! I can only use VAXC..
  $   cc := "CC/Optimize=NOinline/Include=([])"
  $   gnu_cc = NO
***************
*** 256,260 ****
  $ copy   := copy
  $ If (f$search("strings.h") .nes. "") Then delete/nolog/noconfirm []strings.h;*
! $ If .NOT. (GNU_CC) Then copy/noconfirm sys$library:string.h []strings.h
  $!
  $ RETURN
--- 278,283 ----
  $ copy   := copy
  $ If (f$search("strings.h") .nes. "") Then delete/nolog/noconfirm []strings.h;*
! $ If ((.NOT. (GNU_CC)) -
!   .or. (FORCEVAXCC)) Then copy/noconfirm sys$library:string.h []strings.h
  $!
  $ RETURN
***************
*** 289,297 ****
  $ If (i .gt. MAXSOURCEFILES) Then GoTo cc_done
  $ source_file = source_P1_'i'
! $ If ((f$type(source_P2_'i') .eqs. "") .or. (source_P2_'i' .eqs. ""))
! $ Then Call Compile "''cc'" "''source_file'" "''debug'" 'FORCEBUILD'
! $ Else
! $   If ((NO_TCPIP_SUPPORT) .and. (source_P2_'i' .eqs. "SUPPORT"))
  $   Then Call Compile "''cc'" "''source_file'" "''debug'" 'FORCEBUILD'
  $   EndIF
  $ EndIF
--- 312,324 ----
  $ If (i .gt. MAXSOURCEFILES) Then GoTo cc_done
  $ source_file = source_P1_'i'
! $ If ((.NOT. GNU_CC) -
!   .or.((GNU_CC).and.((f$type(source_P3_'i').eqs."").or.(source_P3_'i'.eqs.""))))
! $ Then
! $   If ((f$type(source_P2_'i') .eqs. "") .or. (source_P2_'i' .eqs. ""))
  $   Then Call Compile "''cc'" "''source_file'" "''debug'" 'FORCEBUILD'
+ $   Else
+ $     If ((NO_TCPIP_SUPPORT) .and. (source_P2_'i' .eqs. "SUPPORT"))
+ $     Then Call Compile "''cc'" "''source_file'" "''debug'" 'FORCEBUILD'
+ $     EndIF
  $   EndIF
  $ EndIF
***************
*** 320,328 ****
  $ If (i .gt. MAXSOURCEFILES) Then GoTo object_files_done
  $ object_file = source_P1_'i'
! $ If ((f$type(source_P2_'i') .eqs. "") .or. (source_P2_'i' .eqs. ""))
! $ Then object_files := 'object_files'+'object_file'
! $ Else
! $   If ((NO_TCPIP_SUPPORT) .and. (source_P2_'i' .eqs. "SUPPORT"))
  $   Then object_files := 'object_files'+'object_file'
  $   EndIF
  $ EndIF
--- 347,359 ----
  $ If (i .gt. MAXSOURCEFILES) Then GoTo object_files_done
  $ object_file = source_P1_'i'
! $ If ((.NOT. GNU_CC) -
!   .or.((GNU_CC).and.((f$type(source_P3_'i').eqs."").or.(source_P3_'i'.eqs.""))))
! $ Then
! $   If ((f$type(source_P2_'i') .eqs. "") .or. (source_P2_'i' .eqs. ""))
  $   Then object_files := 'object_files'+'object_file'
+ $   Else
+ $     If ((NO_TCPIP_SUPPORT) .and. (source_P2_'i' .eqs. "SUPPORT"))
+ $     Then object_files := 'object_files'+'object_file'
+ $     EndIF
  $   EndIF
  $ EndIF
***************
*** 400,403 ****
--- 431,435 ----
  $ source_P1_'arg' :== "''P1'"
  $ source_P2_'arg' :== "''P2'"
+ $ source_P3_'arg' :== "''P3'"
  $ arg == arg + 1	! *NOTE* global symbols used...
  $ENDSUBROUTINE
diff -c2p archie-1.4/patchlevel.h archie-1.4.1/patchlevel.h
*** archie-1.4/patchlevel.h	Wed Oct  7 21:19:46 1992
--- archie-1.4.1/patchlevel.h	Mon Oct 26 14:36:48 1992
***************
*** 1,8 ****
  /*
!  * Archie Client version 1.4.
   *
   * History:
   *
!  * 10/04/92 v1.4	Added PCNFS support, ported to Solaris 2, print domains
   *			using reverse-sort, added archie.el to distribution,
   *			added Alex mode, -V option, use getopt.
--- 1,9 ----
  /*
!  * Archie Client version 1.4.1.
   *
   * History:
   *
!  * 10/26/92 v1.4.1	Further fixes, avoid alloca.
!  * 10/20/92 v1.4	Added PCNFS support, ported to Solaris 2, print domains
   *			using reverse-sort, added archie.el to distribution,
   *			added Alex mode, -V option, use getopt.
diff -c2p archie-1.4/pmachine.h archie-1.4.1/pmachine.h
*** archie-1.4/pmachine.h	Tue Sep  8 02:00:19 1992
--- archie-1.4.1/pmachine.h	Mon Oct 26 14:27:30 1992
***************
*** 6,10 ****
   * barely resembles the pmachine.h that comes with the real Prospero, though.
   *
!  * $Revision: 1.11 $
   */
  
--- 6,10 ----
   * barely resembles the pmachine.h that comes with the real Prospero, though.
   *
!  * $Revision: 1.12 $
   */
  
***************
*** 36,39 ****
--- 36,45 ----
  #if defined(USG) || defined(SYSV)
  # define FUNCS
+ #endif
+ 
+ #ifdef SOLARIS2
+ #define FUNCS
+ #define NOREGEX
+ #define NEED_STRING_H
  #endif
  
diff -c2p archie-1.4/procquery.c archie-1.4.1/procquery.c
*** archie-1.4/procquery.c	Tue Oct 20 17:27:53 1992
--- archie-1.4.1/procquery.c	Sun Oct 25 17:46:26 1992
*************** extern int pwarn, perrno;
*** 48,54 ****
  extern int listflag, sortflag, alex;
  
- #ifdef DEBUG
  int pfs_debug;
! #endif
  static struct tm *presenttime;
  static char lastpath[MAX_VPATH] = "\001";
--- 48,53 ----
  extern int listflag, sortflag, alex;
  
  int pfs_debug;
! 
  static struct tm *presenttime;
  static char lastpath[MAX_VPATH] = "\001";
*** /dev/null	Mon Oct 26 14:03:52 1992
--- archie-1.4.1/archie.hlp	Mon Oct 26 14:44:30 1992
***************
*** 0 ****
--- 1,179 ----
+ 1 ARCHIE   
+ ARCHIE is a utility to query the Archie anonymous FTP databases using
+ Prospero.  It will check the databases for entries about the files that 
+ are available via anonymous FTP from sites around the world.
+ 
+ Format:             $ ARCHIE [-option] <string>
+ 
+ This will query an ARCHIE server and ask it to look for all known sites 
+ that have a file named `string' in their FTP area.  ARCHIE will wait and 
+ then print out any matches.
+ 
+ 2 Options
+ ARCHIE is originally a Unix utility so its options make use of 
+ the Unix `-option' and not the VMS `/qualifier' syntax.
+ 
+ With the `-L' and `-N#' options you must enclose the option in
+ double quotes (ie "-L" and "-N#") to prevent the server from
+ translating them into lowercase options.
+ 
+ 3 -ecsr
+ These are search-modifying options:
+ 
+      -e   Exact string match.  (This is the default.)
+      -c   Search substrings paying attention to upper and lower case.
+      -s   Search substrings ignoring the case of the letters.
+      -r   Search using a regular expression.
+  
+ `-c', `-s' and `-r' are mutually exclusive;  only the last one counts.  
+ 
+ If you specify `-e' with any of them the server will first check for an 
+ exact match, then fall back to the case-sensitive, case-insensitive, or  
+ regular expression search.  This is so if there are matches that are 
+ particularly obvious, it will use a minimal amount of search time.
+ 
+ 3 -h <hostname>
+ Instruct ARCHIE to query another ARCHIE server with the name 
+ `hostname', instead of its default server.
+ 
+ ARCHIE is compiled with a specific default server host.  
+ This default can be changed by defining the symbol ARCHIE_HOST 
+ as one of the other available hosts.  The `-h' option will 
+ override these defaults. 
+ 
+ (Use option -L to get the list of available hosts.)
+ 
+ 3 -o <filename>
+ To redirect the output of ARCHIE to a file (rather than use the
+ standard output), give the `filename' it should store the results in.
+ 
+ 3 -l          
+ Output results in a form suitable for parsing by programs.
+ 
+ 3 -m#
+ Specifies the maximum number of hits (matches) to return. 
+ The default is 95 hits.
+ 
+ 3 -t
+ Sort the results in reverse date order.
+ 
+ 3 -L
+ Lists the Archie servers known to the program when it was
+ compiled, as well as the name of the default Archie server.  
+ 
+       (Note: You MUST put quotes around this argument 
+               or it will be converted to lowercase.)         
+ 
+ 3 -N[#]
+ Sets the `niceness' of a query.  The default niceness is 0.
+ Using `-N' without an argument sets it to 35765 (the maximum).
+ If you use `-N' with an argument between 0 and 35765, it will 
+ adjust itself accordingly.  
+ 
+       (Note: You MUST put quotes around this argument 
+               or it will be converted to lowercase.)         
+ 
+ (See also the subtopic `Niceness')
+ 
+ 3 -V
+ Provide some reassuring messages when a search is taking a long time.
+ 
+ 3 -v
+ Print the version of the client.
+ 
+ 2 String
+ This can be either the name of a file or a substring of a filename.
+ 
+ If you use a substring, then you must use one of the search-modifying
+ options `-c', `-r' or `-s'.  Otherwise ARCHIE will only respond with
+ only those files that match exactly the substring!
+ 
+ If the search string starts with a `-' you must precede it with 
+ another `-'.  For example
+ 
+      $ archie  -s  - -old
+ 
+ will search for all filenames that contain the string `-old'.
+ 
+ 2 Examples
+ 1.          $ archie emacs
+ 
+      This will find all anonymous FTP sites in the ARCHIE database
+      that have files named `emacs' somewhere in their FTP area.
+      (This particular query would probably return a lot of direc-
+      tories.)  
+ 
+ 2.          $ archie -c emacs
+ 
+      This will produce a list of every file that contains the
+      string `emacs' anywhere in the filename.
+ 
+ 3.   Regular expressions may also be used for searches:
+ 
+             $ archie -r '[xX][lL]isp'
+ 
+      If a string is enclosed in brackets [] ARCHIE will attempt to 
+      match any single character from the string.  In the above example
+      it will try and match either `x' or `X' plus either `l' or `L' 
+      followed by `isp'.  It is recommended that you enclose the whole
+      expression in single quotes to prevent the server misinterpreting it.
+ 
+ 2 Niceness
+ Niceness is the (Unix) concept of `being nice' to other users by 
+ lowering the priority of non-urgent jobs.
+ 
+ You should use the `-N' option whenever you do not demand immediacy,  
+ or when you are requesting things that could generate large responses.  
+ 
+ Here is a list of what would be considered as `nice' values that
+ accurately reflect the priority of a request to the server.
+ 
+           Normal              0
+           Nice                500
+           Nicer               1000
+           Very Nice           5000
+           Extremely Nice      10000
+           Nicest              32765
+ 
+ The last priority, Nicest, would be used when a job should wait until  
+ the queue is essentially empty before running. You should pick one of
+ these values to use, possibly modifying it slightly depending on where 
+ you think your priority should land.  For example, 32760 would mean wait  
+ until the queue is empty, but jump ahead of other jobs that are `Nicest'.
+ 
+ 2 Bugs
+ There are none; only a few unexpected features.
+ 
+ 2 VMS Notes
+ Please note that there are some options (e.g., -a) that aren't very
+ useful under VMS, so are not documented in this help file.
+ 
+ To use the ARCHIE program, define it as a symbol to point to the
+ ARCHIE.EXE image, or the arguments won't get processed properly:
+ 
+ 	$ ARCHIE :== $THE$DISK:[SOME.DIR]ARCHIE
+ 
+ Any further enhancements for VMS for this client are welcome and
+ encouraged.
+ 
+ 2 Background
+ ARCHIE runs as a client and queries an Archie anonymous FTP database 
+ looking for the specified search string, using the Prospero protocol.  
+ This client is based on Prospero version Beta.4.2 and is provided to 
+ encourage non-interactive use of the Archie servers (and subsequently 
+ better performance on both sides).  
+ 
+ The ARCHIE service was conceived and implemented by Alan Emtage
+ (bajan@cs.mcgill.ca), Peter Deutsch (peterd@cs.mcgill.ca), and 
+ Bill Heelan (wheelan@cs.mcgill.ca).  The entire Internet is in 
+ their debt.
+ 
+ The Prospero system was created by Clifford Neuman (bcn@isi.edu); 
+ write to info-prospero@isi.edu for more information on the protocol 
+ and its use.
+ 
+ This stripped client was put together by Brendan Kehoe 
+ (brendan@cygnus.com), with modifications by Clifford Neuman 
+ and George Ferguson (ferguson@cs.rochester.edu).
+ 
+ This help file was written by John Armstrong (armstrong@leva.leeds.ac.uk).

--
Brendan Kehoe                                               brendan@cygnus.com
Cygnus Support, Palo Alto, CA                                  +1 415 322 3811
                                                 Re-elect Clinton/Gore in '96!
Technical Details
Message-ID: <1ctebiINNef7@agate.berkeley.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!think.com!ames!agate!agate!usenet
References: <37394@hoptoad.uucp>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!think.com!ames!agate!agate!usenet
From: brendan@cygnus.com (Brendan Kehoe)
Newsgroups: comp.archives
Subject: [comp.archives.admin] Announcing Archie 1.4.1 (bug fixes)
Followup-To: comp.archives.admin
Date: 31 Oct 1992 07:58:42 GMT
Organization: Cygnus Support, Palo Alto, CA
Lines: 824
Sender: adam@soda.berkeley.edu
Approved: adam@soda.berkeley.edu
Distribution: world
Message-ID: <1ctebiINNef7@agate.berkeley.edu>
References: <37394@hoptoad.uucp>
Reply-To: brendan@cygnus.com (Brendan Kehoe)
NNTP-Posting-Host: soda.berkeley.edu
X-Original-Newsgroups: comp.archives.admin,alt.sources.wanted,comp.sources.wanted,comp.os.vms,comp.protocols.tcp-ip.ibmpc,comp.misc,alt.internet.services
X-Original-Date: 26 Oct 92 23:29:47 GMT