From b680d5bec7eefe0cee86ed3e9a813f0162d12b47 Mon Sep 17 00:00:00 2001 From: Tatsuo Ishii Date: Wed, 22 Dec 1999 04:12:55 +0000 Subject: [PATCH] Add installation of pg_ctl Locate path of postmaster in a portable way (stolen from initdb) Add postmaster.opts.default.sample which should be copied into $PGLIB in the installtion process. Also, it will be installed into $PGDATA while initdb is running. --- src/bin/Makefile | 5 ++- src/bin/pg_ctl/Makefile | 5 ++- src/bin/pg_ctl/pg_ctl.sh | 39 +++++++++++++++++-- src/bin/pg_ctl/postmaster.opts.default.sample | 2 + 4 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 src/bin/pg_ctl/postmaster.opts.default.sample diff --git a/src/bin/Makefile b/src/bin/Makefile index e16654a050..d9a5b38e19 100644 --- a/src/bin/Makefile +++ b/src/bin/Makefile @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/Makefile,v 1.21 1999/12/08 10:29:36 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/Makefile,v 1.22 1999/12/22 04:12:54 ishii Exp $ # #------------------------------------------------------------------------- @@ -15,7 +15,8 @@ SRCDIR= .. include ../Makefile.global DIRS = pg_id pg_version psql pg_dump pg_passwd \ - scripts initdb initlocation ipcclean + scripts initdb initlocation ipcclean \ + pg_ctl ifdef MULTIBYTE DIRS += pg_encoding diff --git a/src/bin/pg_ctl/Makefile b/src/bin/pg_ctl/Makefile index ae432de329..6f57b868de 100644 --- a/src/bin/pg_ctl/Makefile +++ b/src/bin/pg_ctl/Makefile @@ -7,7 +7,7 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Makefile,v 1.2 1999/12/08 10:29:51 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Makefile,v 1.3 1999/12/22 04:12:55 ishii Exp $ # #------------------------------------------------------------------------- @@ -17,10 +17,11 @@ include ../../Makefile.global all: pg_ctl pg_ctl: pg_ctl.sh - sed -e 's@__BINDIR__@$(BINDIR)@' pg_ctl.sh > pg_ctl + cat pg_ctl.sh > pg_ctl install: pg_ctl $(INSTALL) $(INSTL_EXE_OPTS) $+ $(BINDIR) + $(INSTALL) $(INSTLOPTS) postmaster.opts.default.sample $(LIBDIR) clean: rm -f pg_ctl diff --git a/src/bin/pg_ctl/pg_ctl.sh b/src/bin/pg_ctl/pg_ctl.sh index aac81fc58c..ec529bee02 100755 --- a/src/bin/pg_ctl/pg_ctl.sh +++ b/src/bin/pg_ctl/pg_ctl.sh @@ -8,13 +8,46 @@ # # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.3 1999/12/06 08:49:00 ishii Exp $ +# $Header: /cvsroot/pgsql/src/bin/pg_ctl/Attic/pg_ctl.sh,v 1.4 1999/12/22 04:12:55 ishii Exp $ # #------------------------------------------------------------------------- CMDNAME=`basename $0` -# set default path to postmaster -po_path=__BINDIR__/postmaster +# +# Find out where we're located +# +if echo "$0" | grep '/' > /dev/null 2>&1 +then + # explicit dir name given + PGPATH=`echo $0 | sed 's,/[^/]*$,,'` # (dirname command is not portable) +else + # look for it in PATH ('which' command is not portable) + for dir in `echo "$PATH" | sed 's/:/ /g'` + do + # empty entry in path means current dir + [ -z "$dir" ] && dir='.' + if [ -f "$dir/$CMDNAME" ] + then + PGPATH="$dir" + break + fi + done +fi + +# Check if needed programs actually exist in path +for prog in postmaster +do + if [ ! -x "$PGPATH/$prog" ] + then + echo "The program $prog needed by $CMDNAME could not be found. It was" + echo "expected at:" + echo " $PGPATH/$prog" + echo "If this is not the correct directory, please start $CMDNAME" + echo "with a full search path. Otherwise make sure that the program" + echo "was installed successfully." + exit 1 + fi +done # set default shutdown signal sig="-TERM" diff --git a/src/bin/pg_ctl/postmaster.opts.default.sample b/src/bin/pg_ctl/postmaster.opts.default.sample new file mode 100644 index 0000000000..fea6bf660e --- /dev/null +++ b/src/bin/pg_ctl/postmaster.opts.default.sample @@ -0,0 +1,2 @@ +postmaster +-S -- 2.40.0