summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-db/postgis/ChangeLog6
-rw-r--r--dev-db/postgis/postgis-1.3.6-r2.ebuild207
-rw-r--r--dev-db/postgis/postgis-1.4.2-r2.ebuild255
-rw-r--r--dev-db/postgis/postgis-1.5.8.ebuild253
4 files changed, 5 insertions, 716 deletions
diff --git a/dev-db/postgis/ChangeLog b/dev-db/postgis/ChangeLog
index ca889b29d986..60316cdc13e8 100644
--- a/dev-db/postgis/ChangeLog
+++ b/dev-db/postgis/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-db/postgis
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/ChangeLog,v 1.89 2014/05/14 17:07:30 tomwij Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/ChangeLog,v 1.90 2014/07/26 01:18:21 patrick Exp $
+
+ 26 Jul 2014; Patrick Lauer <patrick@gentoo.org> -postgis-1.3.6-r2.ebuild,
+ -postgis-1.4.2-r2.ebuild, -postgis-1.5.8.ebuild:
+ Remove old
14 May 2014; Tom Wijsman <TomWij@gentoo.org> postgis-1.3.6-r2.ebuild:
[QA] EAPI 1 -> 5.
diff --git a/dev-db/postgis/postgis-1.3.6-r2.ebuild b/dev-db/postgis/postgis-1.3.6-r2.ebuild
deleted file mode 100644
index 079d294e431c..000000000000
--- a/dev-db/postgis/postgis-1.3.6-r2.ebuild
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/postgis-1.3.6-r2.ebuild,v 1.2 2014/05/14 17:07:30 tomwij Exp $
-
-EAPI="5"
-
-inherit eutils multilib versionator
-
-DESCRIPTION="Geographic Objects for PostgreSQL"
-HOMEPAGE="http://postgis.net"
-SRC_URI="http://download.osgeo.org/postgis/source/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="geos proj doc"
-
-RDEPEND=" || (
- dev-db/postgresql-server:8.4
- dev-db/postgresql-server:8.3
- dev-db/postgresql-server:8.2
- dev-db/postgresql-server:8.1
- dev-db/postgresql-server:8.0
- )
- geos? ( sci-libs/geos )
- proj? ( sci-libs/proj )"
-
-DEPEND="${RDEPEND}
- doc? ( app-text/docbook-xsl-stylesheets )"
-
-RESTRICT="test"
-
-pkg_setup(){
- export PGSLOT="$(postgresql-config show)"
-
- if [[ ${PGSLOT//.} < 71 || ${PGSLOT//.} > 84 ]] ; then
- eerror "You must build ${CATEGORY}/${P} against PostgreSQL 7.1 - 8.4."
- eerror "Set an appropriate slot with postgresql-config."
- die 'Select a PostgreSQL slot between 8.4 and 9.2'
- fi
-
- if [ ! -z "${PGUSER}" ]; then
- eval unset PGUSER
- fi
- if [ ! -z "${PGDATABASE}" ]; then
- eval unset PGDATABASE
- fi
- local tmp
- tmp="$(portageq match / ${CATEGORY}/${PN} | cut -d'.' -f2)"
- if [ "${tmp}" != "$(get_version_component_range 2)" ]; then
- elog "You must soft upgrade your existing postgis enabled databases"
- elog "by adding their names in the ${ROOT}conf.d/postgis_dbs file"
- elog "then using 'emerge --config postgis'."
- require_soft_upgrade="1"
- ebeep 2
- fi
-}
-
-src_configure(){
- local myconf
- if use geos; then
- myconf="--with-geos"
- fi
-
- if use doc; then
- myconf="${myconf} --with-xsl=$(ls "${ROOT}"usr/share/sgml/docbook/* | \
- grep xsl\- | cut -d':' -f1)"
- fi
-
- econf --enable-autoconf \
- --datadir=/usr/share/postgresql/contrib/ \
- --libdir=/usr/$(get_libdir)/postgresql/ \
- --with-docdir=/usr/share/doc/${PF}/html/ \
- ${myconf} \
- $(use_with proj)
-}
-
-src_compile(){
- emake
-
- cd topology/
- emake
-
- if use doc ; then
- cd "${S}"
- emake docs
- fi
-}
-
-src_install(){
- dodir /usr/$(get_libdir)/postgresql /usr/share/postgresql/contrib/
- default
- cd "${S}/topology/"
- default
-
- cd "${S}"
- dodoc CREDITS TODO loader/README.* doc/*txt
-
- docinto topology
- dodoc topology/{TODO,README}
- dobin ./utils/postgis_restore.pl
-
- cd "${S}"
- if use doc; then
- emake DESTDIR="${D}" docs-install || die "emake install docs failed"
- fi
-
- echo "template_gis" > postgis_dbs
- doconfd postgis_dbs
-
- if [ ! -z "${require_soft_upgrade}" ]; then
- grep "'C'" -B 4 "${D}"usr/share/postgresql/contrib/lwpostgis.sql | \
- grep -v "'sql'" > \
- "${D}"usr/share/postgresql/contrib/load_before_upgrade.sql
- fi
-}
-
-pkg_postinst() {
- elog "To create new (upgrade) spatial databases add their names in the"
- elog "${ROOT}conf.d/postgis_dbs file, then use 'emerge --config postgis'."
-}
-
-pkg_config(){
- einfo "Create or upgrade a spatial templates and databases."
- einfo "Please add your databases names into ${ROOT}conf.d/postgis_dbs"
- einfo "(templates name have to be prefixed with 'template')."
- for i in $(cat "${ROOT}etc/conf.d/postgis_dbs"); do
- source "${ROOT}"etc/conf.d/postgresql
- PGDATABASE=${i}
- eval set PGDATABASE=${i}
- myuser="${PGUSER:-postgres}"
- mydb="${PGDATABASE:-template_gis}"
- eval set PGUSER=${myuser}
-
- is_template=false
- if [ "${mydb:0:8}" == "template" ];then
- is_template=true
- mytype="template database"
- else
- mytype="database"
- fi
-
- einfo
- einfo "Using the user ${myuser} and the ${mydb} ${mytype}."
-
- logfile=$(mktemp "${ROOT}tmp/error.log.XXXXXX")
- safe_exit(){
- eerror "Removing created ${mydb} ${mytype}"
- dropdb -q -U "${myuser}" "${mydb}" ||\
- (eerror "${1}"
- die "Removing old db failed, you must do it manually")
- eerror "Please read ${logfile} for more information."
- die "${1}"
- }
-
- # if there is not a table or a template existing with the same name, create.
- if [ -z "$(psql -U ${myuser} -l | grep "${mydb}")" ]; then
- createdb -q -O ${myuser} -U ${myuser} ${mydb} ||\
- die "Unable to create the ${mydb} ${mytype} as ${myuser}"
- createlang -U ${myuser} plpgsql ${mydb}
- if [ "$?" == 2 ]; then
- safe_exit "Unable to createlang plpgsql ${mydb}."
- fi
- (psql -q -U ${myuser} ${mydb} -f \
- "${ROOT}"usr/share/postgresql/contrib/lwpostgis.sql &&
- psql -q -U ${myuser} ${mydb} -f \
- "${ROOT}"usr/share/postgresql/contrib/spatial_ref_sys.sql) 2>\
- "${logfile}"
- if [ "$(grep -c ERROR "${logfile}")" \> 0 ]; then
- safe_exit "Unable to load sql files."
- fi
- if ${is_template}; then
- psql -q -U ${myuser} ${mydb} -c \
- "UPDATE pg_database SET datistemplate = TRUE
- WHERE datname = '${mydb}';
- GRANT ALL ON table spatial_ref_sys, geometry_columns TO PUBLIC;" \
- || die "Unable to create ${mydb}"
- psql -q -U ${myuser} ${mydb} -c \
- "VACUUM FREEZE;" || die "Unable to set VACUUM FREEZE option"
- fi
- else
- if [ -e "${ROOT}"usr/share/postgresql/contrib/load_before_upgrade.sql ];
- then
- einfo "Updating the dynamic library references"
- psql -q -f \
- "${ROOT}"usr/share/postgresql/contrib/load_before_upgrade.sql\
- 2> "${logfile}"
- if [ "$(grep -c ERROR "${logfile}")" \> 0 ]; then
- safe_exit "Unable to update references."
- fi
- fi
- if [ -e "${ROOT}"usr/share/postgresql/contrib/lwpostgis_upgrade.sql ];
- then
- einfo "Running soft upgrade"
- psql -q -U ${myuser} ${mydb} -f \
- "${ROOT}"usr/share/postgresql/contrib/lwpostgis_upgrade.sql 2>\
- "${logfile}"
- if [ "$(grep -c ERROR "${logfile}")" \> 0 ]; then
- safe_exit "Unable to run soft upgrade."
- fi
- fi
- fi
- if ${is_template}; then
- einfo "You can now create a spatial database using :"
- einfo "'createdb -T ${mydb} test'"
- fi
- done
-}
diff --git a/dev-db/postgis/postgis-1.4.2-r2.ebuild b/dev-db/postgis/postgis-1.4.2-r2.ebuild
deleted file mode 100644
index 60d23f2b0c3f..000000000000
--- a/dev-db/postgis/postgis-1.4.2-r2.ebuild
+++ /dev/null
@@ -1,255 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/postgis-1.4.2-r2.ebuild,v 1.1 2013/01/30 14:46:58 titanofold Exp $
-
-EAPI="4"
-
-inherit eutils versionator
-
-DESCRIPTION="Geographic Objects for PostgreSQL"
-HOMEPAGE="http://postgis.net"
-SRC_URI="http://download.osgeo.org/postgis/source/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="doc gtk"
-
-RDEPEND="
- || (
- dev-db/postgresql-server:8.4
- dev-db/postgresql-server:8.3
- dev-db/postgresql-server:8.2
- )
- >=sci-libs/geos-3.1
- >=sci-libs/proj-4.5.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[png]
- media-gfx/graphicsmagick[imagemagick,png]
- )
- )
-"
-
-RESTRICT="test"
-
-PGIS="$(get_version_component_range 1-2)"
-
-# not parallel safe
-MAKEOPTS+=" -j1"
-
-pkg_setup() {
- export PGSLOT="$(postgresql-config show)"
-
- if [[ ${PGSLOT//.} < 82 || ${PGSLOT//.} > 84 ]] ; then
- eerror "You must build ${CATEGORY}/${P} against PostgreSQL 8.2 - 8.4."
- eerror "Set an appropriate slot with postgresql-config."
- die 'Select a PostgreSQL slot between 8.2 and 8.4'
- fi
-}
-
-src_configure() {
- # Configure interprets --without-gui as being the same as --with-gui
- local myargs=""
- use gtk && myargs+=" --with-gui"
- econf \
- ${myargs}
-}
-
-src_compile() {
- # Occasionally, builds fail because of out of order compilation.
- # Otherwise, it'd be fine.
- emake
- cd topology/
- emake
-
- if use doc ; then
- cd "${S}/doc/"
- emake
- fi
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- cd 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
- cd doc/html
- dohtml -r *
- fi
-
- insinto /usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}/
- doins postgis_comments.sql
-
- insinto /etc
- doins "${FILESDIR}/postgis_dbs-${PGIS}"
-
- cd "${S}/doc"
- doman man/*
-}
-
-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-${PGIS}"
- 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
- else
- eerror "You must edit:"
- eerror " ${EROOT%/}/etc/postgis_dbs"
- eerror "Before running 'emerge --config =${CATEGORY}/${PF}'"
- eerror
- die "Edit postgis_dbs"
- fi
-
- # 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 ${epsg_databases[@]} ; do
- ebegin "Adding EPSG 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_2[@]} ; do
- ebegin "Upgrading from PostGIS 1.2 to ${PGIS} on ${db}"
- psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
- -f "${postgis_path}/postgis_upgrade_12_to_${PGIS//.}.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 "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}"
-}
diff --git a/dev-db/postgis/postgis-1.5.8.ebuild b/dev-db/postgis/postgis-1.5.8.ebuild
deleted file mode 100644
index b8cbd2ed68e9..000000000000
--- a/dev-db/postgis/postgis-1.5.8.ebuild
+++ /dev/null
@@ -1,253 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/postgis-1.5.8.ebuild,v 1.2 2013/02/16 21:01:38 swegener Exp $
-
-EAPI="4"
-
-inherit eutils versionator
-
-DESCRIPTION="Geographic Objects for PostgreSQL"
-HOMEPAGE="http://postgis.net"
-SRC_URI="http://download.osgeo.org/postgis/source/${P}.tar.gz"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="doc gtk"
-
-RDEPEND="
- || (
- dev-db/postgresql-server:9.2
- dev-db/postgresql-server:9.1
- dev-db/postgresql-server:9.0
- dev-db/postgresql-server:8.4
- dev-db/postgresql-server:8.3
- )
- 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)"
-
-# not parallel safe
-MAKEOPTS+=" -j1"
-
-pkg_setup() {
- export PGSLOT="$(postgresql-config show)"
-
- if [[ ${PGSLOT//.} < 83 || ${PGSLOT//.} > 92 ]] ; then
- eerror "You must build ${CATEGORY}/${P} against PostgreSQL 8.3 - 9.2."
- eerror "Set an appropriate slot with postgresql-config."
- die 'Select a PostgreSQL slot between 8.3 and 9.2'
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-${PGIS}-ldflags.patch"
-}
-
-src_configure() {
- local myargs=""
- use gtk && myargs+=" --with-gui"
- econf ${myargs}
-}
-
-src_compile() {
- # Occasionally, builds fail because of out of order compilation.
- # Otherwise, it'd be fine.
- emake
- emake -C topology
- use doc && emake -C doc
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- emake -C topology 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
- cd doc/html
- dohtml -r *
- fi
-
- insinto /etc
- doins "${FILESDIR}/postgis_dbs"
-
- cd "${S}/doc"
- doman man/*
- insinto /usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}/
- doins 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
- else
- eerror "You must edit:"
- eerror " ${EROOT%/}/etc/postgis_dbs"
- eerror "Before running 'emerge --config =${CATEGORY}/${PF}'"
- eerror
- die "Edit postgis_dbs"
- fi
-
- # 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 ${epsg_databases[@]} ; do
- ebegin "Adding EPSG 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}"
-}