From 0af3abaff40621b0703343a9a6540de4b91b9787 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 30 Oct 2020 20:29:26 +0100 Subject: [PATCH] Fix the v13 update --- libpq-10.3-var-run-socket.patch | 12 +-- libpq-12.1-symbol-versioning.patch | 121 +++++++++++++++-------------- 2 files changed, 70 insertions(+), 63 deletions(-) diff --git a/libpq-10.3-var-run-socket.patch b/libpq-10.3-var-run-socket.patch index 0c3e882..4b130b0 100644 --- a/libpq-10.3-var-run-socket.patch +++ b/libpq-10.3-var-run-socket.patch @@ -42,12 +42,12 @@ diff --git a/src/include/pg_config_manual.h b/src/include/pg_config_manual.h index 8f3ec6bde1..066daf3f08 100644 --- a/src/include/pg_config_manual.h +++ b/src/include/pg_config_manual.h -@@ -203,7 +203,7 @@ +@@ -201,7 +201,7 @@ + * support them yet. + */ #ifndef WIN32 - #define DEFAULT_PGSOCKET_DIR "/tmp" - #else --#define DEFAULT_PGSOCKET_DIR "" +-#define DEFAULT_PGSOCKET_DIR "/tmp" +#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql" + #else + #define DEFAULT_PGSOCKET_DIR "" #endif - - /* diff --git a/libpq-12.1-symbol-versioning.patch b/libpq-12.1-symbol-versioning.patch index 189140b..4c0f3b6 100644 --- a/libpq-12.1-symbol-versioning.patch +++ b/libpq-12.1-symbol-versioning.patch @@ -1,5 +1,13 @@ +commit 75040c3388d9a7dd5ad2bee53cbcc8bf3d35cd17 +Author: Honza Horak +Date: Fri Oct 30 20:16:50 2020 +0100 + + The libpq package is supposed to be used for all the PostgreSQL modules + available in RHEL 8, and ABI versioning will guarantee us that modular RPMs will + depend on appropriate libpq ABI version (picked at build-time). + diff --git a/config/Makefile b/config/Makefile -index 67e7998f55..86612a42c3 100644 +index 67e7998..86612a4 100644 --- a/config/Makefile +++ b/config/Makefile @@ -8,6 +8,7 @@ include $(top_builddir)/src/Makefile.global @@ -10,11 +18,58 @@ index 67e7998f55..86612a42c3 100644 installdirs: $(MKDIR_P) '$(DESTDIR)$(pgxsdir)/config' +diff --git a/config/build-exports-gnu-ld b/config/build-exports-gnu-ld +new file mode 100755 +index 0000000000..84c48e3ade +--- /dev/null ++++ b/config/build-exports-gnu-ld +@@ -0,0 +1,41 @@ ++#! /bin/sh ++ ++# by default use PG_ prefix ++: "${SYMBOL_VERSION_PREFIX=PG_}" ++ ++# we started symbol versioning since v10 ++: "${SYMBOL_VERSION_START=9.6}" ++ ++version=$SYMBOL_VERSION_START ++version_prev= ++first=: ++ ++open_block () ++{ ++ $first || echo ++ first=false ++ echo "${SYMBOL_VERSION_PREFIX}$version {" ++ echo "global:" ++} ++ ++close_block () ++{ ++ echo "}${version_prev:+ $SYMBOL_VERSION_PREFIX$version_prev};" ++ version_prev=$version ++ version=$1 ++} ++ ++open_block ++while read -r symbol _ new_version ++do ++ case $symbol in '#'*) continue ;; esac ++ if test -n "$new_version" && test "$new_version" != "$version"; then ++ close_block "$new_version" ++ open_block ++ fi ++ echo " $symbol;" ++done ++ ++echo "local:" ++echo " *;" ++close_block diff --git a/src/Makefile.shlib b/src/Makefile.shlib -index 29a7f6d38c..d7599a3e16 100644 +index 373d73caef..d5bd5468cd 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib -@@ -215,7 +215,7 @@ ifeq ($(PORTNAME), linux) +@@ -231,7 +231,7 @@ ifeq ($(PORTNAME), linux) ifdef soname LINK.shared += -Wl,-soname,$(soname) endif @@ -23,55 +78,8 @@ index 29a7f6d38c..d7599a3e16 100644 exports_file = $(SHLIB_EXPORTS:%.txt=%.list) ifneq (,$(exports_file)) LINK.shared += -Wl,--version-script=$(exports_file) -diff --git a/config/build-exports-gnu-ld b/config/build-exports-gnu-ld -new file mode 100755 -index 0000000000..84c48e3ade ---- /dev/null -+++ b/config/build-exports-gnu-ld -@@ -0,0 +1,41 @@ -+#! /bin/sh -+ -+# by default use PG_ prefix -+: "${SYMBOL_VERSION_PREFIX=PG_}" -+ -+# we started symbol versioning since v10 -+: "${SYMBOL_VERSION_START=9.6}" -+ -+version=$SYMBOL_VERSION_START -+version_prev= -+first=: -+ -+open_block () -+{ -+ $first || echo -+ first=false -+ echo "${SYMBOL_VERSION_PREFIX}$version {" -+ echo "global:" -+} -+ -+close_block () -+{ -+ echo "}${version_prev:+ $SYMBOL_VERSION_PREFIX$version_prev};" -+ version_prev=$version -+ version=$1 -+} -+ -+open_block -+while read -r symbol _ new_version -+do -+ case $symbol in '#'*) continue ;; esac -+ if test -n "$new_version" && test "$new_version" != "$version"; then -+ close_block "$new_version" -+ open_block -+ fi -+ echo " $symbol;" -+done -+ -+echo "local:" -+echo " *;" -+close_block diff --git a/src/interfaces/libpq/exports.txt b/src/interfaces/libpq/exports.txt -index bbc1f90481..0b00a94279 100644 +index bbc1f90..fc3ef8a 100644 --- a/src/interfaces/libpq/exports.txt +++ b/src/interfaces/libpq/exports.txt @@ -171,11 +171,11 @@ PQsslAttributeNames 168 @@ -79,13 +87,12 @@ index bbc1f90481..0b00a94279 100644 PQsetErrorContextVisibility 170 PQresultVerboseErrorMessage 171 -PQencryptPasswordConn 172 --PQresultMemorySize 173 -+PQencryptPasswordConn 172 10 -+PQresultMemorySize 173 12 ++PQencryptPasswordConn 172 10 + PQresultMemorySize 173 PQhostaddr 174 PQgssEncInUse 175 --PQgetgssctx 176 -+PQgetgssctx 176 13 - PQsetSSLKeyPassHook_OpenSSL 177 + PQgetgssctx 176 +-PQsetSSLKeyPassHook_OpenSSL 177 ++PQsetSSLKeyPassHook_OpenSSL 177 13 PQgetSSLKeyPassHook_OpenSSL 178 PQdefaultSSLKeyPassHook_OpenSSL 179