pg_repack doesn't create any object to depend on, so it is always possible drop it and install a new version instead of upgrading. Creating a robust upgrade path from loose objects which can be of any version to a target version is hopelessly brittle, so I'd suggest the user just to drop a previous pg_repack version and install the new one.
47 lines
1.5 KiB
Makefile
47 lines
1.5 KiB
Makefile
#
|
|
# pg_repack: lib/Makefile
|
|
#
|
|
# Portions Copyright (c) 2008-2012, NIPPON TELEGRAPH AND TELEPHONE CORPORATION
|
|
# Portions Copyright (c) 2011, Itagaki Takahiro
|
|
# Portions Copyright (c) 2012, The Reorg Development Team
|
|
#
|
|
MODULE_big = pg_repack
|
|
OBJS = repack.o pgut/pgut-be.o pgut/pgut-spi.o
|
|
|
|
EXTENSION = pg_repack
|
|
|
|
# The version number of the program. It should be the same of the library.
|
|
REPACK_VERSION = $(shell grep '"version":' ../META.json | head -1 \
|
|
| sed -e 's/\s*"version":\s*"\(.*\)",/\1/')
|
|
|
|
# The version of the extension, read from the .control file.
|
|
# Note that it doesn't need to be the same of the library version: it should
|
|
# be increased only when the sql changes.
|
|
EXTVER = $(shell grep -e '^default_version' $(EXTENSION).control \
|
|
| sed -e "s/[^']*'\([^']*\)'.*/\1/")
|
|
|
|
PG_CPPFLAGS = -DREPACK_VERSION=$(REPACK_VERSION)
|
|
|
|
#supports both EXTENSION (for >=9.1) and without_EXTENSION (for <PG 9.1)
|
|
DATA_built = pg_repack.sql pg_repack--$(EXTVER).sql
|
|
DATA = uninstall_pg_repack.sql
|
|
|
|
USE_PGXS = 1 # use pgxs if not in contrib directory
|
|
PG_CONFIG = pg_config
|
|
PGXS := $(shell $(PG_CONFIG) --pgxs)
|
|
include $(PGXS)
|
|
|
|
# remove dependency to libxml2 and libxslt
|
|
LIBS := $(filter-out -lxml2, $(LIBS))
|
|
LIBS := $(filter-out -lxslt, $(LIBS))
|
|
|
|
pg_repack.sql: pg_repack.sql.in
|
|
echo "BEGIN;\n" > $@; \
|
|
echo "CREATE SCHEMA repack;\n" >> $@; \
|
|
sed 's,MODULE_PATHNAME,$$libdir/$(MODULE_big),g' $< >> $@; \
|
|
echo "\nCOMMIT;" >> $@;
|
|
|
|
pg_repack--$(EXTVER).sql: pg_repack.sql.in
|
|
echo '\echo Use "CREATE EXTENSION pg_repack" to load this file. \quit' > $@; \
|
|
cat $< >> $@;
|