[SCM] postgis branch, master, updated. upstream/2.0.1-42-gb1b34b5
Markus Wanner
markus at bluegap.ch
Wed Jun 5 06:08:24 UTC 2013
The following commit has been merged in the master branch:
commit b1b34b5e3f280606617a8dc66133a6c74cad9bac
Author: Markus Wanner <markus at bluegap.ch>
Date: Wed Jun 5 08:06:18 2013 +0200
Add pgversions and allow generation of debian/control based on it.
diff --git a/debian/changelog b/debian/changelog
index 6d5a4fd..c4e1a11 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -24,10 +24,11 @@ postgis (2.0.3-1) UNRELEASED; urgency=low
* Append the PostGIS version to postgresql-9.1-postgis, so multiple
versions of it can be co-installed. Required to keep systems working
after an upgrade.
- * Represent the fact that lwgeom isn't backward by renaming liblwgeom2
- to liblwgeom-2.0.3.
+ * Represent the fact that lwgeom isn't backward compatible by renaming
+ liblwgeom2 to liblwgeom-2.0.3.
* Add patch java-version-fix: Corrects java jdbc jar version.
* Policy updated to 3.9.4. No changes.
+ * Add pgversions and allow generation of debian/control based on it.
* Update debian/copyright a bit.
* Update and improve watchfile.
diff --git a/debian/control b/debian/control
index cac79f7..4c28137 100644
--- a/debian/control
+++ b/debian/control
@@ -9,7 +9,7 @@ Build-Depends: debhelper (>= 8), dpkg-dev (>= 1.16.1~), autotools-dev,
libproj-dev (>= 4.5.0), libssl-dev, xsltproc, docbook, docbook-xsl,
default-jdk, libpg-java, fastjar, libjts-java (>= 1.7), imagemagick,
libcunit1-dev, dblatex, libxml2-dev (>= 2.5.0~), libgtk2.0-dev,
- libgdal-dev (>= 1.6.0~), postgresql-server-dev-9.1
+ libgdal-dev (>= 1.6.0~), postgresql-server-dev-all
Build-Depends-Indep: libpostgresql-jdbc-java, libsurefire-java,
libmaven-clean-plugin-java, libmaven-compiler-plugin-java,
libmaven-jar-plugin-java, libmaven-resources-plugin-java, maven2
@@ -18,22 +18,6 @@ Homepage: http://postgis.refractions.net/
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-grass/postgis.git
Vcs-Git: git://anonscm.debian.org/pkg-grass/postgis.git
-Package: postgresql-9.1-postgis-2.0
-Depends: ${shlibs:Depends}, postgresql-9.1, postgis-scripts2.0.3,
- liblwgeom-2.0.3, ${misc:Depends}
-Recommends: postgis
-Breaks: postgis (<< 1.2.1)
-Architecture: any
-Description: Geographic objects support for PostgreSQL 9.1
- PostGIS adds support for geographic objects to the PostgreSQL
- object-relational database. In effect, PostGIS "spatially enables"
- the PostgreSQL server, allowing it to be used as a backend spatial
- database for geographic information systems (GIS), much like ESRI's
- SDE or Oracle's Spatial extension. PostGIS follows the OpenGIS
- "Simple Features Specification for SQL".
- .
- This package supports PostgreSQL 9.1.
-
Package: postgis
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
@@ -67,7 +51,7 @@ Package: postgis-scripts2.0.3
Architecture: all
Depends: ${misc:Depends}
Recommends: postgresql-9.1-postgis-2.0
-Description: Geographic objects support for PostgreSQL 9.1 -- scripts
+Description: Geographic objects support for PostgreSQL -- scripts
PostGIS adds support for geographic objects to the PostgreSQL
object-relational database. In effect, PostGIS "spatially enables"
the PostgreSQL server, allowing it to be used as a backend spatial
@@ -129,3 +113,20 @@ Description: PostGIS "Lightweight Geometry" library - Development files
geometry objects, constructors, destructors, and a set of spatial
processing functions, are implemented here. This package contains
the development files.
+
+Package: postgresql-9.1-postgis-2.0
+Depends: ${shlibs:Depends}, postgresql-9.1, postgis-scripts2.0.3,
+ liblwgeom-2.0.3, ${misc:Depends}
+Recommends: postgis
+Breaks: postgis (<< 1.2.1)
+Architecture: any
+Description: Geographic objects support for PostgreSQL 9.1
+ PostGIS adds support for geographic objects to the PostgreSQL
+ object-relational database. In effect, PostGIS "spatially enables"
+ the PostgreSQL server, allowing it to be used as a backend spatial
+ database for geographic information systems (GIS), much like ESRI's
+ SDE or Oracle's Spatial extension. PostGIS follows the OpenGIS
+ "Simple Features Specification for SQL".
+ .
+ This package supports PostgreSQL 9.1.
+
diff --git a/debian/control b/debian/control.in
similarity index 91%
copy from debian/control
copy to debian/control.in
index cac79f7..8aadf88 100644
--- a/debian/control
+++ b/debian/control.in
@@ -9,7 +9,7 @@ Build-Depends: debhelper (>= 8), dpkg-dev (>= 1.16.1~), autotools-dev,
libproj-dev (>= 4.5.0), libssl-dev, xsltproc, docbook, docbook-xsl,
default-jdk, libpg-java, fastjar, libjts-java (>= 1.7), imagemagick,
libcunit1-dev, dblatex, libxml2-dev (>= 2.5.0~), libgtk2.0-dev,
- libgdal-dev (>= 1.6.0~), postgresql-server-dev-9.1
+ libgdal-dev (>= 1.6.0~), postgresql-server-dev-all
Build-Depends-Indep: libpostgresql-jdbc-java, libsurefire-java,
libmaven-clean-plugin-java, libmaven-compiler-plugin-java,
libmaven-jar-plugin-java, libmaven-resources-plugin-java, maven2
@@ -18,13 +18,13 @@ Homepage: http://postgis.refractions.net/
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-grass/postgis.git
Vcs-Git: git://anonscm.debian.org/pkg-grass/postgis.git
-Package: postgresql-9.1-postgis-2.0
-Depends: ${shlibs:Depends}, postgresql-9.1, postgis-scripts2.0.3,
+Package: postgresql-PGVERSION-postgis-2.0
+Depends: ${shlibs:Depends}, postgresql-PGVERSION, postgis-scripts2.0.3,
liblwgeom-2.0.3, ${misc:Depends}
Recommends: postgis
Breaks: postgis (<< 1.2.1)
Architecture: any
-Description: Geographic objects support for PostgreSQL 9.1
+Description: Geographic objects support for PostgreSQL PGVERSION
PostGIS adds support for geographic objects to the PostgreSQL
object-relational database. In effect, PostGIS "spatially enables"
the PostgreSQL server, allowing it to be used as a backend spatial
@@ -32,12 +32,12 @@ Description: Geographic objects support for PostgreSQL 9.1
SDE or Oracle's Spatial extension. PostGIS follows the OpenGIS
"Simple Features Specification for SQL".
.
- This package supports PostgreSQL 9.1.
+ This package supports PostgreSQL PGVERSION.
Package: postgis
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
-Suggests: postgresql-9.1-postgis-2.0
+Suggests: postgresql-NEWEST_PGVERSION-postgis-2.0
Description: Geographic objects support for PostgreSQL
PostGIS adds support for geographic objects to the PostgreSQL
object-relational database. In effect, PostGIS "spatially enables"
@@ -66,8 +66,8 @@ Description: Geographic objects support for PostgreSQL -- documentation
Package: postgis-scripts2.0.3
Architecture: all
Depends: ${misc:Depends}
-Recommends: postgresql-9.1-postgis-2.0
-Description: Geographic objects support for PostgreSQL 9.1 -- scripts
+Recommends: postgresql-NEWEST_PGVERSION-postgis-2.0
+Description: Geographic objects support for PostgreSQL -- scripts
PostGIS adds support for geographic objects to the PostgreSQL
object-relational database. In effect, PostGIS "spatially enables"
the PostgreSQL server, allowing it to be used as a backend spatial
@@ -82,7 +82,7 @@ Package: libpostgis-java
Architecture: all
Section: java
Depends: libpostgresql-jdbc-java, ${misc:Depends}
-Suggests: postgresql-9.1-postgis-2.0
+Suggests: postgresql-NEWEST_PGVERSION-postgis-2.0
Breaks: libpostgis-jdbc, libpostgisjava, postgresql-postgis-java
Replaces: libpostgis-jdbc, libpostgisjava, postgresql-postgis-java
Description: Geographic objects support for PostgreSQL -- JDBC support
diff --git a/debian/pgversions b/debian/pgversions
new file mode 100644
index 0000000..1d15182
--- /dev/null
+++ b/debian/pgversions
@@ -0,0 +1,3 @@
+# Note that postgis-2.0 is not recommended for 8.4 and 9.0, works fine
+# with 9.1 and 9.2, but doesn't work with 9.3, yet.
+9.1
diff --git a/debian/rules b/debian/rules
index 0be8b9b..985be34 100755
--- a/debian/rules
+++ b/debian/rules
@@ -18,6 +18,25 @@ export DH_OPTIONS
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
+# Magic to automatically create a debian/control file for the (or all)
+# supported versions of Postgres.
+#
+# Blatantly copied from /usr/share/postgresql-common/pgxs_debian_control.mk
+# and extended to support NEWEST_VERSION.
+debian/control: debian/control.in debian/pgversions
+ (set -e; \
+ VERSIONS=`pg_buildext supported-versions $(CURDIR)` || exit $$?; \
+ NEWEST_VERSION=`pg_buildext supported-versions $(CURDIR) | tail -1` || exit $$?; \
+ grep-dctrl -vP PGVERSION $< | \
+ sed -e "s:NEWEST_PGVERSION:$$NEWEST_VERSION:" > $@.pgxs_tmp; \
+ for v in $$VERSIONS; \
+ do \
+ grep -q "^$$v" debian/pgversions \
+ && grep-dctrl -P PGVERSION $< \
+ | sed -e "s:PGVERSION:$$v:" >> $@.pgxs_tmp; \
+ done; \
+ mv $@.pgxs_tmp $@) || (rm -f $@.pgxs_tmp; exit 1)
+
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
@@ -29,11 +48,17 @@ MVN = mvn --offline -Dmaven.repo.local=/usr/share/maven-repo
MAJOR_VERSION = $(shell grep POSTGIS_MAJOR_VERSION Version.config|cut -d= -f2)
MINOR_VERSION = $(shell grep POSTGIS_MINOR_VERSION Version.config|cut -d= -f2)
MICRO_VERSION = $(shell grep POSTGIS_MICRO_VERSION Version.config|cut -d= -f2)
-VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)
-ifeq ($(VERSION),..)
+POSTGIS_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION)
+ifeq ($(POSTGIS_VERSION),..)
$(error Cannot detect Postgis version, fix debian/rules)
endif
+# For plain Debian, we support only exactly one version at a time.
+NEWEST_POSTGRES_VERSION = $(shell pg_buildext supported-versions $(CURDIR)|tail -1)
+ifeq ($(NEWEST_POSTGRES_VERSION),)
+$(error Cannot detect Postgres version, check debian/pgversions and pg_buildext)
+endif
+
build: build-arch build-indep
build-arch: build-arch-stamp
@@ -70,23 +95,22 @@ configuration-stamp:
# Documentation and common files for PostGIS
[ ! -f doc/html/postgis.html.prev -a -f doc/html/postgis.html ] && cp doc/html/postgis.html doc/html/postgis.html.prev || true
-# PostGIS for PostgreSQL 9.1
+# PostGIS for the most recent PostgreSQL version
./configure \
--host=$(DEB_HOST_GNU_TYPE) \
--build=$(DEB_BUILD_GNU_TYPE) \
--prefix=/usr \
--exec-prefix=\$${prefix} \
- --datadir=\$${prefix}/share/postgresql-9.1-postgis \
+ --datadir=\$${prefix}/share/postgresql-$(NEWEST_POSTGRES_VERSION)-postgis \
--docdir=\$${prefix}/share/doc \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
- --with-pgconfig=/usr/lib/postgresql/9.1/bin/pg_config \
+ --with-pgconfig=/usr/lib/postgresql/$(NEWEST_POSTGRES_VERSION)/bin/pg_config \
--with-gui
touch $@
-
-clean:
+clean:
dh_testdir
dh_testroot
rm -f raster/rt_pg/rtpostgis_drop.sql raster/rt_pg/rtpostgis_upgrade_cleanup.sql postgis/postgis_upgrade_20_minor.sql.in
@@ -97,7 +121,7 @@ clean:
rm -f $(CURDIR)/debian/*.postinst $(CURDIR)/debian/*.postrm
rm -f postgis/postgis_upgrade_20_minor.sql.in raster/rt_pg/rtpostgis_drop.sql \
raster/rt_pg/rtpostgis_upgrade_cleanup.sql
- dh_clean
+ dh_clean
install: install-indep install-arch
install-indep: build-indep
@@ -113,17 +137,17 @@ install-indep: build-indep
# Move all SQL files to /usr/share/postgis - the original location's
# files will get replaced with symlinks.
- mkdir -p $(CURDIR)/debian/tmp/usr/share/postgis/$(VERSION)/sql
+ mkdir -p $(CURDIR)/debian/tmp/usr/share/postgis/$(POSTGIS_VERSION)/sql
set -e; \
- for FILE in $(CURDIR)/debian/tmp/usr/share/postgresql/9.1/extension/*.sql; do \
- mv $$FILE $(CURDIR)/debian/tmp/usr/share/postgis/$(VERSION)/sql/; \
+ for FILE in $(CURDIR)/debian/tmp/usr/share/postgresql/$(NEWEST_POSTGRES_VERSION)/extension/*.sql; do \
+ mv $$FILE $(CURDIR)/debian/tmp/usr/share/postgis/$(POSTGIS_VERSION)/sql/; \
done
dh_install -i
# Link the resulting JAR file, so it's available via it's old
# name. (Even if postgis-jdbc.jar might be more appropriate.)
- ln -sf postgis-jdbc-$(VERSION).jar \
+ ln -sf postgis-jdbc-$(POSTGIS_VERSION).jar \
$(CURDIR)/debian/libpostgis-java/usr/share/java/postgis.jar
install-arch: build-arch
@@ -141,9 +165,9 @@ install-arch: build-arch
# Link from the default postgresql extension directory back to the
# share postgis one, where postgis-scripts provides SQL scripts.
set -e; \
- for FILE in $(CURDIR)/debian/tmp/usr/share/postgresql/9.1/extension/*.sql; do \
+ for FILE in $(CURDIR)/debian/tmp/usr/share/postgresql/$(NEWEST_POSTGRES_VERSION)/extension/*.sql; do \
BASENAME=$$(basename $$FILE); \
- ln -sf /usr/share/postgis/$(VERSION)/sql/$$BASENAME $$FILE; \
+ ln -sf /usr/share/postgis/$(POSTGIS_VERSION)/sql/$$BASENAME $$FILE; \
done
dh_install -s
--
PostGIS for PostgreSQL
More information about the Pkg-grass-devel
mailing list