You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
3.4 KiB
106 lines
3.4 KiB
commit 75040c3388d9a7dd5ad2bee53cbcc8bf3d35cd17 |
|
Author: Honza Horak <hhorak@redhat.com> |
|
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 67e7998..86612a4 100644 |
|
--- a/config/Makefile |
|
+++ b/config/Makefile |
|
@@ -8,6 +8,7 @@ include $(top_builddir)/src/Makefile.global |
|
install: all installdirs |
|
$(INSTALL_SCRIPT) $(srcdir)/install-sh '$(DESTDIR)$(pgxsdir)/config/install-sh' |
|
$(INSTALL_SCRIPT) $(srcdir)/missing '$(DESTDIR)$(pgxsdir)/config/missing' |
|
+ $(INSTALL_SCRIPT) $(srcdir)/build-exports-gnu-ld '$(DESTDIR)$(pgxsdir)/config/build-exports-gnu-ld' |
|
|
|
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 373d73caef..d5bd5468cd 100644 |
|
--- a/src/Makefile.shlib |
|
+++ b/src/Makefile.shlib |
|
@@ -231,7 +231,7 @@ ifeq ($(PORTNAME), linux) |
|
ifdef soname |
|
LINK.shared += -Wl,-soname,$(soname) |
|
endif |
|
- BUILD.exports = ( echo '{ global:'; $(AWK) '/^[^\#]/ {printf "%s;\n",$$1}' $<; echo ' local: *; };' ) >$@ |
|
+ BUILD.exports = $(SHELL) $(top_srcdir)/config/build-exports-gnu-ld < $< > $@ |
|
exports_file = $(SHLIB_EXPORTS:%.txt=%.list) |
|
ifneq (,$(exports_file)) |
|
LINK.shared += -Wl,--version-script=$(exports_file) |
|
diff -ur postgresql-15.0_original/src/interfaces/libpq/exports.txt postgresql-15.0/src/interfaces/libpq/exports.txt |
|
--- postgresql-15.0_original/src/interfaces/libpq/exports.txt 2022-10-10 22:57:37.000000000 +0200 |
|
+++ postgresql-15.0/src/interfaces/libpq/exports.txt 2022-10-19 15:07:19.733908438 +0200 |
|
@@ -171,16 +171,16 @@ |
|
PQsslAttribute 169 |
|
PQsetErrorContextVisibility 170 |
|
PQresultVerboseErrorMessage 171 |
|
-PQencryptPasswordConn 172 |
|
-PQresultMemorySize 173 |
|
+PQencryptPasswordConn 172 10 |
|
+PQresultMemorySize 173 12 |
|
PQhostaddr 174 |
|
PQgssEncInUse 175 |
|
PQgetgssctx 176 |
|
-PQsetSSLKeyPassHook_OpenSSL 177 |
|
+PQsetSSLKeyPassHook_OpenSSL 177 13 |
|
PQgetSSLKeyPassHook_OpenSSL 178 |
|
PQdefaultSSLKeyPassHook_OpenSSL 179 |
|
-PQenterPipelineMode 180 |
|
-PQexitPipelineMode 181 |
|
+PQenterPipelineMode 180 14 |
|
+PQexitPipelineMode 181 15 |
|
PQpipelineSync 182 |
|
PQpipelineStatus 183 |
|
PQsetTraceFlags 184 |
|
|