aboutsummaryrefslogtreecommitdiffstats
path: root/main/postgresql-bdr/APKBUILD
blob: 44039cd1bde823aaa4ece3d8f5f8f2b3b3063fce (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
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=postgresql-bdr
pkgver=9.4.14_p1
_pkgver=${pkgver/_p/_bdr}
pkgrel=9
pkgdesc="A sophisticated object-relational DBMS with bidirectional replication support (BDR)"
url="https://www.2ndquadrant.com/en/resources/postgres-bdr-2ndquadrant/"
arch="all"
license="PostgreSQL"
depends="bash libpq"
install="$pkgname.pre-install $pkgname.pre-upgrade"
depends_dev="readline-dev openssl-dev zlib-dev libxml2-dev"
makedepends="$depends_dev perl bison flex-dev"
subpackages="$pkgname-dev $pkgname-contrib $pkgname-client $pkgname-openrc
	$pkgname-libs"
provides="postgresql=$pkgver"
# Avoid conflicts in provided so:* names with postgresql package.
# sonameprefix="$pkgname:"
source="http://packages.2ndquadrant.com/postgresql-bdr94-2ndquadrant/tarballs/postgresql-bdr-$_pkgver.tar.bz2
	initdb.patch
	postgresql-bdr-osxflags.patch
	$pkgname.initd
	$pkgname.confd
	pgbdr-restore.initd
	pgbdr-restore.confd
	"
builddir="$srcdir/$pkgname-$_pkgver"

prepare() {
	default_prepare

	update_config_sub
	update_config_guess

	# sanity check of conf.d
	(
		. "$srcdir"/$pkgname.confd
		_datadir=/var/lib/postgresql/${pkgver%.*}/data
		if [ "$_datadir" != "$PGDATA" ]; then
			die "PGDATA is $PGDATA while $_datadir is expected"
		fi
	)
	#rm doc/src/Makefile
}

build() {
	# native spinlocks not supported on riscv64 currently
	local _configure=""
	case $CARCH in
	riscv64) _configure=--disable-spinlocks ;;
	esac

	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--mandir=/usr/share/man \
		--with-openssl \
		$_configure

	# configure/programs.m4 doesn't properly detect flex
	# and offers manual user override
	#make FLEX="/usr/bin/flex" JADEFLAGS="-E 999999" OSXFLAGS="-E 999999" \
	 #world
	# Dont' build doc since it throws tons of openjade/osx errors
	make FLEX="/usr/bin/flex" all
}

check() {
	make check
}

package() {
	# Don't install docs
	make DESTDIR="$pkgdir" install

	install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
	install -D -m644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
	install -D -m755 "$srcdir"/pgbdr-restore.initd \
		"$pkgdir"/etc/init.d/pgbdr-restore
	install -D -m644 "$srcdir"/pgbdr-restore.confd \
		"$pkgdir"/etc/conf.d/pgbdr-restore
	# conflicts with libpq mainline
	rm "$pkgdir"/usr/lib/libpq.so*
}

client() {
	pkgdesc="PostgreSQL Client Utilities"
	provides="postgresql-client=$pkgver"

	mkdir -p "$subpkgdir"/usr/lib "$subpkgdir"/usr/bin
	# mv "$pkgdir"/usr/lib/libpq.so* "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/bin/clusterdb \
		"$pkgdir"/usr/bin/createdb \
		"$pkgdir"/usr/bin/createuser \
		"$pkgdir"/usr/bin/dropdb \
		"$pkgdir"/usr/bin/dropuser \
		"$pkgdir"/usr/bin/pg_basebackup \
		"$pkgdir"/usr/bin/pg_dump \
		"$pkgdir"/usr/bin/pg_dumpall \
		"$pkgdir"/usr/bin/pg_isready \
		"$pkgdir"/usr/bin/pg_recvlogical \
		"$pkgdir"/usr/bin/pg_restore \
		"$pkgdir"/usr/bin/psql \
		"$pkgdir"/usr/bin/reindexdb \
		"$pkgdir"/usr/bin/vacuumdb \
		"$subpkgdir"/usr/bin
}

contrib() {
	pkgdesc="Extension modules distributed with PostgreSQL"
	provides="postgresql-contrib=$pkgver"

	cd "$builddir"
	make DESTDIR="$subpkgdir" FLEX="/usr/bin/flex" -C contrib install
}

dev() {
	provides="postgresql-dev=$pkgver"
        default_dev

        _submv usr/bin/pg_config \
                usr/bin/ecpg \
                usr/lib/postgresql/pgxs
}

libs() {
	depends=""
	provides="postgresql-libs=$pkgver"
	default_libs
}

_submv() {
        local path; for path in "$@"; do
                mkdir -p "$subpkgdir/${path%/*}"
                mv "$pkgdir"/$path "$subpkgdir"/${path%/*}/
        done
}

sha512sums="cd8fec782c201270270d4abfa59296083889bf22f63b4e18f758e8262ee52deeae247d813a3e8633861819d803cb369157854de446affdde65c1e12477bbc0b8  postgresql-bdr-9.4.14_bdr1.tar.bz2
6f7fdceb1a5aba3f00894ae88afdf25e5f9c7a0ffc00b11211011a6415ea73639d6a67f516cab66c6487484bab26ded3c93471d6d41ac0d3822926c22274f2ba  initdb.patch
1973863bfc208ce20ca2dd82557ebbd4fcddd1219d6a80f2e83550d0110d39f034cb829cca3ee9208f513a24b032267b94559c740ddddb10a4f24c630194eb5e  postgresql-bdr-osxflags.patch
7aa4e5746f6b9b5f6a1b56c0f18f9506a576fafa7037727d94591948394e7dc158c438927b8359127913c88c1a9ffa9ddb4e89353c4e98c47903a27311b6f502  postgresql-bdr.initd
e906e23241bed2624719c1e7e5305695cce1cb520f26f6a4c6bbb994f59db3cc4c63afcfe0e7fb705ad4691dd0a911770012fc16819e4c2686c7029e1e4a4a45  postgresql-bdr.confd
a20f4b2f7f6e2500b6f2b649d8e27a59d82f07768d7a1ee503cea3a88d21d86344f3b7e89ea10f9ce8509b44d71dbee1c9d8ca60ec0c968f36867270120c913f  pgbdr-restore.initd
c14a5684e914abb3b0ee71bbf15eed71a9264deacaa404a6e3af6bfc330d93e7598624d0ed11a94263106cc660f7f54c8ff57e759033cf606a795f69ff6c1c7c  pgbdr-restore.confd"