import libpq-10.5-1.el8
This commit is contained in:
commit
5b106898b9
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/postgresql-10.5.tar.bz2
|
1
.libpq.metadata
Normal file
1
.libpq.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
8c7b4406b0ba2987f4170657f89908ad47947429 SOURCES/postgresql-10.5.tar.bz2
|
72
SOURCES/libpq-10.3-rpm-pgsql.patch
Normal file
72
SOURCES/libpq-10.3-rpm-pgsql.patch
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
For the RPMs, we want the custom installation directories to end in
|
||||||
|
/pgsql not /postgresql. This is historical but not worth changing.
|
||||||
|
|
||||||
|
Notice that this patch also makes the appending of /pgsql unconditional.
|
||||||
|
This is to avoid unexpected behavior if the RPM is built in a working
|
||||||
|
directory whose path happens to include "postgres" or "pgsql" already.
|
||||||
|
However, datadir and sysconfdir are already set up in the specfile's
|
||||||
|
configure call, so we do not have to append anything to them.
|
||||||
|
|
||||||
|
|
||||||
|
diff -Naur postgresql-9.0.1.orig/src/Makefile.global.in postgresql-9.0.1/src/Makefile.global.in
|
||||||
|
--- postgresql-9.0.1.orig/src/Makefile.global.in 2010-10-01 10:25:44.000000000 -0400
|
||||||
|
+++ postgresql-9.0.1/src/Makefile.global.in 2010-10-11 11:52:05.224975308 -0400
|
||||||
|
@@ -55,8 +55,7 @@
|
||||||
|
# Installation directories
|
||||||
|
#
|
||||||
|
# These are set by the equivalent --xxxdir configure options. We
|
||||||
|
-# append "postgresql" to some of them, if the string does not already
|
||||||
|
-# contain "pgsql" or "postgres", in order to avoid directory clutter.
|
||||||
|
+# append "pgsql" to some of them, in order to avoid directory clutter.
|
||||||
|
#
|
||||||
|
# In a PGXS build, we cannot use the values inserted into Makefile.global
|
||||||
|
# by configure, since the installation tree may have been relocated.
|
||||||
|
@@ -74,45 +73,23 @@
|
||||||
|
bindir := @bindir@
|
||||||
|
|
||||||
|
datadir := @datadir@
|
||||||
|
-ifeq "$(findstring pgsql, $(datadir))" ""
|
||||||
|
-ifeq "$(findstring postgres, $(datadir))" ""
|
||||||
|
-override datadir := $(datadir)/postgresql
|
||||||
|
-endif
|
||||||
|
-endif
|
||||||
|
|
||||||
|
sysconfdir := @sysconfdir@
|
||||||
|
-ifeq "$(findstring pgsql, $(sysconfdir))" ""
|
||||||
|
-ifeq "$(findstring postgres, $(sysconfdir))" ""
|
||||||
|
-override sysconfdir := $(sysconfdir)/postgresql
|
||||||
|
-endif
|
||||||
|
-endif
|
||||||
|
|
||||||
|
libdir := @libdir@
|
||||||
|
|
||||||
|
pkglibdir = $(libdir)
|
||||||
|
-ifeq "$(findstring pgsql, $(pkglibdir))" ""
|
||||||
|
-ifeq "$(findstring postgres, $(pkglibdir))" ""
|
||||||
|
-override pkglibdir := $(pkglibdir)/postgresql
|
||||||
|
-endif
|
||||||
|
-endif
|
||||||
|
+override pkglibdir := $(pkglibdir)/pgsql
|
||||||
|
|
||||||
|
includedir := @includedir@
|
||||||
|
|
||||||
|
pkgincludedir = $(includedir)
|
||||||
|
-ifeq "$(findstring pgsql, $(pkgincludedir))" ""
|
||||||
|
-ifeq "$(findstring postgres, $(pkgincludedir))" ""
|
||||||
|
-override pkgincludedir := $(pkgincludedir)/postgresql
|
||||||
|
-endif
|
||||||
|
-endif
|
||||||
|
+override pkgincludedir := $(pkgincludedir)/pgsql
|
||||||
|
|
||||||
|
mandir := @mandir@
|
||||||
|
|
||||||
|
docdir := @docdir@
|
||||||
|
-ifeq "$(findstring pgsql, $(docdir))" ""
|
||||||
|
-ifeq "$(findstring postgres, $(docdir))" ""
|
||||||
|
-override docdir := $(docdir)/postgresql
|
||||||
|
-endif
|
||||||
|
-endif
|
||||||
|
+override docdir := $(docdir)/pgsql
|
||||||
|
|
||||||
|
htmldir := @htmldir@
|
||||||
|
|
53
SOURCES/libpq-10.3-var-run-socket.patch
Normal file
53
SOURCES/libpq-10.3-var-run-socket.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
Change the built-in default socket directory to be /var/run/postgresql.
|
||||||
|
For backwards compatibility with (probably non-libpq-based) clients that
|
||||||
|
might still expect to find the socket in /tmp, also create a socket in
|
||||||
|
/tmp. This is to resolve communication problems with clients operating
|
||||||
|
under systemd's PrivateTmp environment, which won't be using the same
|
||||||
|
global /tmp directory as the server; see bug #825448.
|
||||||
|
|
||||||
|
Note that we apply the socket directory change at the level of the
|
||||||
|
hard-wired defaults in the C code, not by just twiddling the setting in
|
||||||
|
postgresql.conf.sample; this is so that the change will take effect on
|
||||||
|
server package update, without requiring any existing postgresql.conf
|
||||||
|
to be updated. (Of course, a user who dislikes this behavior can still
|
||||||
|
override it via postgresql.conf.)
|
||||||
|
|
||||||
|
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
|
||||||
|
index 9481f2d..75532c7 100644
|
||||||
|
--- a/src/backend/utils/misc/guc.c
|
||||||
|
+++ b/src/backend/utils/misc/guc.c
|
||||||
|
@@ -3196,7 +3196,7 @@ static struct config_string ConfigureNamesString[] =
|
||||||
|
},
|
||||||
|
&Unix_socket_directories,
|
||||||
|
#ifdef HAVE_UNIX_SOCKETS
|
||||||
|
- DEFAULT_PGSOCKET_DIR,
|
||||||
|
+ DEFAULT_PGSOCKET_DIR ", /tmp",
|
||||||
|
#else
|
||||||
|
"",
|
||||||
|
#endif
|
||||||
|
diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
|
||||||
|
index feeff9e..3e3d784 100644
|
||||||
|
--- a/src/bin/initdb/initdb.c
|
||||||
|
+++ b/src/bin/initdb/initdb.c
|
||||||
|
@@ -1234,7 +1234,7 @@ setup_config(void)
|
||||||
|
|
||||||
|
#ifdef HAVE_UNIX_SOCKETS
|
||||||
|
snprintf(repltok, sizeof(repltok), "#unix_socket_directories = '%s'",
|
||||||
|
- DEFAULT_PGSOCKET_DIR);
|
||||||
|
+ DEFAULT_PGSOCKET_DIR ", /tmp");
|
||||||
|
#else
|
||||||
|
snprintf(repltok, sizeof(repltok), "#unix_socket_directories = ''");
|
||||||
|
#endif
|
||||||
|
diff --git a/src/include/pg_config_manual.h b/src/include/pg_config_manual.h
|
||||||
|
index e278fa0..9ee15d4 100644
|
||||||
|
--- a/src/include/pg_config_manual.h
|
||||||
|
+++ b/src/include/pg_config_manual.h
|
||||||
|
@@ -169,7 +169,7 @@
|
||||||
|
* here's where to twiddle it. You can also override this at runtime
|
||||||
|
* with the postmaster's -k switch.
|
||||||
|
*/
|
||||||
|
-#define DEFAULT_PGSOCKET_DIR "/tmp"
|
||||||
|
+#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is the default event source for Windows event log.
|
89
SOURCES/libpq-10.4-symbol-versioning.patch
Normal file
89
SOURCES/libpq-10.4-symbol-versioning.patch
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
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
|
||||||
|
|
1
SOURCES/postgresql-10.5.tar.bz2.sha256
Normal file
1
SOURCES/postgresql-10.5.tar.bz2.sha256
Normal file
@ -0,0 +1 @@
|
|||||||
|
6c8e616c91a45142b85c0aeb1f29ebba4a361309e86469e0fb4617b6a73c4011 postgresql-10.5.tar.bz2
|
159
SPECS/libpq.spec
Normal file
159
SPECS/libpq.spec
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
%global majorversion 10
|
||||||
|
|
||||||
|
Summary: PostgreSQL client library
|
||||||
|
Name: libpq
|
||||||
|
Version: %majorversion.5
|
||||||
|
Release: 1%{?dist}
|
||||||
|
|
||||||
|
License: PostgreSQL
|
||||||
|
Url: http://www.postgresql.org/
|
||||||
|
|
||||||
|
Source0: https://ftp.postgresql.org/pub/source/v%version/postgresql-%version.tar.bz2
|
||||||
|
Source1: https://ftp.postgresql.org/pub/source/v%version/postgresql-%version.tar.bz2.sha256
|
||||||
|
|
||||||
|
|
||||||
|
# Comments for these patches are in the patch files.
|
||||||
|
Patch1: libpq-10.3-rpm-pgsql.patch
|
||||||
|
Patch2: libpq-10.3-var-run-socket.patch
|
||||||
|
Patch3: libpq-10.4-symbol-versioning.patch
|
||||||
|
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: glibc-devel bison flex gawk
|
||||||
|
BuildRequires: zlib-devel
|
||||||
|
BuildRequires: openssl-devel
|
||||||
|
BuildRequires: krb5-devel
|
||||||
|
BuildRequires: openldap-devel
|
||||||
|
BuildRequires: gettext
|
||||||
|
BuildRequires: multilib-rpm-config
|
||||||
|
|
||||||
|
|
||||||
|
%description
|
||||||
|
The libpq package provides the essential shared library for any PostgreSQL
|
||||||
|
client program or interface. You will need to install this package to use any
|
||||||
|
other PostgreSQL package or any clients that need to connect to a PostgreSQL
|
||||||
|
server.
|
||||||
|
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for building PostgreSQL client tools
|
||||||
|
Requires: %name%{?_isa} = %version-%release
|
||||||
|
# Historically we had 'postgresql-devel' package which was used for building
|
||||||
|
# both PG clients and PG server modules; let's have this fake provide to cover
|
||||||
|
# most of the depending packages and the rest (those which want to build server
|
||||||
|
# modules) need to be fixed to require postgresql-server-devel package.
|
||||||
|
Provides: postgresql-devel = %version-%release
|
||||||
|
|
||||||
|
%description -n libpq-devel
|
||||||
|
The libpq package provides the essential shared library for any PostgreSQL
|
||||||
|
client program or interface. You will need to install this package to build any
|
||||||
|
package or any clients that need to connect to a PostgreSQL server.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
cd %_sourcedir; sha256sum -c %SOURCE1
|
||||||
|
%autosetup -n postgresql-%version -p1
|
||||||
|
|
||||||
|
# remove .gitignore files to ensure none get into the RPMs (bug #642210)
|
||||||
|
find . -type f -name .gitignore | xargs rm
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
# Fiddling with CFLAGS.
|
||||||
|
CFLAGS="${CFLAGS:-%optflags}"
|
||||||
|
CFLAGS=`echo $CFLAGS | xargs -n 1 | sed 's|-O2|-O3|g' | xargs -n 100`
|
||||||
|
# Strip out -ffast-math from CFLAGS....
|
||||||
|
CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100`
|
||||||
|
export CFLAGS
|
||||||
|
|
||||||
|
# We don't build server binaries in this package, so we need to disable some
|
||||||
|
# configure options which are only related to server builds.
|
||||||
|
configure_no_server=--without-readline
|
||||||
|
|
||||||
|
export SYMBOL_VERSION_PREFIX=RHPG_
|
||||||
|
|
||||||
|
%configure \
|
||||||
|
--disable-rpath \
|
||||||
|
--with-ldap \
|
||||||
|
--with-openssl \
|
||||||
|
--with-gssapi \
|
||||||
|
--enable-nls \
|
||||||
|
$configure_no_server \
|
||||||
|
--datadir=%_datadir/pgsql
|
||||||
|
|
||||||
|
%global build_subdirs \\\
|
||||||
|
src/interfaces/libpq \\\
|
||||||
|
src/bin/pg_config \\\
|
||||||
|
src/include
|
||||||
|
|
||||||
|
make -C "src/backend" ../../src/include/utils/fmgroids.h
|
||||||
|
make -C "src/backend" ../../src/include/utils/fmgrprotos.h
|
||||||
|
|
||||||
|
for subdir in %build_subdirs; do
|
||||||
|
make -C "$subdir" %{?_smp_mflags}
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
for subdir in %build_subdirs; do
|
||||||
|
make -C "$subdir" install DESTDIR=$RPM_BUILD_ROOT
|
||||||
|
done
|
||||||
|
|
||||||
|
# remove files not to be packaged
|
||||||
|
rm $RPM_BUILD_ROOT%_libdir/libpq.a
|
||||||
|
rm -r $RPM_BUILD_ROOT%_includedir/pgsql/server
|
||||||
|
|
||||||
|
for header in \
|
||||||
|
%{_includedir}/pg_config.h \
|
||||||
|
%{_includedir}/pg_config_ext.h
|
||||||
|
do
|
||||||
|
%multilib_fix_c_header --file "$header"
|
||||||
|
done
|
||||||
|
|
||||||
|
# initialize file lists
|
||||||
|
cp /dev/null libpq.lst
|
||||||
|
cp /dev/null libpq-devel.lst
|
||||||
|
|
||||||
|
find_lang_bins ()
|
||||||
|
{
|
||||||
|
lstfile=$1 ; shift
|
||||||
|
for binary; do
|
||||||
|
%find_lang "$binary"-%majorversion
|
||||||
|
cat "$binary"-%majorversion.lang >>$lstfile
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
find_lang_bins libpq.lst libpq5
|
||||||
|
find_lang_bins libpq-devel.lst pg_config
|
||||||
|
|
||||||
|
|
||||||
|
%ldconfig_scriptlets
|
||||||
|
|
||||||
|
|
||||||
|
%files -f libpq.lst
|
||||||
|
%license COPYRIGHT
|
||||||
|
%_libdir/libpq.so.*
|
||||||
|
%dir %_datadir/pgsql
|
||||||
|
%doc %_datadir/pgsql/pg_service.conf.sample
|
||||||
|
|
||||||
|
|
||||||
|
%files devel -f libpq-devel.lst
|
||||||
|
%_bindir/pg_config
|
||||||
|
%_includedir/*
|
||||||
|
%_libdir/libpq.so
|
||||||
|
%_libdir/pkgconfig/libpq.pc
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Wed Aug 08 2018 Pavel Raiskup <praiskup@redhat.com> - 10.5-1
|
||||||
|
- update to 10.5 per release notes:
|
||||||
|
https://www.postgresql.org/docs/10/static/release-10-5.html
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Pavel Raiskup <praiskup@redhat.com> - 10.4-2
|
||||||
|
- ABI/symbol versioning
|
||||||
|
|
||||||
|
* Thu Jul 12 2018 Pavel Raiskup <praiskup@redhat.com> - 10.4-1
|
||||||
|
- rebase to the latest upstream release
|
||||||
|
|
||||||
|
* Fri Apr 13 2018 Pavel Raiskup <praiskup@redhat.com> - 10.3-1
|
||||||
|
- initial release, packaging inspired by postgresql.spec
|
||||||
|
- provide postgresql-devel to avoid fixing all the client packages
|
Loading…
Reference in New Issue
Block a user