summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorAaron Swenson <titanofold@gentoo.org>2011-05-01 17:33:49 +0000
committerAaron Swenson <titanofold@gentoo.org>2011-05-01 17:33:49 +0000
commit017ea198a74d180cb9abf5dc5bc045b9c4f14990 (patch)
tree9185cd342d7b6d69988d1aa510a054b7da65381f /dev-db
parentAdd ~arm (diff)
downloadhistorical-017ea198a74d180cb9abf5dc5bc045b9c4f14990.tar.gz
historical-017ea198a74d180cb9abf5dc5bc045b9c4f14990.tar.bz2
historical-017ea198a74d180cb9abf5dc5bc045b9c4f14990.zip
Fixes bug 273960, 285082, 296172, 314243, 325113 and 339312
Package-Manager: portage-2.1.9.42/cvs/Linux i686
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/postgis/ChangeLog8
-rw-r--r--dev-db/postgis/Manifest14
-rw-r--r--dev-db/postgis/files/postgis_dbs49
-rw-r--r--dev-db/postgis/metadata.xml15
-rw-r--r--dev-db/postgis/postgis-1.5.2-r1.ebuild257
5 files changed, 328 insertions, 15 deletions
diff --git a/dev-db/postgis/ChangeLog b/dev-db/postgis/ChangeLog
index 88a87f766f8f..07ec01e4f102 100644
--- a/dev-db/postgis/ChangeLog
+++ b/dev-db/postgis/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-db/postgis
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/ChangeLog,v 1.47 2011/03/07 13:22:00 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/ChangeLog,v 1.48 2011/05/01 17:33:49 titanofold Exp $
+
+*postgis-1.5.2-r1 (01 May 2011)
+
+ 01 May 2011; Aaron W. Swenson <titanofold@gentoo.org>
+ +postgis-1.5.2-r1.ebuild, +files/postgis_dbs, metadata.xml:
+ Fixes bug 273960, 285082, 296172, 314243, 325113 and 339312
07 Mar 2011; Justin Lecher <jlec@gentoo.org> postgis-1.5.0.ebuild,
postgis-1.5.0-r1.ebuild, postgis-1.5.2.ebuild:
diff --git a/dev-db/postgis/Manifest b/dev-db/postgis/Manifest
index 5e2b9006ce7e..b158b29aeec9 100644
--- a/dev-db/postgis/Manifest
+++ b/dev-db/postgis/Manifest
@@ -1,7 +1,8 @@
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
+Hash: SHA256
AUX postgis-1.1.1_doc.patch 711 RMD160 182a5127d83b18b48c5b013b63427d485f770e36 SHA1 00ad7282712c851fc38c852a8d21a70c5ab2b969 SHA256 4c0b50b26bc22e09d60ac14ad4639880e1fca7c92eb55929d6dc10c0ec4ce691
+AUX postgis_dbs 2096 RMD160 64b66e99aed34fb8e9523505851962a547bd41d0 SHA1 68565ab29a22ec08c7a2271f2219d653e11ca393 SHA256 dafde4a1d1d95e18facb3287baddab3c1c116933498c310438c91dbd736833ec
AUX postgis_xsl.patch 1058 RMD160 052a9578b27edbded5f7885de5efa3595b4c7ac1 SHA1 23e73c1f5eec58e781ba110d04d12bef4093bcee SHA256 ed309baa8aa7e9f10f1006c954f75aa9a4898c820ae46b76d5389c618fb7c08d
DIST postgis-1.3.1.tar.gz 2148125 RMD160 f199505dc04bd2caa0400c9235bbf1aecfe14b6f SHA1 db8e954dfc19e73c2331358a396e2064d1333a72 SHA256 5ce999ae638c1c9f75a7cf85d416eac71cc2d6f668132c2b6a3ae6a12075555c
DIST postgis-1.3.6.tar.gz 2227317 RMD160 1f1797c8063b40653707be404bdebdc2573bbfea SHA1 1d4c34a31994b75ef79cf139543fc80fe0bd4438 SHA256 d3b04d4a3439596a1f6368b0627f21762347cef1e0694d5471ef17c6a3b7d144
@@ -13,13 +14,14 @@ EBUILD postgis-1.3.6-r1.ebuild 5586 RMD160 d824f89bac4d74bdb2a526ae25ae3ae730c48
EBUILD postgis-1.4.0.ebuild 5535 RMD160 d88ae3b22c6d56650e8473c33e944121da8e7e14 SHA1 0375209a5e716347818bc9da3300396c91ea4762 SHA256 f1d5082611460dd01e026d79e1e0ba7faa9554a17d1ed9cf4355af9a1a46ac28
EBUILD postgis-1.5.0-r1.ebuild 5949 RMD160 616de40fc630f742ce04c2f1d699369c7b7e368c SHA1 2e2242f20ad26b136927af98da14fd2d0c75262a SHA256 a958f14851095d90bd00dab8775ebb5de2a63377ec0fa134b7c8b122a4cbd341
EBUILD postgis-1.5.0.ebuild 5554 RMD160 009a41a7162c935c7d321e5fb6d2a21d9b066270 SHA1 77c9bf519d40c0e497b9a8a28fbf337d070584fb SHA256 a3a6f2baa1c8deb9c8cc7dd91523e70ff48895e46ce748c521dc227afff8b023
+EBUILD postgis-1.5.2-r1.ebuild 7076 RMD160 cb0e7578f8c6eafdb9607982188f3b8e4591042f SHA1 a5d0a4b5415738ad81ee3cf5a6b857e7ab518a94 SHA256 e876c2cfd86d20961d2ccb5f2cc8b2e1053964ab37c3c3a67a32856023b4ad26
EBUILD postgis-1.5.2.ebuild 5946 RMD160 5aa7c66101ba5faf4e309860fd56fb87e2709967 SHA1 b21b24835cce9a8dc7059dca551d161c098089e9 SHA256 3f9fef73adce04ee5f4582cb5c404da482b549230024a4326798b15fd42bbbae
-MISC ChangeLog 6392 RMD160 cdda3b9d3f77863232f3b4d0b3eee4c99a7d18dd SHA1 67d0e81b41afaf3838e78ec11a68f3c3f78f3cad SHA256 baee3f6b63811a7db17cd648bf3056afd3819267b990824eaab6c12167968f4f
-MISC metadata.xml 403 RMD160 5fbeb16f0092761ac18838b12324116f2e6b916a SHA1 126e862a730f1bc58923a92b19ae81bb29fe6f99 SHA256 7cfb1f265694d5c7614ab20a0f456a251d361a95f8dea002e686e0df62038cfc
+MISC ChangeLog 6612 RMD160 7712d2f4e2a007cd06e9a9eb017ed7c5fc51bc5c SHA1 21711cfc0ca2a5df2bf077304ee05a5db280563f SHA256 776096a815b58e4105549b0ecaa421b75d32ff1f3f7898bcb8fa96c2615210b4
+MISC metadata.xml 481 RMD160 09ed331d86c1d68797aaf8a4912539f08f91cbb6 SHA1 a45afb667212035b630d417d2fc9632d99bbd62a SHA256 d0ab8dbe26001259f36c968e1d48ad5fda768227d99319cf4302af804a08d5ef
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
-iEYEARECAAYFAk103AAACgkQgAnW8HDreRajuQCeOnQPcj7fHnUCRA7rqSpG2ndx
-8ckAn1UQJdecslYynB/5zKaFRC7hUTPY
-=oczD
+iF4EAREIAAYFAk29mYsACgkQCOhwUhu5AElanwEAk92+sWBjWAkDDo4QbL9u1yw0
+Z5EFAQn2KwJmrFiuYukA/0hTxcvHuJk5FmmCH+d4wbn5yqj1Xrmxv7cuxZ+5tHq3
+=ny2J
-----END PGP SIGNATURE-----
diff --git a/dev-db/postgis/files/postgis_dbs b/dev-db/postgis/files/postgis_dbs
new file mode 100644
index 000000000000..8a414157f6c6
--- /dev/null
+++ b/dev-db/postgis/files/postgis_dbs
@@ -0,0 +1,49 @@
+# This file is used by 'emerge --config dev-db/postgis' to determine which
+# databases it should install to, upgrade or create as a template.
+
+# Unlike the previous versions of the PostGIS ebuilds, it no longer creates any
+# databases except for templates. All databases you list must already exist in
+# the cluster.
+
+# The user to perform the updates as. This user must have the privileges to
+# modify all of the databases you list here.
+pguser="postgres"
+
+# By default, no databases will have PostGIS enabled. The databases listed here
+# must already exist. The databases you list here must not already be PostGIS
+# enabled. Instead, use the upgrade lists further down.
+#databases=( "your" "databases" )
+
+# Anything you place in this list will create a database and make it a template.
+# It will be PostGIS-enabled. To add additional features, add the template names
+# to the following lists.
+#templates=( "template_postgis" )
+
+# The PostGIS enabled templates will be created using this template.
+from_template="template1"
+
+# For a complete set of EPSG coordinate system definition identifiers, you can
+# also load the spatial_ref_sys.sql definitions file and populate the
+# spatial_ref_sys table. This will permit you to perform ST_Transform()
+# operations on geometries.
+#epsg_databases=( "enable" "epsg" "on" "these" "databases" )
+
+# Add comments to PostGIS functions to the databases in this list.
+#comment_databases=( "comments" "on" "these" "databases" )
+
+# Any databases you have that are already PostGIS enabled can be listed among
+# the following list to perform a soft upgrade. If the soft upgrade fails,
+# you'll need to do a hard upgrade.
+# http://postgis.refractions.net/documentation/manual-1.5/ch02.html#hard_upgrade
+
+# Upgrade from PostGIS 1.3 to 1.5
+#upgrade_from_1_3=( "upgrade" "these" "databases" )
+
+# Upgrade from PostGIS 1.4 to 1.5
+#upgrade_from_1_4=( "upgrade" "these" "databases" )
+
+# Perform a minor upgrade for PostGIS 1.5
+#upgrade_from_1_5=( "upgrade" "these" "databases" )
+
+# Uncomment this once you're satisfied with the settings in this file.
+#configured="true"
diff --git a/dev-db/postgis/metadata.xml b/dev-db/postgis/metadata.xml
index b35a2ad12376..c880af2cdcd8 100644
--- a/dev-db/postgis/metadata.xml
+++ b/dev-db/postgis/metadata.xml
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>postgresql</herd>
-<herd>sci-geosciences</herd>
-<use>
- <flag name='geos'>Add the <pkg>sci-libs/geos</pkg> library for exact
- topological tests</flag>
- <flag name='proj'>Add the <pkg>sci-libs/proj</pkg> library for reprojection
- features</flag>
-</use>
+ <herd>postgresql</herd>
+ <herd>sci-geosciences</herd>
+ <use>
+ <flag name='geos'>Add the <pkg>sci-libs/geos</pkg> library for exact topological tests</flag>
+ <flag name='proj'>Add the <pkg>sci-libs/proj</pkg> library for reprojection features</flag>
+ <flag name="gtk">Build shp2pgsql-gui a graphical interface to shp2pgsql</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-db/postgis/postgis-1.5.2-r1.ebuild b/dev-db/postgis/postgis-1.5.2-r1.ebuild
new file mode 100644
index 000000000000..891e64d6b0b2
--- /dev/null
+++ b/dev-db/postgis/postgis-1.5.2-r1.ebuild
@@ -0,0 +1,257 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/postgis-1.5.2-r1.ebuild,v 1.1 2011/05/01 17:33:49 titanofold Exp $
+
+EAPI="4"
+
+inherit eutils versionator
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="http://postgis.refractions.net"
+SRC_URI="http://postgis.refractions.net/download/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc gtk"
+
+RDEPEND="
+ || (
+ dev-db/postgresql-server:9.0
+ dev-db/postgresql-server:8.4
+ dev-db/postgresql-server:8.3
+ dev-db/postgresql-server:9.1
+ )
+ dev-libs/libxml2:2
+ >=sci-libs/geos-3.2
+ >=sci-libs/proj-4.6.0
+ gtk? ( x11-libs/gtk+:2 )
+"
+
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.3
+ dev-libs/libxslt
+ || (
+ media-gfx/imagemagick
+ media-gfx/graphicsmagick[imagemagick]
+ )
+ )
+"
+
+RESTRICT="test"
+
+PGIS="$(get_version_component_range 1-2)"
+PGSLOT="$(postgresql-config show)"
+
+pkg_pretend() {
+ if [[ ${PGSLOT//.} < 83 ]] ; then
+ eerror "You must build ${CATEGORY}/${PN} against PostgreSQL 8.3 or higher."
+ eerror "Set an appropriate slot with postgresql-config."
+ die "postgresql-config not set to 8.3 or higher."
+ fi
+
+ if [[ ${PGSLOT//.} > 90 ]] ; then
+ ewarn "You are building ${CATEGORY}/${PN} against a version of PostgreSQL greater than 9.0."
+ ewarn "This is neither supported here nor upstream."
+ ewarn "However, all indicators show that this should work."
+ ewarn "Any bugs you encounter should be reported upstream."
+ fi
+}
+
+src_configure() {
+ # Configure interprets --without-gui as being the same as --with-gui
+ if use gtk ; then
+ econf --with-gui
+ else
+ econf
+ fi
+}
+
+src_compile() {
+ # Occasionally, builds fail because of out of order compilation.
+ # Otherwise, it'd be fine.
+ emake -j1
+ cd topology/
+ emake -j1
+
+ if use doc ; then
+ cd "${S}"
+ emake -j1 docs
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ cd "${S}/topology/"
+ emake DESTDIR="${D}" install
+
+ cd "${S}"
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+ dobin ./utils/postgis_restore.pl
+
+ if use doc; then
+ emake DESTDIR="${D}" docs-install
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}/postgis_dbs"
+
+ insinto /usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}/
+ doins "${S}/doc/postgis_comments.sql"
+}
+
+pkg_postinst() {
+ postgresql-config update
+
+ elog "To finish installing or updating PostGIS edit:"
+ elog " ${EROOT%/}/etc/postgis_dbs"
+ elog
+ elog "Then, run:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+}
+
+pkg_config(){
+ source "${EROOT%/}/etc/conf.d/postgresql-${PGSLOT}"
+ source "${EROOT%/}/etc/postgis_dbs"
+ local postgis_path="${EROOT%/}/usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}"
+
+ if [[ -n ${configured} ]] ; then
+ einfon "Password for PostgreSQL user '${pguser}': "
+ read -s PGPASSWORD
+ export PGPASSWORD
+ echo
+
+ # The server we work with must be the same slot we built against.
+ local server_version
+ server_version=$(psql -U ${pguser} -d postgres -p ${PGPORT} \
+ -Aqwtc 'SELECT version()' 2> /dev/null)
+ if [[ $? = 0 ]] ; then
+ server_version=$(echo ${server_version} | cut -d " " -f 2 | \
+ cut -d "." -f -2 | tr -d .)
+ if [[ $server_version != ${PGSLOT//.} ]] ; then
+ unset PGPASSWORD
+ eerror "Server version must be ${PGSLOT}.x"
+ die "Server version isn't ${PGSLOT}.x"
+ fi
+ else
+ unset PGPASSWORD
+ eerror "Is the server running?"
+ die "Couldn't connect to server."
+ fi
+
+ local retval
+ safe_exit() {
+ unset PGPASSWORD
+ sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
+ eend $retval
+ eerror "All actions could not be performed."
+ eerror "Read above to see what failed."
+ eerror "Once you fix the issue, you'll need to edit:"
+ eerror " ${EROOT%/}/etc/postgis_dbs"
+ eerror "As some things may have succeeded."
+ eerror
+ die "All actions could not be performed"
+ }
+
+ local db
+ for db in ${databases[@]} ; do
+ ebegin "Performing CREATE LANGUAGE on ${db}"
+ createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
+ retval=$?
+ # In this case, only error code 1 is fatal
+ [[ $retval == 1 ]] && safe_exit || eend 0
+
+ ebegin "Enabling PostGIS on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${templates[@]} ; do
+ ebegin "Creating template database '${db}'"
+ createdb -p ${PGPORT} -U ${pguser} -O ${pguser} -T ${from_template} \
+ ${db} "PostGIS Template"
+ retval=$?
+ [[ $retval != 0 ]] && safe_exit
+
+ psql -q -U ${pguser} -p ${PGPORT} -c \
+ "UPDATE pg_database \
+ SET datistemplate = TRUE, datallowconn = TRUE \
+ WHERE datname = '${db}'"
+ retval=$?
+ [[ $retval != 0 ]] && safe_exit
+
+ createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
+ retval=$?
+ # In this case, only error code 1 is fatal
+ [[ $retval == 1 ]] && safe_exit
+
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${espg_databases[@]} ; do
+ ebegin "Adding ESPG to ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/spatial_ref_sys.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${comment_databases[@]} ; do
+ ebegin "Adding comments on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_comments.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${upgrade_from_1_3[@]} ; do
+ ebegin "Upgrading from PostGIS 1.3 to ${PGIS} on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_upgrade_13_to_${PGIS//.}.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${upgrade_from_1_4[@]} ; do
+ ebegin "Upgrading from PostGIS 1.4 to ${PGIS} on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_upgrade_14_to_${PGIS//.}.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${upgrade_from_1_5[@]} ; do
+ ebegin "Minor upgrade for PostGIS ${PGIS} on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_upgrade_${PGIS//.}_minor.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ # Clean up and make it so the user has to edit postgis_dbs again that
+ # way this script won't step on any toes due to user error.
+ unset PGPASSWORD
+ sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
+ einfo "PostgreSQL ${PGSLOT} is now PostGIS enabled."
+ einfo
+ einfo "To enable other databases, change the default slot:"
+ einfo " postgresql-config set <slot>"
+ einfo "Then, emerge this package again:"
+ einfo " emerge -av =${CATEGORY}/${PF}"
+ else
+ eerror "You must edit:"
+ eerror " ${EROOT%/}/etc/postgis_dbs"
+ eerror "Before running 'emerge --config =${CATEGORY}/${PF}'"
+ eerror
+ die "Edit postgis_dbs"
+ fi
+}