From 24d1280c4d75038f130495a25844c60d6810faab Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 11 Feb 2011 22:53:43 -0500 Subject: Clean up installation directory choices for extensions. Arrange for the control files to be in $SHAREDIR/extension not $SHAREDIR/contrib, since we're generally trying to deprecate the term "contrib" and this is a once-in-many-moons opportunity to get rid of it in install paths. Fix PGXS to install the $EXTENSION file into that directory no matter what MODULEDIR is set to; a nondefault MODULEDIR should only affect the script and secondary extension files. Fix the control file directory parameter to be interpreted relative to $SHAREDIR, to avoid a surprising disconnect between how you specify that and what you set MODULEDIR to. Per discussion with David Wheeler. --- src/backend/commands/extension.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/backend/commands/extension.c') 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; } -- cgit v1.2.3