blob: 6a5351884029ed557ee899a6b599acd82fe523b0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
|
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
# Contributor: G.J.R. Timmer <gjr.timmer@gmail.com>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
pkgname=postgresql
pkgver=9.6.1
pkgrel=1
pkgdesc="A sophisticated object-relational DBMS"
url="http://www.postgresql.org/"
arch="all"
license="BSD"
depends="postgresql-client"
install="$pkgname.pre-upgrade"
pkgusers="postgres"
pkggroups="postgres"
depends_dev="libressl-dev"
makedepends="$depends_dev libedit-dev zlib-dev libxml2-dev util-linux-dev
openldap-dev tcl-dev perl-dev python2-dev python3-dev"
subpackages="$pkgname-contrib $pkgname-dev $pkgname-doc libpq $pkgname-libs
$pkgname-client $pkgname-pltcl
$pkgname-plperl $pkgname-plperl-contrib:plperl_contrib
$pkgname-plpython2 $pkgname-plpython2-contrib:plpython2_contrib
$pkgname-plpython3 $pkgname-plpython3-contrib:plpython3_contrib"
source="ftp://ftp.$pkgname.org/pub/source/v$pkgver/$pkgname-$pkgver.tar.bz2
initdb.patch
perl-rpath.patch
$pkgname.initd
$pkgname.confd
pg-restore.initd
pg-restore.confd
"
builddir="$srcdir/$pkgname-$pkgver"
prepare() {
default_prepare || return 1
# sanity check of conf.d
(
. "$srcdir"/postgresql.confd
_datadir=/var/lib/postgresql/${pkgver%.*}/data
if [ "$_datadir" != "$PGDATA" ]; then
die "PGDATA is $PGDATA while $_datadir is expected"
fi
) || return 1
cp -al "$builddir" "$builddir"~py3
}
# NOTE: plpython requires separate configure/build runs to build against
# python 2 versus python 3. Note that the installed Makefile.global will
# reflect the python 2 build, which seems appropriate since that's still
# considered the default plpython version.
build() {
msg "Building plpython3"
cd "$builddir"~py3
export PYTHON=/usr/bin/python3
_configure || return 1
make -C src/backend submake-errcodes || return 1
make -C src/pl/plpython all || return 1
msg "Building all"
cd "$builddir"
export PYTHON=/usr/bin/python2
_configure && make world || return 1
unset PYTHON
}
_configure() {
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--mandir=/usr/share/man \
--with-ldap \
--with-libedit-preferred \
--with-libxml \
--with-openssl \
--with-uuid=e2fs \
--disable-rpath \
--with-perl \
--with-python \
--with-tcl
}
package() {
cd "$builddir"
make DESTDIR="$pkgdir" install install-docs || return 1
install -d -m755 -o postgres -g postgres \
"$pkgdir"/var/lib/postgresql || return 1
install -D -m755 "$srcdir"/postgresql.initd \
"$pkgdir"/etc/init.d/postgresql || return 1
install -D -m644 "$srcdir"/postgresql.confd \
"$pkgdir"/etc/conf.d/postgresql || return 1
install -D -m755 "$srcdir"/pg-restore.initd \
"$pkgdir"/etc/init.d/pg-restore || return 1
install -D -m644 "$srcdir"/pg-restore.confd \
"$pkgdir"/etc/conf.d/pg-restore || return 1
}
dev() {
default_dev || return 1
mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib/postgresql
mv "$pkgdir"/usr/bin/pg_config \
"$pkgdir"/usr/bin/ecpg \
"$subpkgdir"/usr/bin/ || return 1
mv "$pkgdir"/usr/lib/postgresql/pgxs \
"$subpkgdir"/usr/lib/postgresql/ || return 1
}
libpq() {
pkgdesc="PostgreSQL libraries"
depends=""
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libpq.so.* "$subpkgdir"/usr/lib/
}
libs() {
depends=""
default_libs
}
client() {
pkgdesc="PostgreSQL client"
depends=""
mkdir -p "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/psql "$subpkgdir"/usr/bin/
}
contrib() {
pkgdesc="Extension modules distributed with PostgreSQL"
depends=""
cd "$builddir"
# Avoid installing plperl and plpython extensions, these will be
# installed into separate subpackages.
sed -Ei -e 's/(.*_plperl)/#\1/' \
-e 's/(.*_plpython)/#\1/' \
contrib/Makefile || return 1
make -C contrib DESTDIR="$subpkgdir" install || return 1
mv "$subpkgdir"/usr/share/doc/postgresql/extension \
"$pkgdir"/usr/share/doc/postgresql/ || return 1
rmdir -p "$subpkgdir"/usr/share/doc/postgresql || true
}
pltcl() {
pkgdesc="PL/Tcl procedural language for PostgreSQL"
depends="pgtcl"
cd "$pkgdir"
_submv usr/bin/pltcl* \
usr/lib/postgresql/pltcl.so \
usr/share/postgresql/unknown.pltcl \
usr/share/postgresql/extension/pltcl*
}
plperl() {
pkgdesc="PL/Perl procedural language for PostgreSQL"
depends=""
cd "$pkgdir"
_submv usr/lib/postgresql/plperl.so \
usr/share/postgresql/extension/plperl*
}
plperl_contrib() {
_plcontrib plperl "PL/Perl"
cd "$builddir"
make -C contrib/hstore_plperl DESTDIR="$subpkgdir" install
}
plpython2() {
pkgdesc="PL/Python2 procedural language for PostgreSQL"
depends=""
cd "$pkgdir"
_submv usr/lib/postgresql/plpython2.so \
usr/share/postgresql/extension/plpython*
}
plpython2_contrib() {
_plcontrib plpython2 "PL/Python 2"
cd "$builddir"
make -C contrib/hstore_plpython DESTDIR="$subpkgdir" install || return 1
make -C contrib/ltree_plpython DESTDIR="$subpkgdir" install || return 1
rm "$subpkgdir"/usr/share/postgresql/extension/*plpython3*
}
plpython3() {
pkgdesc="PL/Python3 procedural language for PostgreSQL"
depends=""
cd "$builddir"~py3
make -C src/pl/plpython DESTDIR="$subpkgdir" install || return 1
rm -R "$subpkgdir"/usr/include
}
plpython3_contrib() {
_plcontrib plpython3 "PL/Python 3"
cd "$builddir"~py3
make -C contrib/hstore_plpython DESTDIR="$subpkgdir" install || return 1
make -C contrib/ltree_plpython DESTDIR="$subpkgdir" install || return 1
cd "$subpkgdir"/usr/share/postgresql/extension/
rm *plpython2* *plpythonu*
}
_plcontrib() {
local subname="$1"
pkgdesc="$2 extension modules distributed with PostgreSQL"
depends="$pkgname-$subname"
install_if="$pkgname-$subname=$pkgver-r$pkgrel $pkgname-contrib=$pkgver-r$pkgrel"
}
_submv() {
local path; for path in "$@"; do
mkdir -p "$subpkgdir/${path%/*}"
mv "$path" "$subpkgdir/$path" || return 1
done
}
md5sums="92ae6d7cdf18e648b3c22d0aa015565d postgresql-9.6.1.tar.bz2
538fa611966ee43c001dafdc1587c170 initdb.patch
643a56ee96d8de682ada8aba52a9fb53 perl-rpath.patch
a7a193cce4443998e3a47fde4f10723e postgresql.initd
e63ec8cd30cb33e812f79f06892b6dc4 postgresql.confd
140ed427fe54b435064f0e3c6f683aea pg-restore.initd
bf45384752b320b369f1425939763178 pg-restore.confd"
sha256sums="e5101e0a49141fc12a7018c6dad594694d3a3325f5ab71e93e0e51bd94e51fcd postgresql-9.6.1.tar.bz2
abd3761ecb47e41625d21bfda6a36badb047b0bedfd7cf0b1fbe61914fb3c9bc initdb.patch
83e79ccc98b12d68a9620ae528d6ac37012841a7c120477e05e327fb52eadb38 perl-rpath.patch
af57a4190b1f5019290d26429b973d31465a8224a2e552fc3ecaf4fb4e471d7f postgresql.initd
5ad3d9d0cd9d361ce453e5ec28ee04c9a17969842abd0150b5b65bc1967d4ee6 postgresql.confd
e509cdb77a4be8a74381b039bb8e5dc3a7b7ef3375785acf967092e4e6a34215 pg-restore.initd
31414d8b57c4cd2116b6014de3f1329875151910753fbd616daec4554866d02f pg-restore.confd"
sha512sums="f27af67f9a96f6327150330bf091a803e10eabbac4e488cf5e4d72907e2eb1dbde7282fe0b89fd75711fd8bdcdb3688b5a9eac1e4d6871f4e8681c9c8b0e7c45 postgresql-9.6.1.tar.bz2
0b88eee78380ed6cf543c851ac1cea5fc50bb6ef1bb51e03694003f43d2bf4e117ff06657f958d0e9c00ace3b8a6bab6ed0bd017d23f80cfd203dab33da81d46 initdb.patch
5f9d8bb4957194069d01af8ab3abc6d4d83a7e7f8bd7ebe1caae5361d621a3e58f91b14b952958138a794e0a80bc154fbb7e3e78d211e2a95b9b7901335de854 perl-rpath.patch
af37b100cc67769817e4c9e997abecf50475d7f0bf9b0f1d51bf8454d45abd6c87d5d315ed6cafd14e0dd059e96723a6203b756236070d12968816666e63e522 postgresql.initd
5b2fe18e38b5bef6fc289ff7701148dd5608d98002db046b183d715b718f96e22c01ba0adc5b590c386694c3eefae1a0a30425b985965ed2238e3858923b91ec postgresql.confd
f5a1cba051e7d846c2d16703514601cb25729ed96b677c9bd0c199d64552120a8b14b238af01917fdb87106681e12dee6fff7447558155ba273e4f96be5e2892 pg-restore.initd
c14a5684e914abb3b0ee71bbf15eed71a9264deacaa404a6e3af6bfc330d93e7598624d0ed11a94263106cc660f7f54c8ff57e759033cf606a795f69ff6c1c7c pg-restore.confd"
|