summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-06-14 16:24:45 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2011-06-14 16:24:45 -0400
commiteb5226e02a7cb336dbc17782d8788b178359826e (patch)
tree4aa867e44a47003fe7dc53ecf7ffa3aca9ce3f6e
parent440a528fa6af9b7ea80b36b4038b3bf0655d54b5 (diff)
Fix assorted issues with build and install paths containing spaces.
Apparently there is no buildfarm critter exercising this case after all, because it fails in several places. With this patch, build, install, check-world, and installcheck-world pass for me on OS X.
-rwxr-xr-xconfig/mkinstalldirs8
-rw-r--r--src/Makefile.shlib2
-rw-r--r--src/interfaces/ecpg/test/Makefile2
-rw-r--r--src/makefiles/pgxs.mk2
-rw-r--r--src/pl/plperl/GNUmakefile2
-rw-r--r--src/pl/plpython/Makefile2
-rw-r--r--src/pl/tcl/Makefile2
-rw-r--r--src/test/regress/GNUmakefile12
8 files changed, 17 insertions, 15 deletions
diff --git a/config/mkinstalldirs b/config/mkinstalldirs
index 070b418022b..d7b533bccef 100755
--- a/config/mkinstalldirs
+++ b/config/mkinstalldirs
@@ -105,13 +105,15 @@ esac
for file
do
- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+ # pathcomp starts with leading slash if present, else empty
+ pathcomp=`echo "$file" | sed -ne 's|^\(.\).*$|\1|;s|[^/]||;p'`
+ # swap spaces and slashes, then split on spaces
+ set fnord `echo "$file" | tr ' /' '/ '`
shift
- pathcomp=
for d
do
- pathcomp="$pathcomp$d"
+ pathcomp="$pathcomp"`echo "$d" | tr '/' ' '`
case $pathcomp in
-*) pathcomp=./$pathcomp ;;
esac
diff --git a/src/Makefile.shlib b/src/Makefile.shlib
index 4f897f4eff4..84fc91869a2 100644
--- a/src/Makefile.shlib
+++ b/src/Makefile.shlib
@@ -107,7 +107,7 @@ ifeq ($(PORTNAME), darwin)
ifeq ($(DLTYPE), library)
# linkable library
DLSUFFIX = .dylib
- LINK.shared = $(COMPILER) -dynamiclib -install_name $(libdir)/lib$(NAME).$(SO_MAJOR_VERSION)$(DLSUFFIX) $(version_link) $(exported_symbols_list) -multiply_defined suppress
+ LINK.shared = $(COMPILER) -dynamiclib -install_name "$(libdir)/lib$(NAME).$(SO_MAJOR_VERSION)$(DLSUFFIX)" $(version_link) $(exported_symbols_list) -multiply_defined suppress
else
# loadable module (default case)
DLSUFFIX = .so
diff --git a/src/interfaces/ecpg/test/Makefile b/src/interfaces/ecpg/test/Makefile
index bac7783f2c7..75d4647cba2 100644
--- a/src/interfaces/ecpg/test/Makefile
+++ b/src/interfaces/ecpg/test/Makefile
@@ -95,4 +95,4 @@ checktcp: all
./pg_regress --dbname=regress1,connectdb --top-builddir=$(top_builddir) --temp-install=./tmp_check --temp-port=$(TEMP_PORT) --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE) $(THREAD) --schedule=$(srcdir)/ecpg_schedule_tcp --create-role=connectuser,connectdb --host=localhost
installcheck: all
- ./pg_regress --psqldir=$(PSQLDIR) --dbname=regress1,connectdb --top-builddir=$(top_builddir) --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE) $(THREAD) --schedule=$(srcdir)/ecpg_schedule --create-role=connectuser,connectdb
+ ./pg_regress --psqldir="$(PSQLDIR)" --dbname=regress1,connectdb --top-builddir=$(top_builddir) --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE) $(THREAD) --schedule=$(srcdir)/ecpg_schedule --create-role=connectuser,connectdb
diff --git a/src/makefiles/pgxs.mk b/src/makefiles/pgxs.mk
index 1663c9d232f..331e32d9a21 100644
--- a/src/makefiles/pgxs.mk
+++ b/src/makefiles/pgxs.mk
@@ -255,7 +255,7 @@ endif
# against installed postmaster
installcheck: submake
- $(top_builddir)/src/test/regress/pg_regress --psqldir=$(PSQLDIR) $(REGRESS_OPTS) $(REGRESS)
+ $(top_builddir)/src/test/regress/pg_regress --psqldir="$(PSQLDIR)" $(REGRESS_OPTS) $(REGRESS)
# in-tree test doesn't work yet (no way to install my shared library)
#check: all submake
diff --git a/src/pl/plperl/GNUmakefile b/src/pl/plperl/GNUmakefile
index 5622b45ec13..bbb35aec98d 100644
--- a/src/pl/plperl/GNUmakefile
+++ b/src/pl/plperl/GNUmakefile
@@ -103,7 +103,7 @@ uninstall:
rm -f '$(DESTDIR)$(pkglibdir)/plperl$(DLSUFFIX)'
installcheck: submake
- $(top_builddir)/src/test/regress/pg_regress --psqldir=$(PSQLDIR) $(REGRESS_OPTS) $(REGRESS)
+ $(top_builddir)/src/test/regress/pg_regress --psqldir="$(PSQLDIR)" $(REGRESS_OPTS) $(REGRESS)
.PHONY: submake
submake:
diff --git a/src/pl/plpython/Makefile b/src/pl/plpython/Makefile
index 0b52c3d238c..6155f63c267 100644
--- a/src/pl/plpython/Makefile
+++ b/src/pl/plpython/Makefile
@@ -105,7 +105,7 @@ uninstall:
rm -f '$(DESTDIR)$(pkglibdir)/plpython$(DLSUFFIX)'
installcheck: submake
- $(top_builddir)/src/test/regress/pg_regress --psqldir=$(PSQLDIR) $(REGRESS_OPTS) $(REGRESS)
+ $(top_builddir)/src/test/regress/pg_regress --psqldir="$(PSQLDIR)" $(REGRESS_OPTS) $(REGRESS)
.PHONY: submake
submake:
diff --git a/src/pl/tcl/Makefile b/src/pl/tcl/Makefile
index 6fc6cc272ff..29905d0266c 100644
--- a/src/pl/tcl/Makefile
+++ b/src/pl/tcl/Makefile
@@ -92,7 +92,7 @@ uninstall:
$(MAKE) -C modules $@
installcheck: submake
- $(top_builddir)/src/test/regress/pg_regress --psqldir=$(PSQLDIR) $(REGRESS_OPTS) $(REGRESS)
+ $(top_builddir)/src/test/regress/pg_regress --psqldir="$(PSQLDIR)" $(REGRESS_OPTS) $(REGRESS)
.PHONY: submake
submake:
diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile
index 4d19f9c0bbd..da117dcb83a 100644
--- a/src/test/regress/GNUmakefile
+++ b/src/test/regress/GNUmakefile
@@ -98,7 +98,7 @@ ofile_list := $(subst .source,, $(notdir $(wildcard $(top_srcdir)/$(subdir)/outp
output_files := $(foreach file, $(ofile_list), expected/$(file).out)
ifneq ($(PORTNAME),win32)
-abs_srcdir := $(shell cd $(srcdir) && pwd)
+abs_srcdir := $(shell cd "$(srcdir)" && pwd)
abs_builddir := $(shell pwd)
else
abs_srcdir := $(shell cd $(srcdir) && pwd -W)
@@ -141,13 +141,13 @@ tablespace-setup:
##
check: all
- ./pg_regress --temp-install=./tmp_check --top-builddir=$(top_builddir) --srcdir=$(abs_srcdir) --temp-port=$(TEMP_PORT) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE) $(TEMP_CONF)
+ ./pg_regress --temp-install=./tmp_check --top-builddir=$(top_builddir) --srcdir="$(abs_srcdir)" --temp-port=$(TEMP_PORT) --schedule="$(srcdir)"/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE) $(TEMP_CONF)
installcheck: all
- ./pg_regress --psqldir=$(PSQLDIR) --schedule=$(srcdir)/serial_schedule --srcdir=$(abs_srcdir) --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE)
+ ./pg_regress --psqldir="$(PSQLDIR)" --schedule="$(srcdir)"/serial_schedule --srcdir="$(abs_srcdir)" --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE)
installcheck-parallel: all
- ./pg_regress --psqldir=$(PSQLDIR) --schedule=$(srcdir)/parallel_schedule --srcdir=$(abs_srcdir) --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE)
+ ./pg_regress --psqldir="$(PSQLDIR)" --schedule="$(srcdir)"/parallel_schedule --srcdir="$(abs_srcdir)" --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE)
# old interfaces follow...
@@ -157,10 +157,10 @@ runtest: installcheck
runtest-parallel: installcheck-parallel
bigtest: all
- ./pg_regress --psqldir=$(PSQLDIR) --schedule=$(srcdir)/serial_schedule --srcdir=$(abs_srcdir) --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE) numeric_big
+ ./pg_regress --psqldir="$(PSQLDIR)" --schedule="$(srcdir)"/serial_schedule --srcdir="$(abs_srcdir)" --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE) numeric_big
bigcheck: all
- ./pg_regress --temp-install=./tmp_check --top-builddir=$(top_builddir) --srcdir=$(abs_srcdir) --temp-port=$(TEMP_PORT) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE) numeric_big
+ ./pg_regress --temp-install=./tmp_check --top-builddir=$(top_builddir) --srcdir="$(abs_srcdir)" --temp-port=$(TEMP_PORT) --schedule="$(srcdir)"/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE) numeric_big
##