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.
89 lines
2.6 KiB
89 lines
2.6 KiB
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 |
|
--- 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..bdcfb40d48 |
|
--- /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 95b82a6dea..a7065d02a4 100644 |
|
--- a/src/Makefile.shlib |
|
+++ b/src/Makefile.shlib |
|
@@ -221,7 +221,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 --git a/src/interfaces/libpq/exports.txt b/src/interfaces/libpq/exports.txt |
|
index d6a38d0df8..29bebeac7e 100644 |
|
--- a/src/interfaces/libpq/exports.txt |
|
+++ b/src/interfaces/libpq/exports.txt |
|
@@ -171,4 +171,4 @@ PQsslAttributeNames 168 |
|
PQsslAttribute 169 |
|
PQsetErrorContextVisibility 170 |
|
PQresultVerboseErrorMessage 171 |
|
-PQencryptPasswordConn 172 |
|
+PQencryptPasswordConn 172 10 |
|
-- |
|
2.17.0 |
|
|
|
|