Date: Sunday, September 23, 2018 @ 14:02:31
  Author: anthraxx
Revision: 335249

upgpkg: postgresql 10.5-2 (fix preserve rpath for libperl)

- perl puts the libperl.so outside of libdir and as its not exposed via
  ldconfig the default dynlinker can't find it. Preserve the rpath only
  for plperl so allow linking against libperl.so (fixes FS#59767)
  Don't use rpath if not needed for a good reason, let ldconfig and the
  dynlinker do its job!

- adding test suite plus convenience helper to print the actual failing
  diff whenever something occurs.

Added:
  postgresql/trunk/postgresql-perl-rpath.patch
Modified:
  postgresql/trunk/PKGBUILD

-----------------------------+
 PKGBUILD                    |   24 +++++++++++++++++++++---
 postgresql-perl-rpath.patch |   13 +++++++++++++
 2 files changed, 34 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2018-09-23 13:36:27 UTC (rev 335248)
+++ PKGBUILD    2018-09-23 14:02:31 UTC (rev 335249)
@@ -5,7 +5,7 @@
 pkgname=('postgresql-libs' 'postgresql-docs' 'postgresql')
 pkgver=10.5
 _majorver=${pkgver%.*}
-pkgrel=1
+pkgrel=2
 pkgdesc='Sophisticated object-relational DBMS'
 url='https://www.postgresql.org/'
 arch=('x86_64')
@@ -13,6 +13,7 @@
 makedepends=('krb5' 'libxml2' 'python' 'python2' 'perl' 'tcl>=8.6.0' 
'openssl>=1.0.0' 'pam' 'zlib' 'icu' 'systemd' 'libldap')
 
source=(https://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2
         postgresql-run-socket.patch
+        postgresql-perl-rpath.patch
         postgresql.pam
         postgresql.logrotate
         postgresql.service
@@ -19,6 +20,7 @@
         postgresql-check-db-dir)
 sha256sums=('6c8e616c91a45142b85c0aeb1f29ebba4a361309e86469e0fb4617b6a73c4011'
             '8538619cb8bea51078b605ad64fe22abd6050373c7ae3ad6595178da52f6a7d9'
+            '5f73b54ca6206bd2c469c507830261ebd167baca074698d8889d769c33f98a31'
             '57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5'
             '6abb842764bbed74ea4a269d24f1e73d1c0b1d8ecd6e2e6fb5fb10590298605e'
             'ad025a5fb623b1a1e9dff0cc62cc63f66244bb27d81370a6251aa29e8574be94'
@@ -25,6 +27,7 @@
             '888a1d44f03fccfa4bf344ee45824fefb846ae3c1c0c40113ad6020b4be3b0cf')
 
sha512sums=('1bad30ae88beca66f7e8b99b82e7f02aac1e9230b328e6e5a762a704cdd9dc767d924f5a66c68c93586badfef91b7ff336120a567ce970eaa58bb44c662ad48c'
             
'031efe12d18ce386989062327cdbbe611c5ef1f94e4e1bead502304cb3e2d410af533d3c7f1109d24f9da9708214fe32f9a10ba373a3ca8d507bdb521fbb75f7'
+            
'38302242b30c01c7981574ed28d9cbd9dc73bf6b56ba3a032afb5d0885ae83e5aa72ce578bf2422214dfa6c46f09d0bdd7cccaeb3c25d58754eb1a34f8bf5615'
             
'1e6183ab0eb812b3ef687ac2c26ce78f7cb30540f606d20023669ac00ba04075487fb72e4dc89cc05dab0269ff6aca98fc1167cc75669c225b88b592482fbf67'
             
'9ab4da01337ffbab8faec0e220aaa2a642dbfeccf7232ef2645bdc2177a953f17ee3cc14a4d8f8ebd064e1dae8b3dba6029adbffb8afaabea383963213941ba8'
             
'acd60166ff513b16778705e824944945cd0a98abc519fa5f0232252e0e9c85460c6f8b85459d9692d1f3df1caaaf8909c3e7f785be99c2d3fb98a10b2641a795'
@@ -33,6 +36,7 @@
 prepare() {
   cd postgresql-${pkgver}
   patch -p1 < ../postgresql-run-socket.patch
+  patch -p1 < ../postgresql-perl-rpath.patch
 }
 
 build() {
@@ -79,6 +83,20 @@
   make world
 }
 
+_postgres_check() {
+  make "${1}" || (find . -name regression.diffs | \
+    while read -r line; do
+      error "make ${1} failure: ${line}"
+      cat "${line}"
+    done; exit 1)
+}
+
+check() {
+  cd postgresql-${pkgver}
+  _postgres_check check
+  _postgres_check check-world
+}
+
 package_postgresql-libs() {
   pkgdesc="Libraries for use with PostgreSQL"
   depends=('krb5' 'openssl>=1.0.0' 'readline>=6.0' 'zlib' 'libldap')
@@ -156,8 +174,8 @@
 
   # install plpython3
   mv src/Makefile.global src/Makefile.global.save
-       cp src/Makefile.global.python3 src/Makefile.global
-       touch -r src/Makefile.global.save src/Makefile.global
+  cp src/Makefile.global.python3 src/Makefile.global
+  touch -r src/Makefile.global.save src/Makefile.global
   make -C src/pl/plpython3 DESTDIR="${pkgdir}" install
   make -C contrib/hstore_plpython3 DESTDIR="${pkgdir}" install
   make -C contrib/ltree_plpython3 DESTDIR="${pkgdir}" install

Added: postgresql-perl-rpath.patch
===================================================================
--- postgresql-perl-rpath.patch                         (rev 0)
+++ postgresql-perl-rpath.patch 2018-09-23 14:02:31 UTC (rev 335249)
@@ -0,0 +1,13 @@
+diff -Naur postgresql-9.1.5.orig/src/pl/plperl/GNUmakefile 
postgresql-9.1.5/src/pl/plperl/GNUmakefile
+--- postgresql-9.1.5.orig/src/pl/plperl/GNUmakefile    2012-08-14 
18:41:04.000000000 -0400
++++ postgresql-9.1.5/src/pl/plperl/GNUmakefile 2012-08-17 11:15:09.457116708 
-0400
+@@ -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,

Reply via email to