Projects
openEuler:Mainline
libpq
_service:tar_scm:libpq-12.1-symbol-versioning.p...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:libpq-12.1-symbol-versioning.patch of Package libpq
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-14.1/src/interfaces/libpq/exports.txt patched/src/interfaces/libpq/exports.txt --- postgresql-14.1/src/interfaces/libpq/exports.txt 2021-11-08 22:58:24.000000000 +0100 +++ patched/src/interfaces/libpq/exports.txt 2022-01-12 12:00:28.000000000 +0100 @@ -171,15 +171,15 @@ 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 +PQenterPipelineMode 180 14 PQexitPipelineMode 181 PQpipelineSync 182 PQpipelineStatus 183
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2