diff --git a/client/Makefile b/client/Makefile index 7c4da43..85a9985 100644 --- a/client/Makefile +++ b/client/Makefile @@ -73,19 +73,28 @@ release: $(EXTENSION).control $(SOURCES_DATA) $(SED) $(REPLACEMENTS) $(EXTENSION).control git add $(EXTENSION).control cat $(SOURCES_DATA_DIR)/*.sql > $(EXTENSION)--$(NEW_VERSION).sql -ifeq ($(PG_PARALLEL), 0) -# Remove PARALLEL in aggregates and functions - $(eval TMPFILE := $(shell mktemp /tmp/$(basename $0).XXXXXXXX)) - $(SED) -e 's/PARALLEL \= [A-Z]*,/''/g' \ - -e 's/PARALLEL [A-Z]*/''/g' $@ > $(TMPFILE) - mv $(TMPFILE) $@ -endif - git add $(EXTENSION)--$(NEW_VERSION).sql $(ERB) version=$(NEW_VERSION) upgrade_downgrade_template.erb > $(EXTENSION)--$(EXTVERSION)--$(NEW_VERSION).sql $(ERB) version=$(EXTVERSION) upgrade_downgrade_template.erb > $(EXTENSION)--$(NEW_VERSION)--$(EXTVERSION).sql + cat $(EXTENSION)--$(NEW_VERSION).sql >> $(EXTENSION)--$(EXTVERSION)--$(NEW_VERSION).sql + git add $(EXTENSION)--$(EXTVERSION)--$(NEW_VERSION).sql $(EXTENSION)--$(NEW_VERSION)--$(EXTVERSION).sql $(EXTENSION)--$(NEW_VERSION).sql # Only meant for development time, do not use once a version is released .PHONY: devclean devclean: rm -f $(NEW_EXTENSION_ARTIFACT) rm -f $(GENERATED_SQL_FILES) + +# If needed remove PARALLEL tags from the release files +release_remove_parallel_deploy: +ifeq ($(PG_PARALLEL), 0) + for n in $(wildcard old_versions/*.sql *.sql); do \ + $(eval TMPFILE := $(shell mktemp /tmp/XXXXXXXXXX)) \ + $(SED) -e 's/PARALLEL \= [A-Z]*,/''/g' -e 's/PARALLEL [A-Z]*/''/g' $$n > $(TMPFILE); \ + mv $(TMPFILE) $$n; \ + done +endif + +# Install the current release into the PostgreSQL extensions directory +deploy: release_remove_parallel_deploy + $(INSTALL_DATA) $(EXTENSION).control '$(DESTDIR)$(datadir)/extension/' + $(INSTALL_DATA) old_versions/*.sql *.sql '$(DESTDIR)$(datadir)/extension/' diff --git a/server/extension/Makefile b/server/extension/Makefile index 70435af..1d2dd32 100644 --- a/server/extension/Makefile +++ b/server/extension/Makefile @@ -52,18 +52,29 @@ release: $(EXTENSION).control $(SOURCES_DATA) test -n "$(NEW_VERSION)" # $$NEW_VERSION VARIABLE MISSING. Eg. make release NEW_VERSION=0.x.0 git mv *.sql old_versions $(SED) $(REPLACEMENTS) $(EXTENSION).control + git add $(EXTENSION).control cat $(SOURCES_DATA_DIR)/*.sql > $(EXTENSION)--$(NEW_VERSION).sql -ifeq ($(PG_PARALLEL), 0) -# Remove PARALLEL in aggregates and functions - $(eval TMPFILE := $(shell mktemp /tmp/$(basename $0).XXXXXXXX)) - $(SED) -e 's/PARALLEL \= [A-Z]*,/''/g' \ - -e 's/PARALLEL [A-Z]*/''/g' $@ > $(TMPFILE) - mv $(TMPFILE) $@ -endif $(ERB) version=$(NEW_VERSION) upgrade_downgrade_template.erb > $(EXTENSION)--$(EXTVERSION)--$(NEW_VERSION).sql $(ERB) version=$(EXTVERSION) upgrade_downgrade_template.erb > $(EXTENSION)--$(NEW_VERSION)--$(EXTVERSION).sql + cat $(EXTENSION)--$(NEW_VERSION).sql >> $(EXTENSION)--$(EXTVERSION)--$(NEW_VERSION).sql + git add $(EXTENSION)--$(EXTVERSION)--$(NEW_VERSION).sql $(EXTENSION)--$(NEW_VERSION)--$(EXTVERSION).sql $(EXTENSION)--$(NEW_VERSION).sql # Only meant for development time, do not use once a version is released .PHONY: devclean devclean: rm -f $(NEW_EXTENSION_ARTIFACT) + +# If needed remove PARALLEL tags from the release files +release_remove_parallel_deploy: +ifeq ($(PG_PARALLEL), 1) + for n in $(wildcard old_versions/*.sql *.sql); do \ + $(eval TMPFILE := $(shell mktemp /tmp/XXXXXXXXXX)) \ + $(SED) -e 's/PARALLEL \= [A-Z]*,/''/g' -e 's/PARALLEL [A-Z]*/''/g' $$n > $(TMPFILE); \ + mv $(TMPFILE) $$n; \ + done +endif + +# Install the current release into the PostgreSQL extensions directory +deploy: release_remove_parallel_deploy + $(INSTALL_DATA) $(EXTENSION).control '$(DESTDIR)$(datadir)/extension/' + $(INSTALL_DATA) old_versions/*.sql *.sql '$(DESTDIR)$(datadir)/extension/'