pgbuilder_pel7ppc64bebuilder0
5 years ago
4 changed files with 363 additions and 0 deletions
@ -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@ |
||||||
|
|
@ -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. |
@ -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 |
||||||
|
|
@ -0,0 +1,149 @@ |
|||||||
|
%global majorversion 11 |
||||||
|
|
||||||
|
Summary: PostgreSQL client library |
||||||
|
Name: libpq |
||||||
|
Version: %majorversion.2 |
||||||
|
Release: 2%{?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 |
||||||
|
|
||||||
|
Obsoletes: postgresql-libs < %majorversion |
||||||
|
Provides: postgresql-libs = %version-%release |
||||||
|
|
||||||
|
|
||||||
|
%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 |
||||||
|
Obsoletes: postgresql-devel < %majorversion |
||||||
|
|
||||||
|
%description 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 "$(dirname "%SOURCE1")" ; 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 |
||||||
|
# complements symbol-versioning patch |
||||||
|
export SYMBOL_VERSION_PREFIX=RHPG_ |
||||||
|
|
||||||
|
# We don't build server nor client (e.g. /bin/psql) binaries in this package, so |
||||||
|
# we can disable some configure options. |
||||||
|
%configure \ |
||||||
|
--disable-rpath \ |
||||||
|
--with-ldap \ |
||||||
|
--with-openssl \ |
||||||
|
--with-gssapi \ |
||||||
|
--enable-nls \ |
||||||
|
--without-readline \ |
||||||
|
--datadir=%_datadir/pgsql |
||||||
|
|
||||||
|
%global build_subdirs \\\ |
||||||
|
src/interfaces/libpq \\\ |
||||||
|
src/bin/pg_config \\\ |
||||||
|
src/include |
||||||
|
|
||||||
|
for subdir in %build_subdirs; do |
||||||
|
%make_build -C "$subdir" |
||||||
|
done |
||||||
|
|
||||||
|
|
||||||
|
%install |
||||||
|
for subdir in %build_subdirs; do |
||||||
|
%make_install -C "$subdir" |
||||||
|
done |
||||||
|
|
||||||
|
# remove files not to be packaged |
||||||
|
find $RPM_BUILD_ROOT -name '*.a' -delete |
||||||
|
rm -r $RPM_BUILD_ROOT%_includedir/pgsql/server |
||||||
|
|
||||||
|
%multilib_fix_c_header --file "%_includedir/pg_config.h" |
||||||
|
%multilib_fix_c_header --file "%_includedir/pg_config_ext.h" |
||||||
|
|
||||||
|
find_lang_bins () |
||||||
|
{ |
||||||
|
lstfile=$1 ; shift |
||||||
|
cp /dev/null "$lstfile" |
||||||
|
for binary; do |
||||||
|
%find_lang "$binary"-%majorversion |
||||||
|
cat "$binary"-%majorversion.lang >>"$lstfile" |
||||||
|
done |
||||||
|
} |
||||||
|
|
||||||
|
find_lang_bins %name.lst libpq5 |
||||||
|
find_lang_bins %name-devel.lst pg_config |
||||||
|
|
||||||
|
|
||||||
|
%files -f %name.lst |
||||||
|
%license COPYRIGHT |
||||||
|
%_libdir/libpq.so.5* |
||||||
|
%dir %_datadir/pgsql |
||||||
|
%doc %_datadir/pgsql/pg_service.conf.sample |
||||||
|
|
||||||
|
|
||||||
|
%files devel -f %name-devel.lst |
||||||
|
%_bindir/pg_config |
||||||
|
%_includedir/* |
||||||
|
%_libdir/libpq.so |
||||||
|
%_libdir/pkgconfig/libpq.pc |
||||||
|
|
||||||
|
|
||||||
|
%changelog |
||||||
|
* Mon Feb 18 2019 Pavel Raiskup <praiskup@redhat.com> - 11.2-2 |
||||||
|
- fix dnf system-upgrade from f29 to f29+, rhbz#1677849 |
||||||
|
|
||||||
|
* Thu Feb 14 2019 Pavel Raiskup <praiskup@redhat.com> - 11.2-1 |
||||||
|
- latest upstream release, per release notes: |
||||||
|
https://www.postgresql.org/docs/11/static/release-11-1.html |
||||||
|
https://www.postgresql.org/docs/11/static/release-11-2.html |
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11.0-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild |
||||||
|
|
||||||
|
* Tue Oct 16 2018 Pavel Raiskup <praiskup@redhat.com> - 11.0-1 |
||||||
|
- latest upstream release, per release notes: |
||||||
|
https://www.postgresql.org/docs/11/static/release-11-0.html |
||||||
|
|
||||||
|
* Tue Sep 04 2018 Pavel Raiskup <praiskup@redhat.com> - 10.5-4 |
||||||
|
- fix provides/obsoletes to final state |
||||||
|
|
||||||
|
* Thu Aug 30 2018 Pavel Raiskup <praiskup@redhat.com> - 10.5-1 |
||||||
|
- libpq packaging for Fedora |
Loading…
Reference in new issue