1
include ../upgradeable_versions.mk
3
EXTENSION = postgis_tiger_geocoder
5
MINORVERSION = 2011.2.1
7
MICRO_NUMBER = $(shell echo $(EXTVERSION) | sed "s/[0-9]\.[0-9]\.\([0-9]*\)[a-zA-Z]*[0-9]*/\1/")
8
PREREL_NUMBER = $(shell echo $(EXTVERSION) | \
9
sed "s/[0-9]\.[0-9]\.\(.*\)/\1/" | \
11
sed "s/[0-9][a-zA-Z]\([0-9]*\)[a-zA-Z]*/\1/")
12
MICRO_PREV = $(shell if test "$(MICRO_NUMBER)x" != "x"; then expr $(MICRO_NUMBER) - 1; fi)
13
PREREL_PREV = $(shell if test "$(PREREL_NUMBER)x" != "x"; then expr $(PREREL_NUMBER) - 1; fi)
15
PREREL_PREFIX = $(shell echo $(EXTVERSION) | \
16
sed "s/[0-9]\.[0-9]\.\(.*\)/\1/" | \
18
sed "s/\([0-9][a-zA-Z]*\)[0-9]*/\1/")
20
DATA = $(filter-out $(wildcard sql/*--*.sql),$(wildcard sql/*.sql))
22
PG_CONFIG = /var/lib/jenkins/workspace/pg/rel/pg9.2w64/bin/pg_config
24
PG91 = $(shell $(PG_CONFIG) --version | grep -qE " 8\.| 9\.0" && echo no || echo yes)
25
SQL_BITS = $(wildcard sql_bits/*.sql)
26
EXTRA_CLEAN += sql/*.sql ${SQL_BITS}
30
all: sql/$(EXTENSION)--$(EXTVERSION).sql sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql sql/$(EXTENSION)--$(EXTVERSION)--$(EXTVERSION)next.sql sql/$(EXTENSION)--$(EXTVERSION)next--$(EXTVERSION).sql sql_minor_upgrade
32
sql/$(EXTENSION)--$(EXTVERSION).sql: sql/$(EXTENSION).sql
35
sql/$(EXTENSION).sql: sql_bits/tiger_geocoder.sql sql_bits/mark_editable_objects.sql.in sql_bits/tiger_geocoder_comments.sql
38
#this is a cludge to allow upgrading from same SVN to same SVN
39
sql/$(EXTENSION)--$(EXTVERSION)--$(EXTVERSION)next.sql: ../postgis_extension_helper.sql sql_bits/remove_from_extension.sql.in sql/tiger_geocoder_upgrade_minor.sql sql_bits/mark_editable_objects.sql.in sql_bits/tiger_geocoder_comments.sql ../postgis_extension_helper_uninstall.sql
41
sql/$(EXTENSION)--$(EXTVERSION)next--$(EXTVERSION).sql: sql/$(EXTENSION)--$(EXTVERSION)--$(EXTVERSION)next.sql
44
#strip BEGIN/COMMIT since these are not allowed in extensions
45
#strip CREATE SCHEMA since we force extension
46
# to create schema by setting schema to tiger_geocoder in control
47
sql_bits/tiger_geocoder_minor.sql.in: ../../extras/tiger_geocoder/tiger_2011/utility/set_search_path.sql \
48
../../extras/tiger_geocoder/tiger_2011/utility/utmzone.sql \
49
../../extras/tiger_geocoder/tiger_2011/utility/cull_null.sql \
50
../../extras/tiger_geocoder/tiger_2011/utility/nullable_levenshtein.sql \
51
../../extras/tiger_geocoder/tiger_2011/utility/levenshtein_ignore_case.sql \
52
../../extras/tiger_geocoder/tiger_2011/normalize/end_soundex.sql \
53
../../extras/tiger_geocoder/tiger_2011/normalize/count_words.sql \
54
../../extras/tiger_geocoder/tiger_2011/normalize/state_extract.sql \
55
../../extras/tiger_geocoder/tiger_2011/normalize/get_last_words.sql \
56
../../extras/tiger_geocoder/tiger_2011/normalize/location_extract_countysub_exact.sql \
57
../../extras/tiger_geocoder/tiger_2011/normalize/location_extract_countysub_fuzzy.sql \
58
../../extras/tiger_geocoder/tiger_2011/normalize/location_extract_place_exact.sql \
59
../../extras/tiger_geocoder/tiger_2011/normalize/location_extract_place_fuzzy.sql \
60
../../extras/tiger_geocoder/tiger_2011/normalize/location_extract.sql \
61
../../extras/tiger_geocoder/tiger_2011/normalize/normalize_address.sql \
62
../../extras/tiger_geocoder/tiger_2011/normalize/pprint_addy.sql \
63
../../extras/tiger_geocoder/tiger_2011/pagc_normalize/pagc_tables.sql \
64
../../extras/tiger_geocoder/tiger_2011/pagc_normalize/pagc_normalize_address.sql \
65
../../extras/tiger_geocoder/tiger_2011/geocode/other_helper_functions.sql \
66
../../extras/tiger_geocoder/tiger_2011/geocode/rate_attributes.sql \
67
../../extras/tiger_geocoder/tiger_2011/geocode/includes_address.sql \
68
../../extras/tiger_geocoder/tiger_2011/geocode/interpolate_from_address.sql \
69
../../extras/tiger_geocoder/tiger_2011/geocode/geocode_address.sql \
70
../../extras/tiger_geocoder/tiger_2011/geocode/geocode_location.sql \
71
../../extras/tiger_geocoder/tiger_2011/geocode/geocode_intersection.sql \
72
../../extras/tiger_geocoder/tiger_2011/geocode/geocode.sql \
73
../../extras/tiger_geocoder/tiger_2011/geocode/reverse_geocode.sql \
74
../../extras/tiger_geocoder/tiger_2011/geocode/census_tracts_functions.sql
77
sql_bits/tiger_geocoder.sql.in: sql_bits/norm_addy_create.sql.in \
78
../../extras/tiger_geocoder/tiger_2011/utility/set_search_path.sql \
79
../../extras/tiger_geocoder/tiger_2011/geocode_settings.sql \
80
../../extras/tiger_geocoder/tiger_2011/tables/lookup_tables_2011.sql \
81
../../extras/tiger_geocoder/tiger_2011/tiger_loader_2012.sql \
82
../../extras/tiger_geocoder/tiger_2011/census_loader.sql \
83
../../extras/tiger_geocoder/tiger_2011/utility/set_search_path.sql \
84
../../extras/tiger_geocoder/tiger_2011/utility/utmzone.sql \
85
../../extras/tiger_geocoder/tiger_2011/utility/cull_null.sql \
86
../../extras/tiger_geocoder/tiger_2011/utility/nullable_levenshtein.sql \
87
../../extras/tiger_geocoder/tiger_2011/utility/levenshtein_ignore_case.sql \
88
../../extras/tiger_geocoder/tiger_2011/normalize/end_soundex.sql \
89
../../extras/tiger_geocoder/tiger_2011/normalize/count_words.sql \
90
../../extras/tiger_geocoder/tiger_2011/normalize/state_extract.sql \
91
../../extras/tiger_geocoder/tiger_2011/normalize/get_last_words.sql \
92
../../extras/tiger_geocoder/tiger_2011/normalize/location_extract_countysub_exact.sql \
93
../../extras/tiger_geocoder/tiger_2011/normalize/location_extract_countysub_fuzzy.sql \
94
../../extras/tiger_geocoder/tiger_2011/normalize/location_extract_place_exact.sql \
95
../../extras/tiger_geocoder/tiger_2011/normalize/location_extract_place_fuzzy.sql \
96
../../extras/tiger_geocoder/tiger_2011/normalize/location_extract.sql \
97
../../extras/tiger_geocoder/tiger_2011/normalize/normalize_address.sql \
98
../../extras/tiger_geocoder/tiger_2011/normalize/pprint_addy.sql \
99
../../extras/tiger_geocoder/tiger_2011/pagc_normalize/pagc_tables.sql \
100
../../extras/tiger_geocoder/tiger_2011/pagc_normalize/pagc_normalize_address.sql \
101
../../extras/tiger_geocoder/tiger_2011/geocode/other_helper_functions.sql \
102
../../extras/tiger_geocoder/tiger_2011/geocode/rate_attributes.sql \
103
../../extras/tiger_geocoder/tiger_2011/geocode/includes_address.sql \
104
../../extras/tiger_geocoder/tiger_2011/geocode/interpolate_from_address.sql \
105
../../extras/tiger_geocoder/tiger_2011/geocode/geocode_address.sql \
106
../../extras/tiger_geocoder/tiger_2011/geocode/geocode_location.sql \
107
../../extras/tiger_geocoder/tiger_2011/geocode/geocode_intersection.sql \
108
../../extras/tiger_geocoder/tiger_2011/geocode/geocode.sql \
109
../../extras/tiger_geocoder/tiger_2011/geocode/reverse_geocode.sql \
110
../../extras/tiger_geocoder/tiger_2011/geocode/census_tracts_functions.sql \
111
../../extras/tiger_geocoder/tiger_2011/topology/tiger_topology_loader.sql \
112
../postgis_extension_helper.sql \
113
sql_bits/add_search_path.sql \
114
../postgis_extension_helper_uninstall.sql
117
sql_bits/tiger_geocoder.sql: sql_bits/tiger_geocoder.sql.in
118
sed -e 's/BEGIN;//g' -e 's/COMMIT;//g' -e '/^CREATE SCHEMA/d;' $< > $@
120
sql_bits/add_search_path.sql: sql_bits/add_search_path.sql.in
123
../../doc/tiger_geocoder_comments.sql:
124
$(MAKE) -C ../../doc comments
126
sql_bits/tiger_geocoder_comments.sql: ../../doc/tiger_geocoder_comments.sql
129
#grep all lines that start with CREATE OR REPLACE FUNCTION, TRIGGER...
130
#then replace CREATE OR REPLACE .. with ALTER EXTENSION..;
131
#then remove default values and extra junk
132
# sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql: ../../tiger_geocoder/tiger_geocoder.sql
133
# sed -e '/^CREATE \(OR REPLACE\|TYPE\|TABLE\|VIEW\|CAST\)/!d;' \
134
# -e 's/OR REPLACE//g' \
135
# -e 's/CREATE\(.*\)/ALTER EXTENSION $(EXTENSION) ADD\1;/' \
136
# -e 's/DEFAULT [\.0-9a-zA-Z]\+//g' \
137
# -e 's/\(BEFORE\|WITH FUNCTION\)\(.*\)/;/' \
138
# -e 's/[ \t]+;/;/' \
141
# -e 's/;;/;/g' $< > $@
143
#hardcode for now using
144
#the extensions/make_unpackaged.sql script form an install
145
sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql: sql_bits/tiger_geocoder--unpackaged.sql.in
148
#upgrade script should have everything but table, schema, type creation/alter
149
#NOTE: we assume all object definitions end in ;
150
#first expression deletes all non-removable objects defined on same line
151
#second deletes all non-removable defined on multiple lines
152
# the end of the body of object we assume ends in ;
153
#aggregates are special
154
#they can be dropped but we need to remove
155
#them from the extension first
156
sql/tiger_geocoder_upgrade_minor.sql: sql_bits/tiger_geocoder_minor.sql.in
157
sed -e '/^\(CREATE\|ALTER\) \(CAST\|TYPE\|TABLE\|SCHEMA\|DOMAIN\|TRIGGER\).*;/d' \
158
-e '/^\(CREATE\|ALTER\) \(CAST\|TYPE\|TABLE\|SCHEMA\|DOMAIN\|TRIGGER\)/,/\;/d' \
161
sql_minor_upgrade: ../postgis_extension_helper.sql sql_bits/remove_from_extension.sql.in sql/tiger_geocoder_upgrade_minor.sql sql_bits/mark_editable_objects.sql.in sql_bits/tiger_geocoder_comments.sql ../postgis_extension_helper_uninstall.sql
162
for OLD_VERSION in $(UPGRADEABLE_VERSIONS); do \
163
cat $^ > sql/$(EXTENSION)--$$OLD_VERSION--$(EXTVERSION).sql; \
166
DATA = $(wildcard sql/*--*.sql)
167
EXTRA_CLEAN += sql/$(EXTENSION)--$(EXTVERSION).sql sql/$(EXTENSION)--unpackaged--$(EXTVERSION).sql
173
PGXS := $(shell $(PG_CONFIG) --pgxs)