aboutsummaryrefslogtreecommitdiffstats
path: root/main/postgresql
diff options
context:
space:
mode:
Diffstat (limited to 'main/postgresql')
-rw-r--r--main/postgresql/APKBUILD8
-rw-r--r--main/postgresql/perl-rpath.patch22
-rw-r--r--main/postgresql/postgresql-plperl.post-install6
3 files changed, 27 insertions, 9 deletions
diff --git a/main/postgresql/APKBUILD b/main/postgresql/APKBUILD
index d219a597a3..08ccd2207e 100644
--- a/main/postgresql/APKBUILD
+++ b/main/postgresql/APKBUILD
@@ -16,9 +16,9 @@ makedepends="$depends_dev libedit-dev zlib-dev libxml2-dev util-linux-dev
openldap-dev tcl-dev perl-dev python-dev"
subpackages="$pkgname-contrib $pkgname-dev $pkgname-doc libpq $pkgname-libs
$pkgname-client $pkgname-plperl $pkgname-plpython $pkgname-pltcl"
-patches="initdb.patch"
source="ftp://ftp.$pkgname.org/pub/source/v$pkgver/$pkgname-$pkgver.tar.bz2
- $patches
+ initdb.patch
+ perl-rpath.patch
$pkgname.initd
$pkgname.confd
pg-restore.initd
@@ -126,7 +126,6 @@ contrib() {
plperl() {
depends=""
pkgdesc="PL/Perl procedural language for PostgreSQL"
- install="$subpkgname.post-install"
mkdir -p "$subpkgdir"/usr/lib/postgresql
mv "$pkgdir"/usr/lib/postgresql/plperl.so "$subpkgdir"/usr/lib/postgresql/plperl.so
@@ -165,18 +164,21 @@ pltcl() {
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
diff --git a/main/postgresql/perl-rpath.patch b/main/postgresql/perl-rpath.patch
new file mode 100644
index 0000000000..a2505acf75
--- /dev/null
+++ b/main/postgresql/perl-rpath.patch
@@ -0,0 +1,22 @@
+We configure Postgres with --disable-rpath because for the most part we
+want to leave it to ldconfig to determine where libraries are. However,
+for some reason the Perl package puts libperl.so in a nonstandard place
+and doesn't add that place to the ldconfig search path. I think this
+is a Perl packaging bug, myself, but apparently it's not going to change.
+So work around it by adding an rpath spec to plperl.so (only).
+
+Alpine notes:
+This patch is copied from Fedora.
+
+--- a/src/pl/plperl/GNUmakefile
++++ b/src/pl/plperl/GNUmakefile
+@@ -43,6 +43,9 @@
+
+ SHLIB_LINK = $(perl_embed_ldflags)
+
++# Force rpath to be used even though we disable it everywhere else
++SHLIB_LINK += $(rpath)
++
+ REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-extension=plperl --load-extension=plperlu
+ REGRESS = plperl plperl_lc plperl_trigger plperl_shared plperl_elog plperl_util plperl_init plperlu plperl_array
+ # if Perl can support two interpreters in one backend,
diff --git a/main/postgresql/postgresql-plperl.post-install b/main/postgresql/postgresql-plperl.post-install
deleted file mode 100644
index 4cc8198c04..0000000000
--- a/main/postgresql/postgresql-plperl.post-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-if [ ! -L /usr/lib/libperl.so ]; then
- find /usr/lib/* -name libperl.so -exec ln -s {} /usr/lib/libperl.so \;
-fi
-