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 |