Gentoo Archives: gentoo-commits

From: "Aaron Swenson (titanofold)" <titanofold@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-db/postgis: ChangeLog postgis-1.5.2-r3.ebuild postgis-1.5.2-r2.ebuild
Date: Mon, 02 May 2011 11:40:42
Message-Id: 20110502114031.9A61B20054@flycatcher.gentoo.org
1 titanofold 11/05/02 11:40:31
2
3 Modified: ChangeLog
4 Added: postgis-1.5.2-r3.ebuild
5 Removed: postgis-1.5.2-r2.ebuild
6 Log:
7 Moved postgresql-config and checks into pkg_setup
8
9 (Portage version: 2.1.9.42/cvs/Linux i686)
10
11 Revision Changes Path
12 1.50 dev-db/postgis/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-db/postgis/ChangeLog?rev=1.50&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-db/postgis/ChangeLog?rev=1.50&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-db/postgis/ChangeLog?r1=1.49&r2=1.50
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/dev-db/postgis/ChangeLog,v
21 retrieving revision 1.49
22 retrieving revision 1.50
23 diff -u -r1.49 -r1.50
24 --- ChangeLog 2 May 2011 04:31:33 -0000 1.49
25 +++ ChangeLog 2 May 2011 11:40:31 -0000 1.50
26 @@ -1,6 +1,12 @@
27 # ChangeLog for dev-db/postgis
28 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/ChangeLog,v 1.49 2011/05/02 04:31:33 titanofold Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/ChangeLog,v 1.50 2011/05/02 11:40:31 titanofold Exp $
31 +
32 +*postgis-1.5.2-r3 (02 May 2011)
33 +
34 + 02 May 2011; Aaron W. Swenson <titanofold@g.o>
35 + -postgis-1.5.2-r2.ebuild, +postgis-1.5.2-r3.ebuild:
36 + Moved postgresql-config and checks into pkg_setup
37
38 *postgis-1.5.2-r2 (02 May 2011)
39
40
41
42
43 1.1 dev-db/postgis/postgis-1.5.2-r3.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-db/postgis/postgis-1.5.2-r3.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-db/postgis/postgis-1.5.2-r3.ebuild?rev=1.1&content-type=text/plain
47
48 Index: postgis-1.5.2-r3.ebuild
49 ===================================================================
50 # Copyright 1999-2011 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/postgis-1.5.2-r3.ebuild,v 1.1 2011/05/02 11:40:31 titanofold Exp $
53
54 EAPI="4"
55
56 inherit eutils versionator
57
58 DESCRIPTION="Geographic Objects for PostgreSQL"
59 HOMEPAGE="http://postgis.refractions.net"
60 SRC_URI="http://postgis.refractions.net/download/${P}.tar.gz"
61 LICENSE="GPL-2"
62 SLOT="0"
63 KEYWORDS="~amd64 ~ppc ~x86"
64 IUSE="doc gtk"
65
66 RDEPEND="
67 || (
68 dev-db/postgresql-server:9.0
69 dev-db/postgresql-server:8.4
70 dev-db/postgresql-server:8.3
71 dev-db/postgresql-server:9.1
72 )
73 dev-libs/libxml2:2
74 >=sci-libs/geos-3.2
75 >=sci-libs/proj-4.6.0
76 gtk? ( x11-libs/gtk+:2 )
77 "
78
79 DEPEND="${RDEPEND}
80 doc? (
81 app-text/docbook-xsl-stylesheets
82 app-text/docbook-xml-dtd:4.3
83 dev-libs/libxslt
84 || (
85 media-gfx/imagemagick
86 media-gfx/graphicsmagick[imagemagick]
87 )
88 )
89 "
90
91 RESTRICT="test"
92
93 PGIS="$(get_version_component_range 1-2)"
94
95 pkg_setup() {
96 export PGSLOT="$(postgresql-config show)"
97 if [[ ${PGSLOT//.} < 83 ]] ; then
98 eerror "You must build ${CATEGORY}/${PN} against PostgreSQL 8.3 or higher."
99 eerror "Set an appropriate slot with postgresql-config."
100 die "postgresql-config not set to 8.3 or higher."
101 fi
102
103 if [[ ${PGSLOT//.} > 90 ]] ; then
104 ewarn "You are building ${CATEGORY}/${PN} against a version of PostgreSQL greater than 9.0."
105 ewarn "This is neither supported here nor upstream."
106 ewarn "However, all indicators show that this should work."
107 ewarn "Any bugs you encounter should be reported upstream."
108 fi
109 }
110
111 src_configure() {
112 # Configure interprets --without-gui as being the same as --with-gui
113 if use gtk ; then
114 econf --with-gui
115 else
116 econf
117 fi
118 }
119
120 src_compile() {
121 # Occasionally, builds fail because of out of order compilation.
122 # Otherwise, it'd be fine.
123 emake -j1
124 cd topology/
125 emake -j1
126
127 if use doc ; then
128 cd "${S}/doc/"
129 emake -j1
130 fi
131 }
132
133 src_install() {
134 emake -j1 DESTDIR="${D}" install
135 cd topology/
136 emake -j1 DESTDIR="${D}" install
137
138 cd "${S}"
139 dodoc CREDITS TODO loader/README.* doc/*txt
140
141 docinto topology
142 dodoc topology/{TODO,README}
143 dobin ./utils/postgis_restore.pl
144
145 if use doc; then
146 cd doc/html
147 dohtml -r *
148 fi
149
150 insinto /etc
151 doins "${FILESDIR}/postgis_dbs"
152
153 cd "${S}/doc"
154 doman man/*
155 insinto /usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}/
156 doins postgis_comments.sql
157 }
158
159 pkg_postinst() {
160 postgresql-config update
161
162 elog "To finish installing or updating PostGIS edit:"
163 elog " ${EROOT%/}/etc/postgis_dbs"
164 elog
165 elog "Then, run:"
166 elog " emerge --config =${CATEGORY}/${PF}"
167 }
168
169 pkg_config(){
170 source "${EROOT%/}/etc/conf.d/postgresql-${PGSLOT}"
171 source "${EROOT%/}/etc/postgis_dbs"
172 local postgis_path="${EROOT%/}/usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}"
173
174 if [[ -n ${configured} ]] ; then
175 einfon "Password for PostgreSQL user '${pguser}': "
176 read -s PGPASSWORD
177 export PGPASSWORD
178 echo
179
180 # The server we work with must be the same slot we built against.
181 local server_version
182 server_version=$(psql -U ${pguser} -d postgres -p ${PGPORT} \
183 -Aqwtc 'SELECT version()' 2> /dev/null)
184 if [[ $? = 0 ]] ; then
185 server_version=$(echo ${server_version} | cut -d " " -f 2 | \
186 cut -d "." -f -2 | tr -d .)
187 if [[ $server_version != ${PGSLOT//.} ]] ; then
188 unset PGPASSWORD
189 eerror "Server version must be ${PGSLOT}.x"
190 die "Server version isn't ${PGSLOT}.x"
191 fi
192 else
193 unset PGPASSWORD
194 eerror "Is the server running?"
195 die "Couldn't connect to server."
196 fi
197
198 local retval
199 safe_exit() {
200 unset PGPASSWORD
201 sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
202 eend $retval
203 eerror "All actions could not be performed."
204 eerror "Read above to see what failed."
205 eerror "Once you fix the issue, you'll need to edit:"
206 eerror " ${EROOT%/}/etc/postgis_dbs"
207 eerror "As some things may have succeeded."
208 eerror
209 die "All actions could not be performed"
210 }
211
212 local db
213 for db in ${databases[@]} ; do
214 ebegin "Performing CREATE LANGUAGE on ${db}"
215 createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
216 retval=$?
217 # In this case, only error code 1 is fatal
218 [[ $retval == 1 ]] && safe_exit || eend 0
219
220 ebegin "Enabling PostGIS on ${db}"
221 psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
222 -f "${postgis_path}/postgis.sql"
223 retval=$?
224 [[ $retval == 0 ]] && eend 0 || safe_exit
225 done
226
227 for db in ${templates[@]} ; do
228 ebegin "Creating template database '${db}'"
229 createdb -p ${PGPORT} -U ${pguser} -O ${pguser} -T ${from_template} \
230 ${db} "PostGIS Template"
231 retval=$?
232 [[ $retval != 0 ]] && safe_exit
233
234 psql -q -U ${pguser} -p ${PGPORT} -c \
235 "UPDATE pg_database \
236 SET datistemplate = TRUE, datallowconn = TRUE \
237 WHERE datname = '${db}'"
238 retval=$?
239 [[ $retval != 0 ]] && safe_exit
240
241 createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
242 retval=$?
243 # In this case, only error code 1 is fatal
244 [[ $retval == 1 ]] && safe_exit
245
246 psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
247 -f "${postgis_path}/postgis.sql"
248 retval=$?
249 [[ $retval == 0 ]] && eend 0 || safe_exit
250 done
251
252 for db in ${espg_databases[@]} ; do
253 ebegin "Adding ESPG to ${db}"
254 psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
255 -f "${postgis_path}/spatial_ref_sys.sql"
256 retval=$?
257 [[ $retval == 0 ]] && eend 0 || safe_exit
258 done
259
260 for db in ${comment_databases[@]} ; do
261 ebegin "Adding comments on ${db}"
262 psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
263 -f "${postgis_path}/postgis_comments.sql"
264 retval=$?
265 [[ $retval == 0 ]] && eend 0 || safe_exit
266 done
267
268 for db in ${upgrade_from_1_3[@]} ; do
269 ebegin "Upgrading from PostGIS 1.3 to ${PGIS} on ${db}"
270 psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
271 -f "${postgis_path}/postgis_upgrade_13_to_${PGIS//.}.sql"
272 retval=$?
273 [[ $retval == 0 ]] && eend 0 || safe_exit
274 done
275
276 for db in ${upgrade_from_1_4[@]} ; do
277 ebegin "Upgrading from PostGIS 1.4 to ${PGIS} on ${db}"
278 psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
279 -f "${postgis_path}/postgis_upgrade_14_to_${PGIS//.}.sql"
280 retval=$?
281 [[ $retval == 0 ]] && eend 0 || safe_exit
282 done
283
284 for db in ${upgrade_from_1_5[@]} ; do
285 ebegin "Minor upgrade for PostGIS ${PGIS} on ${db}"
286 psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
287 -f "${postgis_path}/postgis_upgrade_${PGIS//.}_minor.sql"
288 retval=$?
289 [[ $retval == 0 ]] && eend 0 || safe_exit
290 done
291
292 # Clean up and make it so the user has to edit postgis_dbs again that
293 # way this script won't step on any toes due to user error.
294 unset PGPASSWORD
295 sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
296 einfo "PostgreSQL ${PGSLOT} is now PostGIS enabled."
297 einfo
298 einfo "To enable other databases, change the default slot:"
299 einfo " postgresql-config set <slot>"
300 einfo "Then, emerge this package again:"
301 einfo " emerge -av =${CATEGORY}/${PF}"
302 else
303 eerror "You must edit:"
304 eerror " ${EROOT%/}/etc/postgis_dbs"
305 eerror "Before running 'emerge --config =${CATEGORY}/${PF}'"
306 eerror
307 die "Edit postgis_dbs"
308 fi
309 }