aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/commands/extension.c9
-rw-r--r--src/makefiles/pgxs.mk35
2 files changed, 29 insertions, 15 deletions
diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c
index 5d8b36b0966..702f24a35d5 100644
--- a/src/backend/commands/extension.c
+++ b/src/backend/commands/extension.c
@@ -278,7 +278,7 @@ get_extension_control_directory(void)
get_share_path(my_exec_path, sharepath);
result = (char *) palloc(MAXPGPATH);
- snprintf(result, MAXPGPATH, "%s/contrib", sharepath);
+ snprintf(result, MAXPGPATH, "%s/extension", sharepath);
return result;
}
@@ -291,7 +291,7 @@ get_extension_control_filename(const char *extname)
get_share_path(my_exec_path, sharepath);
result = (char *) palloc(MAXPGPATH);
- snprintf(result, MAXPGPATH, "%s/contrib/%s.control",
+ snprintf(result, MAXPGPATH, "%s/extension/%s.control",
sharepath, extname);
return result;
@@ -305,7 +305,7 @@ get_extension_script_directory(ExtensionControlFile *control)
/*
* The directory parameter can be omitted, absolute, or relative to the
- * control-file directory.
+ * installation's share directory.
*/
if (!control->directory)
return get_extension_control_directory();
@@ -315,8 +315,7 @@ get_extension_script_directory(ExtensionControlFile *control)
get_share_path(my_exec_path, sharepath);
result = (char *) palloc(MAXPGPATH);
- snprintf(result, MAXPGPATH, "%s/contrib/%s",
- sharepath, control->directory);
+ snprintf(result, MAXPGPATH, "%s/%s", sharepath, control->directory);
return result;
}
diff --git a/src/makefiles/pgxs.mk b/src/makefiles/pgxs.mk
index 655c5f9e382..412bf5c9301 100644
--- a/src/makefiles/pgxs.mk
+++ b/src/makefiles/pgxs.mk
@@ -25,9 +25,10 @@
#
# The following variables can also be set:
#
-# MODULEDIR -- subdirectory into which EXTENSION, DATA and DOCS files
-# should be installed (if not set, default is "contrib")
# EXTENSION -- name of extension (there must be a $EXTENSION.control file)
+# MODULEDIR -- subdirectory of $PREFIX/share into which DATA and DOCS files
+# should be installed (if not set, default is "extension" if EXTENSION
+# is set, or "contrib" if not)
# DATA -- random files to install into $PREFIX/share/$MODULEDIR
# DATA_built -- random files to install into $PREFIX/share/$MODULEDIR,
# which need to be built first
@@ -72,11 +73,16 @@ override CFLAGS += $(CFLAGS_SL)
endif
ifdef MODULEDIR
-datamoduledir = $(MODULEDIR)
-docmoduledir = $(MODULEDIR)
+datamoduledir := $(MODULEDIR)
+docmoduledir := $(MODULEDIR)
else
-datamoduledir = contrib
-docmoduledir = contrib
+ifdef EXTENSION
+datamoduledir := extension
+docmoduledir := extension
+else
+datamoduledir := contrib
+docmoduledir := contrib
+endif
endif
ifdef PG_CPPFLAGS
@@ -96,8 +102,14 @@ endif # MODULE_big
install: all installdirs
-ifneq (,$(DATA)$(DATA_built)$(EXTENSION))
- @for file in $(addprefix $(srcdir)/, $(DATA)) $(DATA_built) $(addsuffix .control, $(EXTENSION)); do \
+ifneq (,$(EXTENSION))
+ @for file in $(addprefix $(srcdir)/, $(addsuffix .control, $(EXTENSION))); do \
+ echo "$(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/extension'"; \
+ $(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/extension'; \
+ done
+endif # EXTENSION
+ifneq (,$(DATA)$(DATA_built))
+ @for file in $(addprefix $(srcdir)/, $(DATA)) $(DATA_built); do \
echo "$(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/$(datamoduledir)'"; \
$(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/$(datamoduledir)'; \
done
@@ -168,8 +180,11 @@ endif # MODULE_big
uninstall:
-ifneq (,$(DATA)$(DATA_built)$(EXTENSION))
- rm -f $(addprefix '$(DESTDIR)$(datadir)/$(datamoduledir)'/, $(notdir $(DATA) $(DATA_built) $(addsuffix .control, $(EXTENSION))))
+ifneq (,$(EXTENSION))
+ rm -f $(addprefix '$(DESTDIR)$(datadir)/extension'/, $(notdir $(addsuffix .control, $(EXTENSION))))
+endif
+ifneq (,$(DATA)$(DATA_built))
+ rm -f $(addprefix '$(DESTDIR)$(datadir)/$(datamoduledir)'/, $(notdir $(DATA) $(DATA_built)))
endif
ifneq (,$(DATA_TSEARCH))
rm -f $(addprefix '$(DESTDIR)$(datadir)/tsearch_data'/, $(notdir $(DATA_TSEARCH)))