diff options
Diffstat (limited to 'dev-db')
-rw-r--r-- | dev-db/postgis/Manifest | 5 | ||||
-rw-r--r-- | dev-db/postgis/postgis-2.1.0.ebuild | 293 | ||||
-rw-r--r-- | dev-db/postgis/postgis-2.1.4.ebuild | 291 | ||||
-rw-r--r-- | dev-db/postgis/postgis-2.1.5.ebuild | 291 | ||||
-rw-r--r-- | dev-db/postgis/postgis-2.1.6.ebuild | 287 | ||||
-rw-r--r-- | dev-db/postgis/postgis-2.1.7.ebuild | 287 |
6 files changed, 0 insertions, 1454 deletions
diff --git a/dev-db/postgis/Manifest b/dev-db/postgis/Manifest index 06cc04246646..99052b1d6da5 100644 --- a/dev-db/postgis/Manifest +++ b/dev-db/postgis/Manifest @@ -1,10 +1,5 @@ DIST postgis-2.0.3.tar.gz 5581619 SHA256 7f865a6fdf19afed7d2f3e7178cd504f7254a9e96f2ce6a07d0ea19edc1668a0 SHA512 e49232a0aebd202a053e2f6cb741551e932e49a8c535fadd22fe15c654e3823c2f43a4c78dc0340cddbbc7f9298651dc16e1737be3bfe0779cc4feede032facc WHIRLPOOL 9c7985ab6d50a4a8ffa4e8fa5ea69c7e365aae8d90a3ea70c978149e5a9efe4a29a29d11db5d2a6b5c830dcd5ba458a3263288f32a5af54665f5d1cab3357415 DIST postgis-2.0.6.tar.gz 5651448 SHA256 438fc9cf8d008c537ed2d6776bc30e726eb1f9a85247df945c2beccc42f33489 SHA512 c838b68b03d08bfd427d8a78c67754697a9409d6333e23e4bf8b63efc4320369258f14a03ba9e21ca4bd967fbfdf99d02720fa370170d4d34c20e31ad47bbf0c WHIRLPOOL 5795385bd146d280c0a8108ccb704417bf206ed80bfa9383c793d1313a3029186d26799438e21b3d6920e92d8859de947e61c1cd55cd0cc275ad800ef128f542 -DIST postgis-2.1.0.tar.gz 6518378 SHA256 fc00481aec904661f3eb11da4305b1666f2040c28b0651de7eac6c22f217b26c SHA512 ed5140aef0e68cb075fc06eaa91733c46d38ce4e01cbf1d97d14ff1a4d447f7cfcaf32924150946c7bb388d334bd5bc9f97753c47c84c16068b9dff6438e8493 WHIRLPOOL a52000a334dd2bb246b665ec7bcd743833c4699cb0cabdd1d9bab3538ee18df6e7b766c06728a97274647f63da1cc130f79902a32cf0621d9a3b8190c8fe596e DIST postgis-2.1.1.tar.gz 6717940 SHA256 f55acf056362e7e78766bec7a403e02a3b6b087a6d18b4222647b6a932d5c945 SHA512 f85c4d1db32802b3acbda3f4c391ca961bf1301c699a00682265c7a984fbc74ee7b9fbfc5580fc04dff0491921eb6dbe4d8bd73dded216794a4b7f90c3ed650f WHIRLPOOL 807d0ce975b72315a72d4c2ecd192c612b00530a7e542b18429fed0c69cf6cb95285554c34be58e3d2a2c513f436289449dfbe82c7430fba87e901a4bea49c2d -DIST postgis-2.1.4.tar.gz 6854492 SHA256 cd73c2a38428c8736f6cae73b955aee0bd42f9ca4fd8d93c1af464524cb100fc SHA512 1d7dd2547fe9819addea0c9dfb4f4c78f30593af21f7cf05c4e40c2684ea3e04ad50c1937ba72172c69df713384c866e6a336b6cab733c9dd0f273f41df568d2 WHIRLPOOL f685cb2e991319b1a2f7a54ce050217d8ea636c02491fca2dafb1a2f66fe3548d4daff6d3de67925a700d9de42af29dfc4af0d26727e77f969a100a1fe964567 -DIST postgis-2.1.5.tar.gz 6827999 SHA256 0d0e27f72f12b8dba456fbde25ed0f6913f42baf57332a7f1b9bbc6f29fddbf4 SHA512 c1d186b237114c951feb78e97dc7d69896dcb0884c02e49d93e8602590e82d34a808eb12c127c7dc78db3237ac619709f8bd7febb4670909b03615f8278aede2 WHIRLPOOL c203aa2034e899647139445ce0b1e6e7637a0e2ad3c1f6d4ee1f303d9734b219b68d18fb6d6e7da6c9df53f90e8dfd30ce8d4ab8a6c942b96db7e8b55d632417 -DIST postgis-2.1.6.tar.gz 6803831 SHA256 6ffdf655bc4fca2b5495dd96f44b266e84111912d5c3f91b832023c4fec5c222 SHA512 a6c1263d64f2c1828656d5613840d721fb70ecbdfab3e28099c8f6b80d5404d46a9376913c0ab46c7f1109517c04430800b8c3be0c94d964421c6681afb2f997 WHIRLPOOL 98bfcae992f444b63840a28ef90077c01473ea528aa72ae5fd283b4fdcf7b7e37732afeac1a29fc87e330f687ca491d5afbed44b0792fb00763dc682501d37a3 -DIST postgis-2.1.7.tar.gz 6804372 SHA256 00ab79a3f609d7ea458f6fc358032ad059cb720baf88285243d6436a597a7ec2 SHA512 021fcb73c2109dafb67cb9d459eb08e0da7e55cf1a5fab81115aad3b0a61809b8f83d7a278aa04e41ecd633164e4257a90d5dfc0e81339b0c322e7d41d3c5eae WHIRLPOOL 938cacf1af4ba8a2f0f3bbefe11c0014a31cd331186cd7fc7fc0a242528094efb617326a484bdad76704bfb98fd065a7f280ab663088440af0555fc69862e36b DIST postgis-2.1.8.tar.gz 6811272 SHA256 7c2380b895fe7bda34c2e70deab3fcf4c12b13ab40d7501cdaa6fa36f1a6c662 SHA512 e8aeb739a1ecf95b224a3908d2af3aa38933b56c63713af30d14243653745436165b418a3368601a699b744f6fe61ce645c980319eb159395d68166a3815c5f4 WHIRLPOOL b6675fecbb922379bd50c351abe1553fdbda53543fce56451c688e25a3fa2e9d0813d8f3a349b623b85fcb4016fc4710f6746a224ba7673ec0d2106c7635d3d1 DIST postgis-2.2.0.tar.gz 10164837 SHA256 66f0f8480d535959b8bb9abb5ee5d602d1001413ca770df120baf3de627f9e91 SHA512 e9954d5c4aa381536ae87c32bb37b166a7ede0f9b9fc96cfb300dc2350b9351f40870429f64e755c3371be692a1956f5f8ea21733b64aab490f42d2232ae5d8f WHIRLPOOL 639c6b278dd6e5c3a11ed1d8de179ee72a4e6e9c54ba1e74e585e9233167a3c2cdca0704c47966cf757db22221ebbc8970a68375894a6179970ab6c0e6c637a2 diff --git a/dev-db/postgis/postgis-2.1.0.ebuild b/dev-db/postgis/postgis-2.1.0.ebuild deleted file mode 100644 index 10c8d4898099..000000000000 --- a/dev-db/postgis/postgis-2.1.0.ebuild +++ /dev/null @@ -1,293 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI="5" -POSTGRES_COMPAT=( 9.{0,1,2,3} ) - -inherit autotools eutils versionator - -MY_PV=$(replace_version_separator 3 '') -MY_P="${PN}-${MY_PV}" -S="${WORKDIR}/${MY_P}" - -DESCRIPTION="Geographic Objects for PostgreSQL" -HOMEPAGE="http://postgis.net" -SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux" -IUSE="doc gtk" - -RDEPEND=" - || ( - dev-db/postgresql:9.3[server] - dev-db/postgresql:9.2[server] - dev-db/postgresql:9.1[server] - dev-db/postgresql:9.0[server] - ) - dev-libs/json-c - dev-libs/libxml2:2 - >=sci-libs/geos-3.3.8 - >=sci-libs/proj-4.6.0 - >=sci-libs/gdal-1.10.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] - ) - ) - virtual/pkgconfig -" - -PGIS="$(get_version_component_range 1-2)" - -RESTRICT="test" - -# These modules are built using the same *FLAGS that were used to build -# dev-db/postgresql. The right thing to do is to ignore the current -# *FLAGS settings. -QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so" - -# Because developers have been fooled into thinking recursive make is a -# good thing. -MAKEOPTS="-j1" - -postgres_check_slot() { - if ! declare -p POSTGRES_COMPAT &>/dev/null; then - die 'POSTGRES_COMPAT not declared.' - fi - -# Don't die because we can't run postgresql-config during pretend. -[[ "$EBUILD_PHASE" = "pretend" \ - && -z "$(which postgresql-config 2> /dev/null)" ]] && return 0 - - local res=$(echo ${POSTGRES_COMPAT[@]} \ - | grep -c $(postgresql-config show 2> /dev/null) 2> /dev/null) - - if [[ "$res" -eq "0" ]] ; then - eerror "PostgreSQL slot must be set to one of: " - eerror " ${POSTGRES_COMPAT[@]}" - return 1 - fi - - return 0 -} - -pkg_pretend() { - postgres_check_slot || die -} - -pkg_setup() { - postgres_check_slot || die - export PGSLOT="$(postgresql-config show)" -} - -src_prepare() { - epatch "${FILESDIR}/${PN}-2.1-ldflags.patch" \ - "${FILESDIR}/${PN}-2.0-arflags.patch" \ - "${FILESDIR}/${PN}-2.1-pkgconfig-json.patch" - - local AT_M4DIR="macros" - eautoreconf -} - -src_configure() { - local myargs="" - use gtk && myargs+=" --with-gui" - econf \ - --with-pgconfig="/usr/lib/postgresql-${PGSLOT}/bin/pg_config" \ - ${myargs} -} - -src_compile() { - # Occasionally, builds fail because of out of order compilation. - # Otherwise, it'd be fine. - emake - emake -C topology - - if use doc ; then - emake comments - emake cheatsheets - emake -C doc html - fi -} - -src_install() { - emake DESTDIR="${D}" install - use doc && emake DESTDIR="${D}" comments-install - emake -C topology DESTDIR="${D}" install - dobin ./utils/postgis_restore.pl - - dodoc CREDITS TODO loader/README.* doc/*txt - - use doc && dohtml -r doc/html/* - - docinto topology - dodoc topology/{TODO,README} - - insinto /etc - doins "${FILESDIR}/postgis_dbs" -} - -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}" - local comment_file - for comment_file in "${postgis_path}"/*_comments.sql ; do - psql -q -U ${pguser} -p ${PGPORT} -d ${db} -f "${comment_file}" - retval=$? - [[ $retval == 0 ]] && continue || safe_exit - done - eend 0 - 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}" -} diff --git a/dev-db/postgis/postgis-2.1.4.ebuild b/dev-db/postgis/postgis-2.1.4.ebuild deleted file mode 100644 index 6d7fa207a94a..000000000000 --- a/dev-db/postgis/postgis-2.1.4.ebuild +++ /dev/null @@ -1,291 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI="5" -POSTGRES_COMPAT=( 9.{0,1,2,3,4} ) - -inherit autotools eutils versionator - -MY_PV=$(replace_version_separator 3 '') -MY_P="${PN}-${MY_PV}" -S="${WORKDIR}/${MY_P}" - -DESCRIPTION="Geographic Objects for PostgreSQL" -HOMEPAGE="http://postgis.net" -SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux" -IUSE="doc gtk static-libs test" - -RDEPEND=" - || ( - dev-db/postgresql:9.4[server] - dev-db/postgresql:9.3[server] - dev-db/postgresql:9.2[server] - dev-db/postgresql:9.1[server] - dev-db/postgresql:9.0[server] - ) - dev-libs/json-c - dev-libs/libxml2:2 - >=sci-libs/geos-3.4.2 - >=sci-libs/proj-4.6.0 - >=sci-libs/gdal-1.10.0 - gtk? ( x11-libs/gtk+:2 ) -" - -DEPEND="${RDEPEND} - doc? ( - app-text/docbook-xsl-stylesheets - app-text/docbook-xml-dtd:4.5 - dev-libs/libxslt - || ( - media-gfx/imagemagick[png] - media-gfx/graphicsmagick[imagemagick,png] - ) - ) - virtual/pkgconfig - test? ( dev-util/cunit ) -" - -PGIS="$(get_version_component_range 1-2)" - -REQUIRED_USE="test? ( doc )" - -# Needs a running psql instance, doesn't work out of the box -RESTRICT="test" - -MAKEOPTS+=' -j1' - -# These modules are built using the same *FLAGS that were used to build -# dev-db/postgresql. The right thing to do is to ignore the current -# *FLAGS settings. -QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so" - -postgres_check_slot() { - if ! declare -p POSTGRES_COMPAT &>/dev/null; then - die 'POSTGRES_COMPAT not declared.' - fi - -# Don't die because we can't run postgresql-config during pretend. -[[ "$EBUILD_PHASE" = "pretend" \ - && -z "$(which postgresql-config 2> /dev/null)" ]] && return 0 - - local res=$(echo ${POSTGRES_COMPAT[@]} \ - | grep -c $(postgresql-config show 2> /dev/null) 2> /dev/null) - - if [[ "$res" -eq "0" ]] ; then - eerror "PostgreSQL slot must be set to one of: " - eerror " ${POSTGRES_COMPAT[@]}" - return 1 - fi - - return 0 -} - -pkg_pretend() { - postgres_check_slot || die -} - -pkg_setup() { - postgres_check_slot || die - export PGSLOT="$(postgresql-config show)" -} - -src_prepare() { - epatch "${FILESDIR}/${PN}-2.1-ldflags.patch" \ - "${FILESDIR}/${PN}-2.0-arflags.patch" \ - "${FILESDIR}/${PN}-2.1.4-pkgconfig-json.patch" - - local AT_M4DIR="macros" - eautoreconf -} - -src_configure() { - local myargs="" - use gtk && myargs+=" --with-gui" - econf \ - --with-pgconfig="/usr/lib/postgresql-${PGSLOT}/bin/pg_config" \ - ${myargs} -} - -src_compile() { - emake - emake -C topology - - if use doc ; then - emake comments - emake cheatsheets - emake -C doc html - fi -} - -src_install() { - emake DESTDIR="${D}" install - use doc && emake DESTDIR="${D}" comments-install - emake -C topology DESTDIR="${D}" install - dobin ./utils/postgis_restore.pl - - dodoc CREDITS TODO loader/README.* doc/*txt - - use doc && dohtml -r doc/html/* - - docinto topology - dodoc topology/{TODO,README} - - insinto /etc - doins "${FILESDIR}/postgis_dbs" - - use static-libs || find "${ED}" -name '*.a' -delete -} - -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_match - server_match=$(psql -U ${pguser} -d postgres -p ${PGPORT} \ - -Aqwtc 'SELECT version()' 2> /dev/null | grep -c "PostgreSQL ${PGSLOT}") - if [[ $? = 0 ]] ; then - if [[ $server_match -ne 1 ]] ; 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}" - local comment_file - for comment_file in "${postgis_path}"/*_comments.sql ; do - psql -q -U ${pguser} -p ${PGPORT} -d ${db} -f "${comment_file}" - retval=$? - [[ $retval == 0 ]] && continue || safe_exit - done - eend 0 - 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 "Currently, only one PostgreSQL slot at a time can be PostGIS enabled." -} diff --git a/dev-db/postgis/postgis-2.1.5.ebuild b/dev-db/postgis/postgis-2.1.5.ebuild deleted file mode 100644 index 6d7fa207a94a..000000000000 --- a/dev-db/postgis/postgis-2.1.5.ebuild +++ /dev/null @@ -1,291 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI="5" -POSTGRES_COMPAT=( 9.{0,1,2,3,4} ) - -inherit autotools eutils versionator - -MY_PV=$(replace_version_separator 3 '') -MY_P="${PN}-${MY_PV}" -S="${WORKDIR}/${MY_P}" - -DESCRIPTION="Geographic Objects for PostgreSQL" -HOMEPAGE="http://postgis.net" -SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux" -IUSE="doc gtk static-libs test" - -RDEPEND=" - || ( - dev-db/postgresql:9.4[server] - dev-db/postgresql:9.3[server] - dev-db/postgresql:9.2[server] - dev-db/postgresql:9.1[server] - dev-db/postgresql:9.0[server] - ) - dev-libs/json-c - dev-libs/libxml2:2 - >=sci-libs/geos-3.4.2 - >=sci-libs/proj-4.6.0 - >=sci-libs/gdal-1.10.0 - gtk? ( x11-libs/gtk+:2 ) -" - -DEPEND="${RDEPEND} - doc? ( - app-text/docbook-xsl-stylesheets - app-text/docbook-xml-dtd:4.5 - dev-libs/libxslt - || ( - media-gfx/imagemagick[png] - media-gfx/graphicsmagick[imagemagick,png] - ) - ) - virtual/pkgconfig - test? ( dev-util/cunit ) -" - -PGIS="$(get_version_component_range 1-2)" - -REQUIRED_USE="test? ( doc )" - -# Needs a running psql instance, doesn't work out of the box -RESTRICT="test" - -MAKEOPTS+=' -j1' - -# These modules are built using the same *FLAGS that were used to build -# dev-db/postgresql. The right thing to do is to ignore the current -# *FLAGS settings. -QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so" - -postgres_check_slot() { - if ! declare -p POSTGRES_COMPAT &>/dev/null; then - die 'POSTGRES_COMPAT not declared.' - fi - -# Don't die because we can't run postgresql-config during pretend. -[[ "$EBUILD_PHASE" = "pretend" \ - && -z "$(which postgresql-config 2> /dev/null)" ]] && return 0 - - local res=$(echo ${POSTGRES_COMPAT[@]} \ - | grep -c $(postgresql-config show 2> /dev/null) 2> /dev/null) - - if [[ "$res" -eq "0" ]] ; then - eerror "PostgreSQL slot must be set to one of: " - eerror " ${POSTGRES_COMPAT[@]}" - return 1 - fi - - return 0 -} - -pkg_pretend() { - postgres_check_slot || die -} - -pkg_setup() { - postgres_check_slot || die - export PGSLOT="$(postgresql-config show)" -} - -src_prepare() { - epatch "${FILESDIR}/${PN}-2.1-ldflags.patch" \ - "${FILESDIR}/${PN}-2.0-arflags.patch" \ - "${FILESDIR}/${PN}-2.1.4-pkgconfig-json.patch" - - local AT_M4DIR="macros" - eautoreconf -} - -src_configure() { - local myargs="" - use gtk && myargs+=" --with-gui" - econf \ - --with-pgconfig="/usr/lib/postgresql-${PGSLOT}/bin/pg_config" \ - ${myargs} -} - -src_compile() { - emake - emake -C topology - - if use doc ; then - emake comments - emake cheatsheets - emake -C doc html - fi -} - -src_install() { - emake DESTDIR="${D}" install - use doc && emake DESTDIR="${D}" comments-install - emake -C topology DESTDIR="${D}" install - dobin ./utils/postgis_restore.pl - - dodoc CREDITS TODO loader/README.* doc/*txt - - use doc && dohtml -r doc/html/* - - docinto topology - dodoc topology/{TODO,README} - - insinto /etc - doins "${FILESDIR}/postgis_dbs" - - use static-libs || find "${ED}" -name '*.a' -delete -} - -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_match - server_match=$(psql -U ${pguser} -d postgres -p ${PGPORT} \ - -Aqwtc 'SELECT version()' 2> /dev/null | grep -c "PostgreSQL ${PGSLOT}") - if [[ $? = 0 ]] ; then - if [[ $server_match -ne 1 ]] ; 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}" - local comment_file - for comment_file in "${postgis_path}"/*_comments.sql ; do - psql -q -U ${pguser} -p ${PGPORT} -d ${db} -f "${comment_file}" - retval=$? - [[ $retval == 0 ]] && continue || safe_exit - done - eend 0 - 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 "Currently, only one PostgreSQL slot at a time can be PostGIS enabled." -} diff --git a/dev-db/postgis/postgis-2.1.6.ebuild b/dev-db/postgis/postgis-2.1.6.ebuild deleted file mode 100644 index d3324592d994..000000000000 --- a/dev-db/postgis/postgis-2.1.6.ebuild +++ /dev/null @@ -1,287 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI="5" -POSTGRES_COMPAT=( 9.{0,1,2,3,4} ) - -inherit autotools eutils versionator - -MY_PV=$(replace_version_separator 3 '') -MY_P="${PN}-${MY_PV}" -S="${WORKDIR}/${MY_P}" - -DESCRIPTION="Geographic Objects for PostgreSQL" -HOMEPAGE="http://postgis.net" -SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux" -IUSE="doc gtk static-libs test" - -RDEPEND=" - || ( - dev-db/postgresql:9.4[server] - dev-db/postgresql:9.3[server] - dev-db/postgresql:9.2[server] - dev-db/postgresql:9.1[server] - dev-db/postgresql:9.0[server] - ) - dev-libs/json-c - dev-libs/libxml2:2 - >=sci-libs/geos-3.4.2 - >=sci-libs/proj-4.6.0 - >=sci-libs/gdal-1.10.0 - gtk? ( x11-libs/gtk+:2 ) -" - -DEPEND="${RDEPEND} - doc? ( - app-text/docbook-xsl-stylesheets - app-text/docbook-xml-dtd:4.5 - dev-libs/libxslt - || ( - media-gfx/imagemagick[png] - media-gfx/graphicsmagick[imagemagick,png] - ) - ) - virtual/pkgconfig - test? ( dev-util/cunit ) -" - -PGIS="$(get_version_component_range 1-2)" - -REQUIRED_USE="test? ( doc )" - -# Needs a running psql instance, doesn't work out of the box -RESTRICT="test" - -MAKEOPTS+=' -j1' - -# These modules are built using the same *FLAGS that were used to build -# dev-db/postgresql. The right thing to do is to ignore the current -# *FLAGS settings. -QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so" - -postgres_check_slot() { - if ! declare -p POSTGRES_COMPAT &>/dev/null; then - die 'POSTGRES_COMPAT not declared.' - fi - -# Don't die because we can't run postgresql-config during pretend. -[[ "$EBUILD_PHASE" = "pretend" \ - && -z "$(which postgresql-config 2> /dev/null)" ]] && return 0 - - local res=$(echo ${POSTGRES_COMPAT[@]} \ - | grep -c $(postgresql-config show 2> /dev/null) 2> /dev/null) - - if [[ "$res" -eq "0" ]] ; then - eerror "PostgreSQL slot must be set to one of: " - eerror " ${POSTGRES_COMPAT[@]}" - return 1 - fi - - return 0 -} - -pkg_setup() { - postgres_check_slot || die - export PGSLOT="$(postgresql-config show)" -} - -src_prepare() { - epatch "${FILESDIR}/${PN}-2.1-ldflags.patch" \ - "${FILESDIR}/${PN}-2.0-arflags.patch" \ - "${FILESDIR}/${PN}-2.1.4-pkgconfig-json.patch" - - local AT_M4DIR="macros" - eautoreconf -} - -src_configure() { - local myargs="" - use gtk && myargs+=" --with-gui" - econf \ - --with-pgconfig="/usr/lib/postgresql-${PGSLOT}/bin/pg_config" \ - ${myargs} -} - -src_compile() { - emake - emake -C topology - - if use doc ; then - emake comments - emake cheatsheets - emake -C doc html - fi -} - -src_install() { - emake DESTDIR="${D}" install - use doc && emake DESTDIR="${D}" comments-install - emake -C topology DESTDIR="${D}" install - dobin ./utils/postgis_restore.pl - - dodoc CREDITS TODO loader/README.* doc/*txt - - use doc && dohtml -r doc/html/* - - docinto topology - dodoc topology/{TODO,README} - - insinto /etc - doins "${FILESDIR}/postgis_dbs" - - use static-libs || find "${ED}" -name '*.a' -delete -} - -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_match - server_match=$(psql -U ${pguser} -d postgres -p ${PGPORT} \ - -Aqwtc 'SELECT version()' 2> /dev/null | grep -c "PostgreSQL ${PGSLOT}") - if [[ $? = 0 ]] ; then - if [[ $server_match -ne 1 ]] ; 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}" - local comment_file - for comment_file in "${postgis_path}"/*_comments.sql ; do - psql -q -U ${pguser} -p ${PGPORT} -d ${db} -f "${comment_file}" - retval=$? - [[ $retval == 0 ]] && continue || safe_exit - done - eend 0 - 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 "Currently, only one PostgreSQL slot at a time can be PostGIS enabled." -} diff --git a/dev-db/postgis/postgis-2.1.7.ebuild b/dev-db/postgis/postgis-2.1.7.ebuild deleted file mode 100644 index 1397b5b15186..000000000000 --- a/dev-db/postgis/postgis-2.1.7.ebuild +++ /dev/null @@ -1,287 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI="5" -POSTGRES_COMPAT=( 9.{0,1,2,3,4,5} ) - -inherit autotools eutils versionator - -MY_PV=$(replace_version_separator 3 '') -MY_P="${PN}-${MY_PV}" -S="${WORKDIR}/${MY_P}" - -DESCRIPTION="Geographic Objects for PostgreSQL" -HOMEPAGE="http://postgis.net" -SRC_URI="http://download.osgeo.org/postgis/source/${MY_P}.tar.gz" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux" -IUSE="doc gtk static-libs test" - -RDEPEND=" - || ( - dev-db/postgresql:9.4[server] - dev-db/postgresql:9.3[server] - dev-db/postgresql:9.2[server] - dev-db/postgresql:9.1[server] - dev-db/postgresql:9.0[server] - ) - dev-libs/json-c - dev-libs/libxml2:2 - >=sci-libs/geos-3.4.2 - >=sci-libs/proj-4.6.0 - >=sci-libs/gdal-1.10.0 - gtk? ( x11-libs/gtk+:2 ) -" - -DEPEND="${RDEPEND} - doc? ( - app-text/docbook-xsl-stylesheets - app-text/docbook-xml-dtd:4.5 - dev-libs/libxslt - || ( - media-gfx/imagemagick[png] - media-gfx/graphicsmagick[imagemagick,png] - ) - ) - virtual/pkgconfig - test? ( dev-util/cunit ) -" - -PGIS="$(get_version_component_range 1-2)" - -REQUIRED_USE="test? ( doc )" - -# Needs a running psql instance, doesn't work out of the box -RESTRICT="test" - -MAKEOPTS+=' -j1' - -# These modules are built using the same *FLAGS that were used to build -# dev-db/postgresql. The right thing to do is to ignore the current -# *FLAGS settings. -QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so" - -postgres_check_slot() { - if ! declare -p POSTGRES_COMPAT &>/dev/null; then - die 'POSTGRES_COMPAT not declared.' - fi - -# Don't die because we can't run postgresql-config during pretend. -[[ "$EBUILD_PHASE" = "pretend" \ - && -z "$(which postgresql-config 2> /dev/null)" ]] && return 0 - - local res=$(echo ${POSTGRES_COMPAT[@]} \ - | grep -c $(postgresql-config show 2> /dev/null) 2> /dev/null) - - if [[ "$res" -eq "0" ]] ; then - eerror "PostgreSQL slot must be set to one of: " - eerror " ${POSTGRES_COMPAT[@]}" - return 1 - fi - - return 0 -} - -pkg_setup() { - postgres_check_slot || die - export PGSLOT="$(postgresql-config show)" -} - -src_prepare() { - epatch "${FILESDIR}/${PN}-2.1-ldflags.patch" \ - "${FILESDIR}/${PN}-2.0-arflags.patch" \ - "${FILESDIR}/${PN}-2.1.4-pkgconfig-json.patch" - - local AT_M4DIR="macros" - eautoreconf -} - -src_configure() { - local myargs="" - use gtk && myargs+=" --with-gui" - econf \ - --with-pgconfig="/usr/lib/postgresql-${PGSLOT}/bin/pg_config" \ - ${myargs} -} - -src_compile() { - emake - emake -C topology - - if use doc ; then - emake comments - emake cheatsheets - emake -C doc html - fi -} - -src_install() { - emake DESTDIR="${D}" install - use doc && emake DESTDIR="${D}" comments-install - emake -C topology DESTDIR="${D}" install - dobin ./utils/postgis_restore.pl - - dodoc CREDITS TODO loader/README.* doc/*txt - - use doc && dohtml -r doc/html/* - - docinto topology - dodoc topology/{TODO,README} - - insinto /etc - doins "${FILESDIR}/postgis_dbs" - - use static-libs || find "${ED}" -name '*.a' -delete -} - -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_match - server_match=$(psql -U ${pguser} -d postgres -p ${PGPORT} \ - -Aqwtc 'SELECT version()' 2> /dev/null | grep -c "PostgreSQL ${PGSLOT}") - if [[ $? = 0 ]] ; then - if [[ $server_match -ne 1 ]] ; 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}" - local comment_file - for comment_file in "${postgis_path}"/*_comments.sql ; do - psql -q -U ${pguser} -p ${PGPORT} -d ${db} -f "${comment_file}" - retval=$? - [[ $retval == 0 ]] && continue || safe_exit - done - eend 0 - 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 "Currently, only one PostgreSQL slot at a time can be PostGIS enabled." -} |