blob: 05880a29ab3357d42f57581bc74416a65ecc7ac9 (
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
|
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=postgresql
pkgver=9.6.10
pkgrel=0
pkgdesc="A sophisticated object-relational DBMS"
url="http://www.postgresql.org/"
arch="all"
license="PostgreSQL"
depends="postgresql-client"
install="$pkgname.pre-upgrade $pkgname-contrib.post-upgrade"
pkgusers="postgres"
pkggroups="postgres"
depends_dev="libressl-dev"
makedepends="$depends_dev libedit-dev zlib-dev libxml2-dev util-linux-dev
openldap-dev"
subpackages="$pkgname-contrib $pkgname-dev $pkgname-doc libpq $pkgname-libs
$pkgname-client"
patches="initdb.patch"
source="https://ftp.postgresql.org/pub/source/v$pkgver/$pkgname-$pkgver.tar.bz2
$patches
$pkgname.initd
$pkgname.confd
pg-restore.initd
pg-restore.confd
"
builddir="$srcdir/$pkgname-$pkgver"
# secfixes:
# 9.6.10-r0:
# - CVE-2018-10915
# - CVE-2018-10925
# 9.6.9-r0:
# - CVE-2018-1115
# 9.6.8-r0:
# - CVE-2018-1058
# 9.6.7-r0:
# - CVE-2018-1053
# 9.6.6-r0:
# - CVE-2017-15098
# - CVE-2017-15099
# 9.6.4-r0:
# - CVE-2017-7546
# - CVE-2017-7547
# - CVE-2017-7548
# 9.6.3-r0:
# - CVE-2017-7484
# - CVE-2017-7485
# - CVE-2017-7486
prepare() {
default_prepare || return 1
cd "$builddir"
# 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
}
build() {
cd "$builddir"
./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 \
|| return 1
make world || return 1
}
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() {
depends=""
pkgdesc="Extension modules distributed with PostgreSQL"
cd "$builddir"
make DESTDIR="$subpkgdir" -C contrib 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
}
sha512sums="960a32c86466f9d5f5491ef163f5c4a99cb5de7312d13371e2223b1d156e31eb2a23ed478e6654bcbb7bd19db9470aaf63473ff661c11c60971b92af5e9daf82 postgresql-9.6.10.tar.bz2
0b88eee78380ed6cf543c851ac1cea5fc50bb6ef1bb51e03694003f43d2bf4e117ff06657f958d0e9c00ace3b8a6bab6ed0bd017d23f80cfd203dab33da81d46 initdb.patch
af37b100cc67769817e4c9e997abecf50475d7f0bf9b0f1d51bf8454d45abd6c87d5d315ed6cafd14e0dd059e96723a6203b756236070d12968816666e63e522 postgresql.initd
5b2fe18e38b5bef6fc289ff7701148dd5608d98002db046b183d715b718f96e22c01ba0adc5b590c386694c3eefae1a0a30425b985965ed2238e3858923b91ec postgresql.confd
f5a1cba051e7d846c2d16703514601cb25729ed96b677c9bd0c199d64552120a8b14b238af01917fdb87106681e12dee6fff7447558155ba273e4f96be5e2892 pg-restore.initd
c14a5684e914abb3b0ee71bbf15eed71a9264deacaa404a6e3af6bfc330d93e7598624d0ed11a94263106cc660f7f54c8ff57e759033cf606a795f69ff6c1c7c pg-restore.confd"
|