Gentoo Archives: gentoo-commits

From: "Gerald Fenoy (djay)" <djay@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-db/postgis: postgis-1.3.3.ebuild
Date: Tue, 06 May 2008 17:28:57
Message-Id: E1JtQyE-0006HR-N2@stork.gentoo.org
1 djay 08/05/06 17:28:54
2
3 Added: postgis-1.3.3.ebuild
4 Log:
5 Thanks to hanno@g.o for his reminder (bug #206328)
6
7 Revision Changes Path
8 1.1 dev-db/postgis/postgis-1.3.3.ebuild
9
10 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-db/postgis/postgis-1.3.3.ebuild?rev=1.1&view=markup
11 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-db/postgis/postgis-1.3.3.ebuild?rev=1.1&content-type=text/plain
12
13 Index: postgis-1.3.3.ebuild
14 ===================================================================
15 # Copyright 1999-2008 Gentoo Foundation
16 # Distributed under the terms of the GNU General Public License v2
17 # $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/postgis-1.3.3.ebuild,v 1.1 2008/05/06 17:28:54 djay Exp $
18
19 inherit autotools eutils versionator
20
21 KEYWORDS="amd64 ppc x86"
22
23 DESCRIPTION="Geographic Objects for PostgreSQL"
24 HOMEPAGE="http://postgis.refractions.net"
25 SRC_URI="http://www.postgis.org/download/${P}.tar.gz"
26 LICENSE="GPL-2"
27 SLOT="0"
28 IUSE="geos proj doc"
29
30 RDEPEND=">=dev-db/postgresql-7.4
31 geos? ( sci-libs/geos )
32 proj? ( sci-libs/proj )"
33
34 DEPEND="${RDEPEND}
35 doc? ( app-text/docbook-xsl-stylesheets )"
36
37 RESTRICT="test"
38
39 pkg_setup(){
40 local tmp
41 tmp="$(portageq match / postgis | cut -d'.' -f2)"
42 if [ "${tmp}" != "$(get_version_component_range 2)" ]; then
43 elog "You must soft upgrade your existing postgis enabled databases"
44 elog "using 'emerge --config postgis'."
45 require_soft_upgrade="1"
46 ebeep 2
47 fi
48 }
49
50 src_compile(){
51 local myconf
52 if use geos; then
53 myconf="--with-geos"
54 fi
55
56 if use doc;then
57 myconf="${myconf} --with-xsl=$(ls "${ROOT}"usr/share/sgml/docbook/* | \
58 grep xsl\- | cut -d':' -f1)"
59 fi
60
61 econf --enable-autoconf \
62 --datadir=/usr/share/postgresql/contrib/ \
63 --libdir=/usr/$(get_libdir)/postgresql/ \
64 --with-docdir=/usr/share/doc/${PF}/html/ \
65 ${myconf} \
66 $(use_with proj) ||\
67 die "Error: econf failed"
68
69 emake || die "Error: emake failed"
70
71 cd topology/
72 emake || die "Unable to build topology sql file"
73
74 if use doc ; then
75 cd "${S}"
76 emake docs || die "Unable to build documentation"
77 fi
78 }
79
80 src_install(){
81 dodir /usr/$(get_libdir)/postgresql /usr/share/postgresql/contrib/
82 emake DESTDIR="${D}" install || die "emake install failed"
83 cd "${S}/topology/"
84 emake DESTDIR="${D}" install || die "emake install topology failed"
85
86 cd "${S}"
87 dodoc Changelog CREDITS TODO loader/README.* doc/*txt
88
89 docinto topology
90 dodoc topology/{TODO,README}
91 dobin ./utils/postgis_restore.pl
92
93 cd "${S}"
94 if use doc; then
95 emake DESTDIR="${D}" docs-install || die "emake install docs failed"
96 fi
97
98 if [ ! -z "${require_soft_upgrade}" ]; then
99 grep "'C'" -B 4 "${D}"usr/share/postgresql/contrib/lwpostgis.sql |\
100 grep -v "'sql'" > \
101 "${D}"usr/share/postgresql/contrib/load_before_upgrade.sql
102 fi
103 }
104
105 pkg_postinst() {
106 elog "To create new spatial database use 'emerge --config ${PN}.'"
107 }
108
109 pkg_config(){
110 myuser="${PG_USER:-postgres}"
111 mydb="${PGDATABASE:-template_gis}"
112
113 is_template=false
114 if [ "${mydb:0:8}" == "template" ];then
115 is_template=true
116 mytype="template database"
117 else
118 mytype="database"
119 fi
120
121 einfo "Create or upgrade a spatial template and database."
122 einfo "Using the user ${myuser} and the ${mydb} ${mytype}."
123 einfo "Please do 'export PG_USER=...' to use another user."
124 einfo "Please do 'export PGDATABASE=...' to set another template/database"
125 einfo "name (templates name have to be prefixed with 'template')."
126
127 logfile=$(mktemp "${ROOT}tmp/error.log.XXXXXX")
128 safe_exit(){
129 eerror "Removing created ${mydb} ${mytype}"
130 dropdb -q -U "${myuser}" "${mydb}" ||\
131 (eerror "${1}"
132 die "Removing old db failed, you must do it manually")
133 eerror "Please read ${logfile} for more information."
134 die "${1}"
135 }
136
137 # if there is not a table or a template existing with the same name, create.
138 if [ -z "$(psql -U "${myuser}" -l | grep "${mydb}")" ]; then
139 einfo
140 einfo "Please hit ENTER if you want to create the ${mydb}"
141 einfo "${mytype} as "${myuser}" user, or Control-C to abort now..."
142 read
143 createdb -q -O ${myuser} -U ${myuser} ${mydb} ||\
144 die "Unable to create the ${mydb} ${mytype} as ${myuser}"
145 createlang -U ${myuser} plpgsql ${mydb}
146 if [ "$?" == 2 ]; then
147 safe_exit "Unable to createlang plpgsql ${mydb}."
148 fi
149 (psql -q -U ${myuser} ${mydb} -f \
150 "${ROOT}"usr/share/postgresql/contrib/lwpostgis.sql &&
151 psql -q -U ${myuser} ${mydb} -f \
152 "${ROOT}"usr/share/postgresql/contrib/spatial_ref_sys.sql) 2>\
153 "${logfile}"
154 if [ "$(grep -c ERROR "${logfile}")" \> 0 ]; then
155 safe_exit "Unable to load sql files."
156 fi
157 if ${is_template}; then
158 psql -q -U ${myuser} ${mydb} -c \
159 "UPDATE pg_database SET datistemplate = TRUE
160 WHERE datname = '${mydb}';
161 GRANT ALL ON table spatial_ref_sys, geometry_columns TO PUBLIC;
162 VACUUM FREEZE;" || die "Unable to create ${mydb}"
163 fi
164 else
165 einfo
166 einfo "Please hit ENTER if you want to upgrade the ${mydb}"
167 einfo "${mytype} as ${myuser} user, or Control-C to abort now..."
168 read
169 if [ -e "${ROOT}"usr/share/postgresql/contrib/load_before_upgrade.sql ];
170 then
171 einfo "Updating the dynamic library references"
172 psql -q -U ${myuser} ${mydb} -f \
173 "${ROOT}"usr/share/postgresql/contrib/load_before_upgrade.sql\
174 2> "${logfile}"
175 if [ "$(grep -c ERROR "${logfile}")" \> 0 ]; then
176 safe_exit "Unable to update references."
177 fi
178 fi
179 if [ -e "${ROOT}"usr/share/postgresql/contrib/lwpostgis_upgrade.sql ];
180 then
181 einfo "Running soft upgrade"
182 psql -q -U ${myuser} ${mydb} -f \
183 "${ROOT}"usr/share/postgresql/contrib/lwpostgis_upgrade.sql 2>\
184 "${logfile}"
185 if [ "$(grep -c ERROR "${logfile}")" \> 0 ]; then
186 safe_exit "Unable to run soft upgrade."
187 fi
188 fi
189 fi
190
191 if ${is_template}; then
192 einfo "You can now create a spatial database using :"
193 einfo "'createdb -T ${mydb} test'"
194 fi
195 }
196
197
198
199 --
200 gentoo-commits@l.g.o mailing list