mirror of
https://github.com/postgres/postgres.git
synced 2025-07-31 22:04:40 +03:00
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.
This commit is contained in:
@ -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)))
|
||||
|
Reference in New Issue
Block a user