public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo-x86 commit in dev-db/postgis: ChangeLog postgis-1.5.0-r1.ebuild
@ 2010-02-23 14:40 Patrick Lauer (patrick)
  0 siblings, 0 replies; only message in thread
From: Patrick Lauer (patrick) @ 2010-02-23 14:40 UTC (permalink / raw
  To: gentoo-commits

patrick     10/02/23 14:40:21

  Modified:             ChangeLog
  Added:                postgis-1.5.0-r1.ebuild
  Log:
  Fixing doc installation. Slightly hacky, sorry :)
  (Portage version: 2.2_rc63/cvs/Linux x86_64)

Revision  Changes    Path
1.44                 dev-db/postgis/ChangeLog

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-db/postgis/ChangeLog?rev=1.44&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-db/postgis/ChangeLog?rev=1.44&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-db/postgis/ChangeLog?r1=1.43&r2=1.44

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/dev-db/postgis/ChangeLog,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- ChangeLog	21 Feb 2010 10:43:41 -0000	1.43
+++ ChangeLog	23 Feb 2010 14:40:20 -0000	1.44
@@ -1,6 +1,11 @@
 # ChangeLog for dev-db/postgis
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/ChangeLog,v 1.43 2010/02/21 10:43:41 patrick Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/ChangeLog,v 1.44 2010/02/23 14:40:20 patrick Exp $
+
+*postgis-1.5.0-r1 (23 Feb 2010)
+
+  23 Feb 2010; Patrick Lauer <patrick@gentoo.org> +postgis-1.5.0-r1.ebuild:
+  Fixing doc installation. Slightly hacky, sorry :)
 
   21 Feb 2010; Patrick Lauer <patrick@gentoo.org> -postgis-1.1.4.ebuild,
   -postgis-1.2.0.ebuild, -postgis-1.2.1.ebuild, -postgis-1.3.3.ebuild,



1.1                  dev-db/postgis/postgis-1.5.0-r1.ebuild

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-db/postgis/postgis-1.5.0-r1.ebuild?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-db/postgis/postgis-1.5.0-r1.ebuild?rev=1.1&content-type=text/plain

Index: postgis-1.5.0-r1.ebuild
===================================================================
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/postgis-1.5.0-r1.ebuild,v 1.1 2010/02/23 14:40:20 patrick Exp $

EAPI="2"

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"

RDEPEND=">=virtual/postgresql-server-8.3
	>=sci-libs/geos-3.2
	>=sci-libs/proj-4.6.0
	dev-libs/libxml2"

DEPEND="${RDEPEND}
	doc? ( app-text/docbook-xsl-stylesheets
		app-text/docbook-xml-dtd:4.3
		media-gfx/imagemagick )"

RESTRICT="test"

pkg_setup(){
	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 doc; then
		myconf="${myconf} --with-xsldir=$(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/ \
		--docdir=${D}/usr/share/doc/${PF}/html/ \
		${myconf} ||\
			die "Error: econf failed"

        if use doc; then
                cd doc
                sed -i -e 's:PGSQL_DOCDIR=/:PGSQL_DOCDIR=${D}/:' Makefile || die "Fixing doc install paths failed"
                sed -i -e 's:PGSQL_MANDIR=/:PGSQL_MANDIR=${D}/:' Makefile || die "Fixing doc install paths failed"
                sed -i -e 's:PGSQL_SHAREDIR=/:PGSQL_SHAREDIR=${D}/:' Makefile || die "Fixing doc install paths failed"
        fi
}

src_compile() {
	emake -j1 || die "Error: emake failed"

	cd topology/
	emake -j1 || die "Unable to build topology sql file"

	if use doc ; then
		cd "${S}"
		emake -j1 docs || die "Unable to build documentation"
	fi
}

src_install(){
	dodir /usr/$(get_libdir)/postgresql /usr/share/postgresql/contrib/
	emake DESTDIR="${D}" install || die "emake install failed"
	cd "${S}/topology/"
	emake DESTDIR="${D}" install || die "emake install topology failed"

	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
}






^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-02-23 14:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-23 14:40 [gentoo-commits] gentoo-x86 commit in dev-db/postgis: ChangeLog postgis-1.5.0-r1.ebuild Patrick Lauer (patrick)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox