Subject: patch for initial distribution

From: [email-masked] (Jeff Meredith)
Date: Wed, 04 Dec 91 18:03:41 PST

I have patched up the 3.1 distribution and it should now install correctly
on all platforms.  If you already have it (and haven't already fixed the
problems yourself) you can use the included patch file.  Both the fixed
distribution and the patch file are in the ftp directory on postgres.

Again, sorry for the extra hassle.

Jeff Meredith
[email-masked]

postgres-v3r1.patch ======================================================

The following is a patch file for the initial postgres version 3
release 1 distribution.  There were installation problems that
showed up when compiling on SPARCstation's running 4.1 and up
(which is of course just about everyone who has a sparc).  This also
fixes a bug in the installation scripts for all platforms.  If you
ftp'ed this patch at the same time you ftp'ed postgres then you probably
don't need it.  The distribution itself has been patched and should now
install correctly.

To apply this patch take everything below the cut here line and put
it in a file in your $POSTGRESHOME directory.  Then run the command

	patch -p0 < patchfile

After doing this run the following commands to install postgres:

	cd ~postgres/newconf
	Make everything install

if you have problems send mail to [email-masked]

---------------------------- cut here ----------------------------------
*** old/src/lib/libpq/obe-fsstubs.c	Wed Dec  4 07:25:34 1991
--- src/lib/libpq/be-fsstubs.c	Wed Dec  4 07:33:07 1991
***************
*** 408,420 ****
       char *path;
  {
      struct varlena *ret;
!     struct stat *st;
      unsigned int nblocks, byte_offset;
      int len;
!     len = sizeof(struct stat);
      ret = (struct varlena *) palloc(len+sizeof(int32));
      VARSIZE(ret) = len;
!     st = (struct stat *)VARDATA(ret);
      bzero(st,len);	/* default values of 0 */
  #if 0
      if (!LOisdir(path)) {
--- 408,420 ----
       char *path;
  {
      struct varlena *ret;
!     struct pgstat *st;
      unsigned int nblocks, byte_offset;
      int len;
!     len = sizeof(struct pgstat);
      ret = (struct varlena *) palloc(len+sizeof(int32));
      VARSIZE(ret) = len;
!     st = (struct pgstat *)VARDATA(ret);
      bzero(st,len);	/* default values of 0 */
  #if 0
      if (!LOisdir(path)) {
*** old/src/executor/oex_debug.c	Wed Dec  4 07:40:16 1991
--- src/executor/ex_debug.c	Wed Dec  4 07:40:31 1991
***************
*** 17,23 ****
   *	$Header: RCS/ex_debug.c,v 1.5 91/11/14 10:56:11 glass Exp $
   * ----------------------------------------------------------------
   */
! #include "executor/executor.h
  
   RcsId("$Header: RCS/ex_debug.c,v 1.5 91/11/14 10:56:11 glass Exp $");
  
--- 17,23 ----
   *	$Header: RCS/ex_debug.c,v 1.5 91/11/14 10:56:11 glass Exp $
   * ----------------------------------------------------------------
   */
! #include "executor/executor.h"
  
   RcsId("$Header: RCS/ex_debug.c,v 1.5 91/11/14 10:56:11 glass Exp $");
  
*** old/src/lib/libpq/ofe-pqufs.c	Wed Dec  4 07:34:08 1991
--- src/lib/libpq/fe-pqufs.c	Wed Dec  4 07:35:13 1991
***************
*** 368,374 ****
  
  int p_stat(path,statbuf)
       char *path;
!      struct stat *statbuf;
  {
      int stlen;
      PQArgBlock argv[2];
--- 368,374 ----
  
  int p_stat(path,statbuf)
       char *path;
!      struct pgstat *statbuf;
  {
      int stlen;
      PQArgBlock argv[2];
***************
*** 378,384 ****
      argv[0].len = VAR_LENGTH_ARG;
      argv[0].u.ptr = (int *)resolve_path(path);
  
!     pqret = PQfn(F_LOSTAT,(int *)statbuf,sizeof(struct stat),&stlen,2,argv,1);
  
      if (stlen == 5)
        return -1;
--- 378,384 ----
      argv[0].len = VAR_LENGTH_ARG;
      argv[0].u.ptr = (int *)resolve_path(path);
  
!     pqret = PQfn(F_LOSTAT,(int *)statbuf,sizeof(struct pgstat),&stlen,2,argv,1);
  
      if (stlen == 5)
        return -1;
***************
*** 479,485 ****
  int p_chdir(path)
       char *path;
  {
!     struct stat st;
  
      if (p_stat(path,&st) < 0)
        return -1;
--- 479,485 ----
  int p_chdir(path)
       char *path;
  {
!     struct pgstat st;
  
      if (p_stat(path,&st) < 0)
        return -1;
*** old/src/lib/H/planner/ointernal.h	Wed Dec  4 13:02:41 1991
--- src/lib/H/planner/internal.h	Tue Dec  3 08:20:27 1991
***************
*** 27,33 ****
  #include "nodes/plannodes.h"
  #include "parser/parsetree.h"
  #include "nodes/relation.h"
! #include "catalog/pg_index.h
  #include "tmp/c.h"
  
  /* XXX - versions don't work yet, so parsetree doesn't have them,
--- 27,33 ----
  #include "nodes/plannodes.h"
  #include "parser/parsetree.h"
  #include "nodes/relation.h"
! #include "catalog/pg_index.h"
  #include "tmp/c.h"
  
  /* XXX - versions don't work yet, so parsetree doesn't have them,
*** old/src/lib/H/tmp/olibpq-fs.h	Wed Dec  4 07:22:16 1991
--- src/lib/H/tmp/libpq-fs.h	Wed Dec  4 11:17:43 1991
***************
*** 39,45 ****
  #endif
  
  /* Temp workaround until we make unix stuff compile under all oses */
! struct stat {
  	int st_mode;
  	int b;
  	int c;
--- 39,45 ----
  #endif
  
  /* Temp workaround until we make unix stuff compile under all oses */
! struct pgstat {
  	int st_mode;
  	int b;
  	int c;
***************
*** 69,75 ****
  int p_rmdir ARGS((char *path ));
  int p_ferror ARGS((int fd ));
  int p_rename ARGS((char *path , char *pathnew ));
! int p_stat ARGS((char *path , struct stat *statbuf ));
  PDIR *p_opendir ARGS((char *path ));
  struct pgdirent *p_readdir ARGS((PDIR *dirp ));
  void p_rewinddir ARGS((PDIR *dirp ));
--- 69,75 ----
  int p_rmdir ARGS((char *path ));
  int p_ferror ARGS((int fd ));
  int p_rename ARGS((char *path , char *pathnew ));
! int p_stat ARGS((char *path , struct pgstat *statbuf ));
  PDIR *p_opendir ARGS((char *path ));
  struct pgdirent *p_readdir ARGS((PDIR *dirp ));
  void p_rewinddir ARGS((PDIR *dirp ));
*** old/newconf/oinstall.sh	Wed Dec  4 08:56:11 1991
--- newconf/install.sh	Wed Dec  4 08:57:28 1991
***************
*** 271,274 ****
--- 271,281 ----
      fi
  fi
  
+ echo
+ if [ $DEVELOPMENT = "f" ]
+ then
+ 	echo "Cleaning up..."
+ 	rm -f $OBJ/*.o
+ fi
+ 
  echo "Installation complete."
*** old/newconf/opostgres.mk	Wed Dec  4 08:22:10 1991
--- newconf/postgres.mk	Wed Dec  4 08:56:05 1991
***************
*** 298,306 ****
  POSTGRES.o: $(ALLMODS)
  	@ echo linking postgres
  	@ $(CC) $(PORTLDFLAGS) $(LDFLAGS) -o $(OD)/support/postgres $(ALLMODS) $(LIBS)
- 	@ sh -c 'if (test $$DEVELOPMENT = "f" ) then \
- 		    rm -f $(ALLMODS); \
- 		 else true ; fi'
  	@ sh -c 'if (test $$STRIPOBJS = "t" ) then \
  		    strip $(OD)/support/postgres ; \
  		 else true ; fi'
--- 298,303 ----