From 582c4bfc7a7e530c52eba1a2cbd2c171a9d004e8 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Jun 04 2015 07:20:37 +0000 Subject: import rh-postgresql94-postgresql-9.4.1-8.el7 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0a01c96 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +SOURCES/postgresql-9.4.1-US.pdf +SOURCES/postgresql-9.4.1.tar.bz2 +SOURCES/postgresql-setup-3.3.tar.gz diff --git a/.rh-postgresql94-postgresql.metadata b/.rh-postgresql94-postgresql.metadata new file mode 100644 index 0000000..0b1b62a --- /dev/null +++ b/.rh-postgresql94-postgresql.metadata @@ -0,0 +1,3 @@ +d8fd65e8ef34b94bdb463fdde185464905e5f77a SOURCES/postgresql-9.4.1-US.pdf +0086c9625e727be5b1ef00c4c694e762e41eba50 SOURCES/postgresql-9.4.1.tar.bz2 +2317e63eb18c38e2fd0ffd85585334a38a9dc1f9 SOURCES/postgresql-setup-3.3.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 98f42b4..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/Makefile.regress b/SOURCES/Makefile.regress new file mode 100644 index 0000000..43c7ba4 --- /dev/null +++ b/SOURCES/Makefile.regress @@ -0,0 +1,67 @@ +# +# Simplified makefile for running the PostgreSQL regression tests +# in an RPM installation +# + +# maximum simultaneous connections for parallel tests +MAXCONNOPT = +ifdef MAX_CONNECTIONS +MAXCONNOPT += --max-connections=$(MAX_CONNECTIONS) +endif + +# locale +NOLOCALE = +ifdef NO_LOCALE +NOLOCALE += --no-locale +endif + +srcdir := . + +REGRESS_OPTS += --dlpath=. + +pg_regress_locale_flags = $(if $(ENCODING),--encoding=$(ENCODING)) $(NOLOCALE) + +pg_regress_installcheck = ./pg_regress --inputdir=$(srcdir) --psqldir='/usr/bin' $(pg_regress_locale_flags) + +# Test input and expected files. These are created by pg_regress itself, so we +# don't have a rule to create them. We do need rules to clean them however. +ifile_list := $(subst .source,, $(notdir $(wildcard $(srcdir)/input/*.source))) +input_files := $(foreach file, $(ifile_list), sql/$(file).sql) +ofile_list := $(subst .source,, $(notdir $(wildcard $(srcdir)/output/*.source))) +output_files := $(foreach file, $(ofile_list), expected/$(file).out) + +abs_srcdir := $(shell pwd) +abs_builddir := $(shell pwd) + +check: installcheck-parallel + +installcheck: cleandirs + $(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/serial_schedule $(EXTRA_TESTS) + +installcheck-parallel: cleandirs + $(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(EXTRA_TESTS) + +# The tests command the server to write into testtablespace and results. +# On a SELinux-enabled system this will fail unless we mark those directories +# as writable by the server. +cleandirs: + -rm -rf testtablespace results + mkdir testtablespace results + [ -x /usr/bin/chcon ] && /usr/bin/chcon -u system_u -r object_r -t postgresql_db_t testtablespace results + +# old interfaces follow... + +runcheck: check +runtest: installcheck +runtest-parallel: installcheck-parallel + + +## +## Clean up +## + +clean distclean maintainer-clean: + rm -f $(output_files) $(input_files) + rm -rf testtablespace + rm -rf results tmp_check log + rm -f regression.diffs regression.out regress.out run_check.out diff --git a/SOURCES/ecpg_config.h b/SOURCES/ecpg_config.h new file mode 100644 index 0000000..6fecfcb --- /dev/null +++ b/SOURCES/ecpg_config.h @@ -0,0 +1,29 @@ +/* + * Kluge to support multilib installation of both 32- and 64-bit RPMS: + * we need to arrange that header files that appear in both RPMs are + * identical. Hence, this file is architecture-independent and calls + * in an arch-dependent file that will appear in just one RPM. + * + * To avoid breaking arches not explicitly supported by Red Hat, we + * use this indirection file *only* on known multilib arches. + * + * Note: this may well fail if user tries to use gcc's -I- option. + * But that option is deprecated anyway. + */ +#if defined(__x86_64__) +#include "ecpg_config_x86_64.h" +#elif defined(__i386__) +#include "ecpg_config_i386.h" +#elif defined(__ppc64__) || defined(__powerpc64__) +#include "ecpg_config_ppc64.h" +#elif defined(__ppc__) || defined(__powerpc__) +#include "ecpg_config_ppc.h" +#elif defined(__s390x__) +#include "ecpg_config_s390x.h" +#elif defined(__s390__) +#include "ecpg_config_s390.h" +#elif defined(__sparc__) && defined(__arch64__) +#include "ecpg_config_sparc64.h" +#elif defined(__sparc__) +#include "ecpg_config_sparc.h" +#endif diff --git a/SOURCES/generate-pdf.sh b/SOURCES/generate-pdf.sh new file mode 100755 index 0000000..1365bb4 --- /dev/null +++ b/SOURCES/generate-pdf.sh @@ -0,0 +1,55 @@ +#! /bin/sh + +# This script builds the PDF version of the PostgreSQL documentation. +# +# In principle we could do this as part of the RPM build, but there are +# good reasons not to: +# 1. The build would take longer and have a larger BuildRequires footprint. +# 2. The generated PDF has timestamps in it, which would inevitably result +# in multilib conflicts due to slightly different timestamps. +# So instead, we run this manually when rebasing to a new upstream release, +# and treat the resulting PDF as a separate Source file. +# +# You will need to have the docbook packages installed to run this. +# Expect it to take about 20 minutes and use about 160MB of disk. + +set -e + +# Pass package version (e.g., 9.1.2) as argument +VERSION=$1 + +TARGETFILE=postgresql-$VERSION-US.pdf + +echo Building $TARGETFILE ... + +# Unpack postgresql + +rm -rf postgresql-$VERSION + +tar xfj postgresql-$VERSION.tar.bz2 + +cd postgresql-$VERSION + +# Apply any patches that affect the PDF documentation + +patch -p1 < ../postgresql-multi-sockets.patch + +# Configure ... + +./configure >/dev/null + +# Build the PDF docs + +cd doc/src/sgml + +make postgres-US.pdf >make.log + +mv -f postgres-US.pdf ../../../../$TARGETFILE + +# Clean up + +cd ../../../.. + +rm -rf postgresql-$VERSION + +exit 0 diff --git a/SOURCES/pg_config.h b/SOURCES/pg_config.h new file mode 100644 index 0000000..97ef2ba --- /dev/null +++ b/SOURCES/pg_config.h @@ -0,0 +1,29 @@ +/* + * Kluge to support multilib installation of both 32- and 64-bit RPMS: + * we need to arrange that header files that appear in both RPMs are + * identical. Hence, this file is architecture-independent and calls + * in an arch-dependent file that will appear in just one RPM. + * + * To avoid breaking arches not explicitly supported by Red Hat, we + * use this indirection file *only* on known multilib arches. + * + * Note: this may well fail if user tries to use gcc's -I- option. + * But that option is deprecated anyway. + */ +#if defined(__x86_64__) +#include "pg_config_x86_64.h" +#elif defined(__i386__) +#include "pg_config_i386.h" +#elif defined(__ppc64__) || defined(__powerpc64__) +#include "pg_config_ppc64.h" +#elif defined(__ppc__) || defined(__powerpc__) +#include "pg_config_ppc.h" +#elif defined(__s390x__) +#include "pg_config_s390x.h" +#elif defined(__s390__) +#include "pg_config_s390.h" +#elif defined(__sparc__) && defined(__arch64__) +#include "pg_config_sparc64.h" +#elif defined(__sparc__) +#include "pg_config_sparc.h" +#endif diff --git a/SOURCES/postgresql-bashprofile b/SOURCES/postgresql-bashprofile new file mode 100644 index 0000000..1cd70d3 --- /dev/null +++ b/SOURCES/postgresql-bashprofile @@ -0,0 +1,4 @@ +[ -f /etc/profile ] && source /etc/profile + +PGDATA=/var/lib/pgsql/data +export PGDATA diff --git a/SOURCES/postgresql-config-comment.patch b/SOURCES/postgresql-config-comment.patch new file mode 100644 index 0000000..9df0221 --- /dev/null +++ b/SOURCES/postgresql-config-comment.patch @@ -0,0 +1,19 @@ +Add note warning users that Postgres' port number is forced in the service +file, mainly because it's traditional in Red Hat installations to set it +there rather than in postgresql.conf. (There are minor usability benefits +to doing it this way though, for example that the postmaster's port number +is visible in "ps" as part of its command line.) + + +diff -Naur postgresql-9.2rc1.orig/src/backend/utils/misc/postgresql.conf.sample postgresql-9.2rc1/src/backend/utils/misc/postgresql.conf.sample +--- postgresql-9.2rc1.orig/src/backend/utils/misc/postgresql.conf.sample 2012-08-23 18:06:49.000000000 -0400 ++++ postgresql-9.2rc1/src/backend/utils/misc/postgresql.conf.sample 2012-09-01 21:57:55.498629897 -0400 +@@ -61,6 +61,8 @@ + # defaults to 'localhost'; use '*' for all + # (change requires restart) + #port = 5432 # (change requires restart) ++# Note: In RHEL/Fedora installations, you can't set the port number here; ++# adjust it in the service file instead. + #max_connections = 100 # (change requires restart) + # Note: Increasing max_connections costs ~400 bytes of shared memory per + # connection slot, plus lock space (see max_locks_per_transaction). diff --git a/SOURCES/postgresql-logging.patch b/SOURCES/postgresql-logging.patch new file mode 100644 index 0000000..a051014 --- /dev/null +++ b/SOURCES/postgresql-logging.patch @@ -0,0 +1,41 @@ +Default to stderr-based logging with a week's worth of daily logfiles. + + +diff -Naur postgresql-9.1rc1.orig/src/backend/utils/misc/postgresql.conf.sample postgresql-9.1rc1/src/backend/utils/misc/postgresql.conf.sample +--- postgresql-9.1rc1.orig/src/backend/utils/misc/postgresql.conf.sample 2011-08-18 17:23:13.000000000 -0400 ++++ postgresql-9.1rc1/src/backend/utils/misc/postgresql.conf.sample 2011-08-18 18:39:39.697526799 -0400 +@@ -279,7 +279,7 @@ + # requires logging_collector to be on. + + # This is used when logging to stderr: +-#logging_collector = off # Enable capturing of stderr and csvlog ++logging_collector = on # Enable capturing of stderr and csvlog + # into log files. Required to be on for + # csvlogs. + # (change requires restart) +@@ -287,11 +287,11 @@ + # These are only used if logging_collector is on: + #log_directory = 'pg_log' # directory where log files are written, + # can be absolute or relative to PGDATA +-#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern, ++log_filename = 'postgresql-%a.log' # log file name pattern, + # can include strftime() escapes + #log_file_mode = 0600 # creation mode for log files, + # begin with 0 to use octal notation +-#log_truncate_on_rotation = off # If on, an existing log file with the ++log_truncate_on_rotation = on # If on, an existing log file with the + # same name as the new log file will be + # truncated rather than appended to. + # But such truncation only occurs on +@@ -299,9 +299,9 @@ + # or size-driven rotation. Default is + # off, meaning append to existing files + # in all cases. +-#log_rotation_age = 1d # Automatic rotation of logfiles will ++log_rotation_age = 1d # Automatic rotation of logfiles will + # happen after that time. 0 disables. +-#log_rotation_size = 10MB # Automatic rotation of logfiles will ++log_rotation_size = 0 # Automatic rotation of logfiles will + # happen after that much log output. + # 0 disables. + diff --git a/SOURCES/postgresql-man.patch b/SOURCES/postgresql-man.patch new file mode 100644 index 0000000..8d3afe3 --- /dev/null +++ b/SOURCES/postgresql-man.patch @@ -0,0 +1,49 @@ +PostgreSQL ecpg/initdb manual page fixes + +This was generated based on automatic Red Hat manual page scan (private +RHBZ#948933). + +diff -up ./doc/src/sgml/man1/ecpg.1.man948933 ./doc/src/sgml/man1/ecpg.1 +--- ./doc/src/sgml/man1/ecpg.1.man948933 2014-12-16 02:13:15.000000000 +0100 ++++ ./doc/src/sgml/man1/ecpg.1 2014-12-23 11:26:37.883644047 +0100 +@@ -80,6 +80,11 @@ INFORMIX_SE\&. + Define a C preprocessor symbol\&. + .RE + .PP ++\fB\-h \fR ++.RS 4 ++Parse a header file, this option includes option \fB\-c\fR\&. ++.RE ++.PP + \fB\-i\fR + .RS 4 + Parse system include files as well\&. +@@ -128,6 +133,11 @@ Allow question mark as placeholder for c + .RE + .RE + .PP ++\fB\-\-regression\fR ++.RS 4 ++Run in regression testing mode\&. ++.RE ++.PP + \fB\-t\fR + .RS 4 + Turn on autocommit of transactions\&. In this mode, each SQL command is automatically committed unless it is inside an explicit transaction block\&. In the default mode, commands are committed only when +diff -up ./doc/src/sgml/man1/initdb.1.man948933 ./doc/src/sgml/man1/initdb.1 +--- ./doc/src/sgml/man1/initdb.1.man948933 2014-12-16 02:13:21.000000000 +0100 ++++ ./doc/src/sgml/man1/initdb.1 2014-12-23 11:26:37.883644047 +0100 +@@ -281,6 +281,13 @@ determines that an error prevented it fr + .PP + Other options: + .PP ++\fB\-s\fR ++.br ++\fB\-\-show\fR ++.RS 4 ++Print the internal settings, then exit\&. ++.RE ++.PP + \fB\-V\fR + .br + \fB\-\-version\fR diff --git a/SOURCES/postgresql-perl-rpath.patch b/SOURCES/postgresql-perl-rpath.patch new file mode 100644 index 0000000..59c199b --- /dev/null +++ b/SOURCES/postgresql-perl-rpath.patch @@ -0,0 +1,22 @@ +We configure Postgres with --disable-rpath because for the most part we +want to leave it to ldconfig to determine where libraries are. However, +for some reason the Perl package puts libperl.so in a nonstandard place +and doesn't add that place to the ldconfig search path. I think this +is a Perl packaging bug, myself, but apparently it's not going to change. +So work around it by adding an rpath spec to plperl.so (only). +Per bug #162198. + + +diff -Naur postgresql-9.1.5.orig/src/pl/plperl/GNUmakefile postgresql-9.1.5/src/pl/plperl/GNUmakefile +--- postgresql-9.1.5.orig/src/pl/plperl/GNUmakefile 2012-08-14 18:41:04.000000000 -0400 ++++ postgresql-9.1.5/src/pl/plperl/GNUmakefile 2012-08-17 11:15:09.457116708 -0400 +@@ -43,6 +43,9 @@ + + SHLIB_LINK = $(perl_embed_ldflags) + ++# Force rpath to be used even though we disable it everywhere else ++SHLIB_LINK += $(rpath) ++ + REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-extension=plperl --load-extension=plperlu + REGRESS = plperl plperl_lc plperl_trigger plperl_shared plperl_elog plperl_util plperl_init plperlu plperl_array + # if Perl can support two interpreters in one backend, diff --git a/SOURCES/postgresql-socket-dirs-pgupgrade.patch b/SOURCES/postgresql-socket-dirs-pgupgrade.patch new file mode 100644 index 0000000..4bb3080 --- /dev/null +++ b/SOURCES/postgresql-socket-dirs-pgupgrade.patch @@ -0,0 +1,33 @@ +Expect unix_socket_directories on RHEL's PostgreSQL 9.2 + +If REDHAT_PGUPGRADE_FROM_RHEL is defined, (Red Hat only versions of) pg_upgrade +are told to run the older server than 9.2 with unix_socket_directories instead +of unix_socket_directory. By default, even 9.2 is called with +unix_socket_directory which breaks upgrade from RHSCL 9.2. + +diff --git a/contrib/pg_upgrade/server.c b/contrib/pg_upgrade/server.c +index 3d041ef..a9c56e0 100644 +--- a/contrib/pg_upgrade/server.c ++++ b/contrib/pg_upgrade/server.c +@@ -178,6 +178,12 @@ start_postmaster(ClusterInfo *cluster, bool throw_error) + bool pg_ctl_return = false; + char socket_string[MAXPGPATH + 200]; + ++ /* By default set to what upstream uses */ ++ int rh_sock_dir_split = 903; ++ if (getenv("REDHAT_PGUPGRADE_FROM_RHEL")) { ++ rh_sock_dir_split = 902; ++ } ++ + if (!exit_hook_registered) + { + atexit(stop_postmaster_atexit); +@@ -196,7 +202,7 @@ start_postmaster(ClusterInfo *cluster, bool throw_error) + snprintf(socket_string + strlen(socket_string), + sizeof(socket_string) - strlen(socket_string), + " -c %s='%s'", +- (GET_MAJOR_VERSION(cluster->major_version) < 903) ? ++ (GET_MAJOR_VERSION(cluster->major_version) < rh_sock_dir_split) ? + "unix_socket_directory" : "unix_socket_directories", + cluster->sockdir); + #endif diff --git a/SOURCES/postgresql-var-run-socket.patch b/SOURCES/postgresql-var-run-socket.patch new file mode 100644 index 0000000..4fecc90 --- /dev/null +++ b/SOURCES/postgresql-var-run-socket.patch @@ -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 2b6527f..8e178d4 100644 +--- a/src/backend/utils/misc/guc.c ++++ b/src/backend/utils/misc/guc.c +@@ -2971,7 +2971,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 abf1586..8c01d48 100644 +--- a/src/bin/initdb/initdb.c ++++ b/src/bin/initdb/initdb.c +@@ -1204,7 +1204,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 24c5069..aeec705 100644 +--- a/src/include/pg_config_manual.h ++++ b/src/include/pg_config_manual.h +@@ -144,7 +144,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" + + /* + * The random() function is expected to yield values between 0 and diff --git a/SOURCES/postgresql.pam b/SOURCES/postgresql.pam new file mode 100644 index 0000000..1d78594 --- /dev/null +++ b/SOURCES/postgresql.pam @@ -0,0 +1,3 @@ +#%PAM-1.0 +auth include password-auth +account include password-auth diff --git a/SOURCES/postgresql.tmpfiles.d b/SOURCES/postgresql.tmpfiles.d new file mode 100644 index 0000000..d8d960d --- /dev/null +++ b/SOURCES/postgresql.tmpfiles.d @@ -0,0 +1 @@ +d /var/run/postgresql 0755 postgres postgres - diff --git a/SOURCES/rpm-pgsql.patch b/SOURCES/rpm-pgsql.patch new file mode 100644 index 0000000..aec64ac --- /dev/null +++ b/SOURCES/rpm-pgsql.patch @@ -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@ + diff --git a/SPECS/postgresql.spec b/SPECS/postgresql.spec new file mode 100644 index 0000000..121ba66 --- /dev/null +++ b/SPECS/postgresql.spec @@ -0,0 +1,1977 @@ +# This is the PostgreSQL Global Development Group Official RPMset spec file, +# or a derivative thereof. +# Copyright 2003-2009 Lamar Owen +# and others listed. + +# Major Contributors: +# --------------- +# Lamar Owen +# Trond Eivind Glomsrd +# Thomas Lockhart +# Reinhard Max +# Karl DeBisschop +# Peter Eisentraut +# Joe Conway +# Andrew Overholt +# David Jee +# Kaj J. Niemi +# Sander Steffann +# Tom Lane +# and others in the Changelog.... + +# This spec file and ancillary files are licensed in accordance with +# The PostgreSQL license. + +# In this file you can find the default build package list macros. +# These can be overridden by defining on the rpm command line: +# rpm --define 'packagename 1' .... to force the package to build. +# rpm --define 'packagename 0' .... to force the package NOT to build. +# The base package, the libs package, the devel package, and the server package +# always get built. + +%{?scl:%scl_package postgresql} + +%{!?beta:%global beta 0} +%{?beta:%global __os_install_post /usr/lib/rpm/brp-compress} + +%{!?test:%global test 1} +%{!?upgrade:%global upgrade 1} +%{!?plpython:%global plpython 1} +%{!?plpython3:%global plpython3 0} +%{!?pltcl:%global pltcl 1} +%{!?plperl:%global plperl 1} +%{!?ssl:%global ssl 1} +%{!?kerberos:%global kerberos 1} +%{!?ldap:%global ldap 1} +%{!?nls:%global nls 1} +%{!?uuid:%global uuid 1} +%{!?xml:%global xml 1} +%{!?pam:%global pam 1} +%{!?sdt:%global sdt 1} +%{!?selinux:%global selinux 1} +%{!?runselftest:%global runselftest 1} + +# By default, patch(1) creates backup files when chunks apply with offsets. +# Turn that off to ensure such files don't get included in RPMs. +%global _default_patch_flags --no-backup-if-mismatch + +%if 0%{?scl:1} +%global scl_upper %{lua:print(string.upper(string.gsub(rpm.expand("%{scl}"), "-", "_")))} +%endif + +%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} + +Summary: PostgreSQL client programs +Name: %{?scl_prefix}postgresql +%global majorversion 9.4 +Version: 9.4.1 +Release: 8%{?dist} + +# The PostgreSQL license is very similar to other MIT licenses, but the OSI +# recognizes it as an independent license, so we do as well. +License: PostgreSQL +Group: Applications/Databases +Url: http://www.postgresql.org/ + +%global setup_version 3.3 + +%global service_name %{?scl_prefix}postgresql.service + +Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2 +# The PDF file is generated by generate-pdf.sh, which see for comments +Source1: postgresql-%{version}-US.pdf +# generate-pdf.sh is not used during RPM build, but include for documentation +Source2: generate-pdf.sh +Source5: Makefile.regress +Source6: pg_config.h +Source7: ecpg_config.h +Source13: postgresql.tmpfiles.d +Source14: postgresql.pam +Source15: postgresql-bashprofile + +# http://fedorapeople.org/cgit/praiskup/public_git/postgresql-setup.git/ +Source16: http://praiskup.fedorapeople.org/proj/postgresql-setup/postgresql-setup-%{setup_version}.tar.gz + +# Comments for these patches are in the patch files. +Patch1: rpm-pgsql.patch +Patch2: postgresql-logging.patch +Patch3: postgresql-perl-rpath.patch +Patch4: postgresql-config-comment.patch +Patch6: postgresql-var-run-socket.patch +Patch8: postgresql-man.patch +Patch9: postgresql-socket-dirs-pgupgrade.patch + + +BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex gawk +BuildRequires: perl(ExtUtils::Embed) +BuildRequires: readline-devel zlib-devel + +# postgresql-setup build requires +BuildRequires: m4 elinks docbook-utils help2man + +%if 0%{?rhel} >= 6 +BuildRequires: perl-devel +%endif +BuildRequires: systemd + +%if %plpython +BuildRequires: python-devel +%endif + +%if %plpython3 +BuildRequires: python3-devel +%endif + +%if %pltcl +BuildRequires: tcl-devel +%endif + +%if %ssl +BuildRequires: openssl-devel +%endif + +%if %kerberos +BuildRequires: krb5-devel +%endif + +%if %ldap +BuildRequires: openldap-devel +%endif + +%if %nls +BuildRequires: gettext >= 0.10.35 +%endif + +%if %uuid +BuildRequires: uuid-devel +%endif + +%if %xml +BuildRequires: libxml2-devel libxslt-devel +%endif + +%if %pam +BuildRequires: pam-devel +%endif + +%if %sdt +BuildRequires: systemtap-sdt-devel +%endif + +%if %selinux +BuildRequires: libselinux-devel +%endif + +# main package requires -libs subpackage +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%{?scl:Requires:%scl_runtime} + +%description +PostgreSQL is an advanced Object-Relational database management system (DBMS). +The base postgresql package contains the client programs that you'll need to +access a PostgreSQL DBMS server, as well as HTML documentation for the whole +system. These client programs can be located on the same machine as the +PostgreSQL server, or on a remote machine that accesses a PostgreSQL server +over a network connection. The PostgreSQL server can be found in the +postgresql-server sub-package. + + +%package libs +Summary: The shared libraries required for any PostgreSQL clients +Group: Applications/Databases +# for /sbin/ldconfig +Requires(post): glibc +Requires(postun): glibc +%{?scl:Requires:%scl_runtime} + +%description libs +The postgresql-libs package provides the essential shared libraries 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 server +Summary: The programs needed to create and run a PostgreSQL server +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: /usr/bin/scl_source +Requires(pre): /usr/sbin/useradd +# We require this to be present for %%{_prefix}/lib/tmpfiles.d +Requires: systemd +# Make sure it's there when scriptlets run, too +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%{?scl:Requires:%scl_runtime} + +%description server +PostgreSQL is an advanced Object-Relational database management system (DBMS). +The postgresql-server package contains the programs needed to create +and run a PostgreSQL server, which will in turn allow you to create +and maintain PostgreSQL databases. + + +%package docs +Summary: Extra documentation for PostgreSQL +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +%{?scl:Requires:%scl_runtime} + +%description docs +The postgresql-docs package contains some additional documentation for +PostgreSQL. Currently, this includes the main documentation in PDF format +and source files for the PostgreSQL tutorial. + + +%package contrib +Summary: Extension modules distributed with PostgreSQL +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%{?scl:Requires:%scl_runtime} + +%description contrib +The postgresql-contrib package contains various extension modules that are +included in the PostgreSQL distribution. + + +%package devel +Summary: PostgreSQL development header files and libraries +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description devel +The postgresql-devel package contains the header files and libraries +needed to compile C or C++ applications which will directly interact +with a PostgreSQL database management server. It also contains the ecpg +Embedded C Postgres preprocessor. You need to install this package if you want +to develop applications which will interact with a PostgreSQL server. + + +%if %upgrade +%package upgrade +Summary: Support for upgrading from the previous major release of PostgreSQL +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%{?scl:Requires:%scl_runtime} + +%description upgrade +The postgresql-upgrade package contains the pg_upgrade utility and supporting +files needed for upgrading a PostgreSQL database from the core system version +of PostgreSQL. +%endif + + +%if %plperl +%package plperl +Summary: The Perl procedural language for PostgreSQL +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +%{?scl:Requires:%scl_runtime} + +%description plperl +The postgresql-plperl package contains the PL/Perl procedural language, +which is an extension to the PostgreSQL database server. +Install this if you want to write database functions in Perl. +%endif + +%if %plpython +%package plpython +Summary: The Python2 procedural language for PostgreSQL +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{version}-%{release} +%{?scl:Requires:%scl_runtime} + +%description plpython +The postgresql-plpython package contains the PL/Python procedural language, +which is an extension to the PostgreSQL database server. +Install this if you want to write database functions in Python 2. +%endif + +%if %plpython3 +%package plpython3 +Summary: The Python3 procedural language for PostgreSQL +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{version}-%{release} +%{?scl:Requires:%scl_runtime} + +%description plpython3 +The postgresql-plpython3 package contains the PL/Python3 procedural language, +which is an extension to the PostgreSQL database server. +Install this if you want to write database functions in Python 3. +%endif + +%if %pltcl +%package pltcl +Summary: The Tcl procedural language for PostgreSQL +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: tcl-pgtcl +%{?scl:Requires:%scl_runtime} + +%description pltcl +The postgresql-pltcl package contains the PL/Tcl procedural language, +which is an extension to the PostgreSQL database server. +Install this if you want to write database functions in Tcl. +%endif + +%if %test +%package test +Summary: The test suite distributed with PostgreSQL +Group: Applications/Databases +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +%{?scl:Requires:%scl_runtime} + +%description test +The postgresql-test package contains files needed for various tests for the +PostgreSQL database management system, including regression tests and +benchmarks. +%endif + +%prep +%setup -q %{?scl:-n %{pkg_name}-%{version}} -a 16 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch6 -p1 +%patch8 -p1 +%patch9 -p1 + +# We used to run autoconf here, but there's no longer any real need to, +# since Postgres ships with a reasonably modern configure script. + +# add ppc64p7 support (https://fedoraproject.org/wiki/Features/Power7Subarch) +# hopefully need for this will go away next time upstream updates config.sub +sed -i -e "s/ppc64-\*/ppc64-\* \| ppc64p7-\*/" config/config.sub + +cp -p %{SOURCE1} . + +# We need to add an extra setting of SCL environment into the service file +# and some checks into scripts that can be possibly run without scl enable, +# but only if we build the package in SCL environment. +cp -p %{SOURCE15} . +%if 0%{?scl:1} +%global scl_sed_patches 1 +%if %scl_sed_patches +find . -type f -name Makefile -exec sed -i -e "s/SO_MAJOR_VERSION=\s\?\([0-9]\+\)/SO_MAJOR_VERSION= %{?scl}-\1/" {} \; +%endif +%endif + +# remove .gitignore files to ensure none get into the RPMs (bug #642210) +find . -type f -name .gitignore | xargs rm + +%build + +# fail quickly and obviously if user tries to build as root +%if %runselftest + if [ x"`id -u`" = x0 ]; then + echo "postgresql's regression tests fail if run as root." + echo "If you really need to build the RPM as root, use" + echo "--define='runselftest 0' to skip the regression tests." + exit 1 + fi +%endif + +CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS + +# Strip out -ffast-math from CFLAGS.... +CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100` +# Add LINUX_OOM_SCORE_ADJ=0 to ensure child processes reset postmaster's oom_score_adj +CFLAGS="$CFLAGS -DLINUX_OOM_SCORE_ADJ=0" +# let's try removing this kluge, it may just be a workaround for bz#520916 +# # use -O1 on sparc64 and alpha +# %%ifarch sparc64 alpha +# CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` +# %%endif + +cd postgresql-setup-%{setup_version} +%configure \ + pgdocdir=%{_pkgdocdir} \ + systemdunitsdir=%{_root_prefix}/lib/systemd/system \ + systemduserunitsdir=%{_root_sysconfdir}/systemd/system \ + systemdlegacyscriptsdir=%{_root_libexecdir}/initscripts/legacy-actions \ + PGVERSION=%{version} \ + PGMAJORVERSION=%{majorversion} \ + NAME_DEFAULT_PREV_SERVICE=postgresql \ + SCLS=%{?scl} \ + NAME_SRV_PFX=%{?scl}- \ + NAME_PKG_PFX=%{?scl}- + +make %{?_smp_mflags} +cd .. + + +# plpython requires separate configure/build runs to build against python 2 +# versus python 3. Our strategy is to do the python 3 run first, then make +# distclean and do it again for the "normal" build. Note that the installed +# Makefile.global will reflect the python 2 build, which seems appropriate +# since that's still considered the default plpython version. +%if %plpython3 + +export PYTHON=/usr/bin/python3 + +# These configure options must match main build +%configure --disable-rpath \ +%if %beta + --enable-debug \ + --enable-cassert \ +%endif +%if %plperl + --with-perl \ +%endif +%if %pltcl + --with-tcl \ + --with-tclconfig=%{?scl:%_root_libdir}%{!?scl:%_libdir} \ +%endif +%if %plpython3 + --with-python \ +%endif +%if %ldap + --with-ldap \ +%endif +%if %ssl + --with-openssl \ +%endif +%if %pam + --with-pam \ +%endif +%if %kerberos + --with-krb5 \ + --with-gssapi \ +%endif +%if %uuid + --with-ossp-uuid \ +%endif +%if %xml + --with-libxml \ + --with-libxslt \ +%endif +%if %nls + --enable-nls \ +%endif +%if %sdt + --enable-dtrace \ +%endif +%if 0{!%selinux:1} + --with-selinux \ +%endif + --with-system-tzdata=%{?scl:%_root_datadir}%{!?scl:%_datadir}/zoneinfo \ + --datadir=%{_datadir}/pgsql + +# Fortunately we don't need to build much except plpython itself +cd src/backend +make submake-errcodes +cd ../.. +cd src/pl/plpython +make %{?_smp_mflags} all +cd .. +# save built form in a directory that "make distclean" won't touch +cp -a plpython plpython3 +cd ../.. + +# must also save this version of Makefile.global for later +cp src/Makefile.global src/Makefile.global.python3 + +make distclean + +%endif + +unset PYTHON + +# Normal (not python3) build begins here + +# we want to build with rpath since LD_LIBRARY_PATH is not strong enough +# for running pg_ctl under runuser command +%configure --disable-rpath \ +%if %beta + --enable-debug \ + --enable-cassert \ +%endif +%if %plperl + --with-perl \ +%endif +%if %pltcl + --with-tcl \ + --with-tclconfig=%{?scl:%_root_libdir}%{!?scl:%_libdir} \ +%endif +%if %plpython + --with-python \ +%endif +%if %ldap + --with-ldap \ +%endif +%if %ssl + --with-openssl \ +%endif +%if %pam + --with-pam \ +%endif +%if %kerberos + --with-krb5 \ + --with-gssapi \ +%endif +%if %uuid + --with-ossp-uuid \ +%endif +%if %xml + --with-libxml \ + --with-libxslt \ +%endif +%if %nls + --enable-nls \ +%endif +%if %sdt + --enable-dtrace \ +%endif +%if %selinux + --with-selinux \ +%endif + --with-system-tzdata=%{?scl:%_root_datadir}%{!?scl:%_datadir}/zoneinfo \ + --datadir=%{_datadir}/pgsql + +make %{?_smp_mflags} world + +# Have to hack makefile to put correct path into tutorial scripts +sed "s|C=\`pwd\`;|C=%{_libdir}/pgsql/tutorial;|" < src/tutorial/Makefile > src/tutorial/GNUmakefile +make %{?_smp_mflags} -C src/tutorial NO_PGXS=1 all +rm -f src/tutorial/GNUmakefile +# The object files shouldn't be copied to rpm bz#1187514 +rm -f src/tutorial/*.o + + +test_failure=0 + +# run_testsuite WHERE +# ------------------- +# Run 'make check' in WHERE path. When that command fails, return the logs +# given by PostgreSQL build system and set 'test_failure=1'. + +run_testsuite() +{ + make -C "$1" MAX_CONNECTIONS=5 check && return 0 + + test_failure=1 + + ( + set +x + find "$1" -name 'regression.diffs' | \ + while read line; do + echo "=== make failure: $line ===" + cat "$line" + done + ) +} + +%if %runselftest + run_testsuite "src/test/regress" + make clean -C "src/test/regress" + run_testsuite "src/pl" +%if %plpython3 + # must install Makefile.global that selects python3 + mv src/Makefile.global src/Makefile.global.save + cp src/Makefile.global.python3 src/Makefile.global + touch -r src/Makefile.global.save src/Makefile.global + # because "make check" does "make install" on the whole tree, + # we must temporarily install plpython3 as src/pl/plpython, + # since that is the subdirectory src/pl/Makefile knows about + mv src/pl/plpython src/pl/plpython2 + mv src/pl/plpython3 src/pl/plpython + + run_testsuite "src/pl/plpython" + + # and clean up our mess + mv src/pl/plpython src/pl/plpython3 + mv src/pl/plpython2 src/pl/plpython + mv -f src/Makefile.global.save src/Makefile.global +%endif + run_testsuite "contrib" +%endif + +# "assert(ALL_TESTS_OK)" +test "$test_failure" -eq 0 + +%if %test + # undo the "make clean" above + make all -C src/test/regress +%endif + +%install + +cd postgresql-setup-%{setup_version} +make install DESTDIR=$RPM_BUILD_ROOT +cd .. + +# For some reson, specifying %doc %{_pkgdocdir}/README.rpm-dist in %files does +# not work (at least on RHEL6) and rpmbuild fails with (it may be known issue +# but I was unable to debug properly yet): +# error: create archive failed on file +# /builddir/.../...-9.4.1/README.rpm-dist: cpio: Bad magic +cp $RPM_BUILD_ROOT/%{_pkgdocdir}/README.rpm-dist ./ + +cat > $RPM_BUILD_ROOT%{_sysconfdir}/postgresql-setup/upgrade/postgresql.conf < $RPM_BUILD_ROOT%{_sysconfdir}/postgresql-setup/upgrade/postgresql92.conf <>devel.lst +%find_lang ecpglib%{?scl_prefix}6-%{majorversion} +cat ecpglib%{?scl_prefix}6-%{majorversion}.lang >>libs.lst +%find_lang initdb-%{majorversion} +cat initdb-%{majorversion}.lang >>server.lst +%find_lang libpq%{?scl_prefix}5-%{majorversion} +cat libpq%{?scl_prefix}5-%{majorversion}.lang >>libs.lst +%find_lang pg_basebackup-%{majorversion} +cat pg_basebackup-%{majorversion}.lang >>server.lst +%find_lang pg_controldata-%{majorversion} +cat pg_controldata-%{majorversion}.lang >>server.lst +%find_lang pg_ctl-%{majorversion} +cat pg_ctl-%{majorversion}.lang >>server.lst +%find_lang pg_config-%{majorversion} +cat pg_config-%{majorversion}.lang >>main.lst +%find_lang pg_dump-%{majorversion} +cat pg_dump-%{majorversion}.lang >>main.lst +%find_lang pg_resetxlog-%{majorversion} +cat pg_resetxlog-%{majorversion}.lang >>server.lst +%find_lang pgscripts-%{majorversion} +cat pgscripts-%{majorversion}.lang >>main.lst +%if %plperl +%find_lang plperl-%{majorversion} +cat plperl-%{majorversion}.lang >>plperl.lst +%endif +%find_lang plpgsql-%{majorversion} +cat plpgsql-%{majorversion}.lang >>server.lst +%if %plpython +%find_lang plpython-%{majorversion} +cat plpython-%{majorversion}.lang >>plpython.lst +%endif +%if %plpython3 +# plpython3 shares message files with plpython +%find_lang plpython-%{majorversion} +cat plpython-%{majorversion}.lang >>plpython3.lst +%endif +%if %pltcl +%find_lang pltcl-%{majorversion} +cat pltcl-%{majorversion}.lang >>pltcl.lst +%endif +%find_lang postgres-%{majorversion} +cat postgres-%{majorversion}.lang >>server.lst +%find_lang psql-%{majorversion} +cat psql-%{majorversion}.lang >>main.lst +%endif + + +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + +%pre server +/usr/sbin/groupadd -g 26 -o -r postgres >/dev/null 2>&1 || : +/usr/sbin/useradd -M -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \ +%if 0%{?rhel} >= 6 +-N \ +%endif + -c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || : + +%post server +%if 0%{?scl:1} +semanage fcontext -a -e "%{_unitdir}/postgresql.service" "%{_unitdir}/%{scl_prefix}postgresql.service" >/dev/null 2>&1 || : +# Per hhorak's report: It seems that we can't simply use +# semanage fcontext -a -e %%{_root_bindir}/pg_ctl %%{_root_libexecdir}/postgresql-ctl +# because the equivalence (-e, --equal) rules are not transitive thus the +# %%{_libexec}/postgresql-ctl would get wrong context. +semanage fcontext -a -t postgresql_exec_t %{_root_libexecdir}/postgresql-ctl || : +selinuxenabled && load_policy || : +restorecon -R "%{?_scl_root}/" >/dev/null 2>&1 || : +restorecon -R "%{_sysconfdir}" >/dev/null 2>&1 || : +restorecon -R "%{_localstatedir}" >/dev/null 2>&1 || : +restorecon -R "%{_unitdir}/%{scl_prefix}postgresql.service" >/dev/null 2>&1 || : +%endif + +%systemd_post %service_name +/sbin/ldconfig + +%preun server +%systemd_preun %service_name + +%postun server +%systemd_postun_with_restart %service_name + + +%check +cd postgresql-setup-%{setup_version} +make check +cd - + + +# FILES section. + +%files -f main.lst +%doc doc/KNOWN_BUGS doc/MISSING_FEATURES doc/TODO +%doc COPYRIGHT README HISTORY doc/bug.template +%doc doc/html +%doc README.rpm-dist +%{_bindir}/clusterdb +%{_bindir}/createdb +%{_bindir}/createlang +%{_bindir}/createuser +%{_bindir}/dropdb +%{_bindir}/droplang +%{_bindir}/dropuser +%{_bindir}/pg_config +%{_bindir}/pg_dump +%{_bindir}/pg_dumpall +%{_bindir}/pg_isready +%{_bindir}/pg_restore +%{_bindir}/psql +%{_bindir}/reindexdb +%{_bindir}/vacuumdb +%{_mandir}/man1/clusterdb.* +%{_mandir}/man1/createdb.* +%{_mandir}/man1/createlang.* +%{_mandir}/man1/createuser.* +%{_mandir}/man1/dropdb.* +%{_mandir}/man1/droplang.* +%{_mandir}/man1/dropuser.* +%{_mandir}/man1/pg_config.* +%{_mandir}/man1/pg_dump.* +%{_mandir}/man1/pg_dumpall.* +%{_mandir}/man1/pg_isready.* +%{_mandir}/man1/pg_restore.* +%{_mandir}/man1/psql.* +%{_mandir}/man1/reindexdb.* +%{_mandir}/man1/vacuumdb.* +%{_mandir}/man7/* +%dir %{_libdir}/pgsql + +%files docs +%doc *-US.pdf +%{_libdir}/pgsql/tutorial/ +%doc doc/html + +%files contrib +%{_datadir}/pgsql/extension/adminpack* +%{_datadir}/pgsql/extension/autoinc* +%{_datadir}/pgsql/extension/btree_gin* +%{_datadir}/pgsql/extension/btree_gist* +%{_datadir}/pgsql/extension/chkpass* +%{_datadir}/pgsql/extension/citext* +%{_datadir}/pgsql/extension/cube* +%{_datadir}/pgsql/extension/dblink* +%{_datadir}/pgsql/extension/dict_int* +%{_datadir}/pgsql/extension/dict_xsyn* +%{_datadir}/pgsql/extension/earthdistance* +%{_datadir}/pgsql/extension/file_fdw* +%{_datadir}/pgsql/extension/fuzzystrmatch* +%{_datadir}/pgsql/extension/hstore* +%{_datadir}/pgsql/extension/insert_username* +%{_datadir}/pgsql/extension/intagg* +%{_datadir}/pgsql/extension/intarray* +%{_datadir}/pgsql/extension/isn* +%{_datadir}/pgsql/extension/lo* +%{_datadir}/pgsql/extension/ltree* +%{_datadir}/pgsql/extension/moddatetime* +%{_datadir}/pgsql/extension/pageinspect* +%{_datadir}/pgsql/extension/pg_buffercache* +%{_datadir}/pgsql/extension/pgcrypto* +%{_datadir}/pgsql/extension/pg_freespacemap* +%{_datadir}/pgsql/extension/pg_prewarm* +%{_datadir}/pgsql/extension/pgrowlocks* +%{_datadir}/pgsql/extension/pg_stat_statements* +%{_datadir}/pgsql/extension/pgstattuple* +%{_datadir}/pgsql/extension/pg_trgm* +%{_datadir}/pgsql/extension/postgres_fdw* +%{_datadir}/pgsql/extension/refint* +%{_datadir}/pgsql/extension/seg* +%{_datadir}/pgsql/extension/tablefunc* +%{_datadir}/pgsql/extension/tcn* +%{_datadir}/pgsql/extension/test_parser* +%{_datadir}/pgsql/extension/test_shm_mq* +%{_datadir}/pgsql/extension/timetravel* +%{_datadir}/pgsql/extension/tsearch2* +%{_datadir}/pgsql/extension/unaccent* +%{_datadir}/pgsql/extension/worker_spi* +%{_libdir}/pgsql/adminpack.so +%{_libdir}/pgsql/auth_delay.so +%{_libdir}/pgsql/auto_explain.so +%{_libdir}/pgsql/autoinc.so +%{_libdir}/pgsql/btree_gin.so +%{_libdir}/pgsql/btree_gist.so +%{_libdir}/pgsql/chkpass.so +%{_libdir}/pgsql/citext.so +%{_libdir}/pgsql/cube.so +%{_libdir}/pgsql/dblink.so +%{_libdir}/pgsql/dict_int.so +%{_libdir}/pgsql/dict_xsyn.so +%{_libdir}/pgsql/dummy_seclabel.so +%{_libdir}/pgsql/earthdistance.so +%{_libdir}/pgsql/file_fdw.so +%{_libdir}/pgsql/fuzzystrmatch.so +%{_libdir}/pgsql/hstore.so +%{_libdir}/pgsql/insert_username.so +%{_libdir}/pgsql/_int.so +%{_libdir}/pgsql/isn.so +%{_libdir}/pgsql/lo.so +%{_libdir}/pgsql/ltree.so +%{_libdir}/pgsql/moddatetime.so +%{_libdir}/pgsql/pageinspect.so +%{_libdir}/pgsql/passwordcheck.so +%{_libdir}/pgsql/pg_buffercache.so +%{_libdir}/pgsql/pgcrypto.so +%{_libdir}/pgsql/pg_freespacemap.so +%{_libdir}/pgsql/pgrowlocks.so +%{_libdir}/pgsql/pg_stat_statements.so +%{_libdir}/pgsql/pgstattuple.so +%{_libdir}/pgsql/pg_trgm.so +%{_libdir}/pgsql/postgres_fdw.so +%{_libdir}/pgsql/refint.so +%{_libdir}/pgsql/seg.so +%{_libdir}/pgsql/tablefunc.so +%{_libdir}/pgsql/tcn.so +%{_libdir}/pgsql/test_decoding.so +%{_libdir}/pgsql/test_parser.so +%{_libdir}/pgsql/test_shm_mq.so +%{_libdir}/pgsql/timetravel.so +%{_libdir}/pgsql/tsearch2.so +%{_libdir}/pgsql/unaccent.so +%{_libdir}/pgsql/worker_spi.so +%if %selinux +%{_datadir}/pgsql/contrib/sepgsql.sql +%{_libdir}/pgsql/sepgsql.so +%endif +%if %ssl +%{_datadir}/pgsql/extension/sslinfo* +%{_libdir}/pgsql/sslinfo.so +%endif +%if %uuid +%{_datadir}/pgsql/extension/uuid-ossp* +%{_libdir}/pgsql/uuid-ossp.so +%endif +%if %xml +%{_datadir}/pgsql/extension/xml2* +%{_libdir}/pgsql/pgxml.so +%endif +%{_bindir}/oid2name +%{_bindir}/pg_archivecleanup +%{_bindir}/pg_standby +%{_bindir}/pg_test_fsync +%{_bindir}/pg_test_timing +%{_bindir}/pg_xlogdump +%{_bindir}/pgbench +%{_bindir}/vacuumlo +%{_mandir}/man1/oid2name.* +%{_mandir}/man1/pg_archivecleanup.* +%{_mandir}/man1/pgbench.* +%{_mandir}/man1/pg_recvlogical.* +%{_mandir}/man1/pg_standby.* +%{_mandir}/man1/pg_test_fsync.* +%{_mandir}/man1/pg_test_timing.* +%{_mandir}/man1/pg_xlogdump.* +%{_mandir}/man1/vacuumlo.* +%{_mandir}/man3/dblink* +%doc contrib/spi/*.example + +%files libs -f libs.lst +%doc COPYRIGHT +%{_libdir}/libpq.so.* +%{_libdir}/libecpg.so.* +%{_libdir}/libpgtypes.so.* +%{_libdir}/libecpg_compat.so.* + +%files server -f server.lst +%{_unitdir}/%{scl_prefix}postgresql*.service +%dir %{_root_libexecdir}/initscripts/legacy-actions/%{?scl_prefix}postgresql +%{_root_libexecdir}/initscripts/legacy-actions/%{?scl_prefix}postgresql/* +%if %pam +%config(noreplace) /etc/pam.d/%{?scl_prefix}postgresql +%endif +%{_bindir}/initdb +%{_bindir}/pg_basebackup +%{_bindir}/pg_controldata +%{_bindir}/pg_ctl +%{_bindir}/pg_receivexlog +%{_bindir}/pg_recvlogical +%{_bindir}/pg_resetxlog +%{_bindir}/postgres +%{_bindir}/postgresql-setup +%{_bindir}/postmaster +%{_mandir}/man1/initdb.* +%{_mandir}/man1/pg_basebackup.* +%{_mandir}/man1/pg_controldata.* +%{_mandir}/man1/pg_ctl.* +%{_mandir}/man1/pg_receivexlog.* +%{_mandir}/man1/pg_resetxlog.* +%{_mandir}/man1/postgres.* +%{_mandir}/man1/postgresql-setup.* +%{_mandir}/man1/postmaster.* +%{_datadir}/pgsql/postgres.bki +%{_datadir}/pgsql/postgres.description +%{_datadir}/pgsql/postgres.shdescription +%{_datadir}/pgsql/system_views.sql +%{_datadir}/pgsql/*.sample +%{_datadir}/pgsql/timezonesets/ +%{_datadir}/pgsql/tsearch_data/ +%{_datadir}/postgresql-setup/library.sh +%{_libdir}/pgsql/dict_snowball.so +%{_libdir}/pgsql/pg_prewarm.so +%{_libdir}/pgsql/plpgsql.so +%dir %{_datadir}/pgsql +%dir %{_datadir}/pgsql/contrib +%dir %{_datadir}/pgsql/extension +%{_datadir}/pgsql/extension/plpgsql* +%{_tmpfilesdir}/%{?scl_prefix}postgresql.conf +%attr(755,postgres,postgres) %dir %{?_localstatedir}/run/postgresql +%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql +%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/data +%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/backups +%attr(644,postgres,postgres) %config(noreplace) %{?_localstatedir}/lib/pgsql/.bash_profile +%{_libdir}/pgsql/libpqwalreceiver.so +%{_libdir}/pgsql/*_and_*.so +%{_libdir}/pgsql/euc2004_sjis2004.so +%{_datadir}/pgsql/conversion_create.sql +%{_datadir}/pgsql/information_schema.sql +%{_datadir}/pgsql/snowball_create.sql +%{_datadir}/pgsql/sql_features.txt +%{_libexecdir}/postgresql-check-db-dir +%{_libexecdir}/postgresql-ctl +%dir %{_sysconfdir}/postgresql-setup +%dir %{_sysconfdir}/postgresql-setup/upgrade +%config %{_sysconfdir}/postgresql-setup/upgrade/*.conf + + +%if 0%{?scl:1} +%attr(755,postgres,postgres) %dir %{?_root_localstatedir}/run/postgresql +%attr(700,postgres,postgres) %dir %{?_root_localstatedir}/lib/pgsql +%endif + +%files devel -f devel.lst +%{_includedir}/* +%{_bindir}/ecpg +%{_libdir}/libpq.so +%{_libdir}/libecpg.so +%{_libdir}/libecpg_compat.so +%{_libdir}/libpgtypes.so +%{_libdir}/pgsql/pgxs/ +%{_libdir}/pkgconfig/*.pc +%{_mandir}/man1/ecpg.* +%{_mandir}/man3/SPI_* + +%if %upgrade +%files upgrade +%{_bindir}/pg_upgrade +%{_libdir}/pgsql/pg_upgrade_support.so +%{_mandir}/man1/pg_upgrade.* +%endif + +%if %plperl +%files plperl -f plperl.lst +%{_datadir}/pgsql/extension/plperl* +%{_libdir}/pgsql/plperl.so +%endif + +%if %pltcl +%files pltcl -f pltcl.lst +%{_datadir}/pgsql/extension/pltcl* +%{_libdir}/pgsql/pltcl.so +%{_bindir}/pltcl_delmod +%{_bindir}/pltcl_listmod +%{_bindir}/pltcl_loadmod +%{_datadir}/pgsql/unknown.pltcl +%endif + +%if %plpython +%files plpython -f plpython.lst +%{_datadir}/pgsql/extension/plpythonu* +%{_datadir}/pgsql/extension/plpython2* +%{_libdir}/pgsql/plpython2.so +%endif + +%if %plpython3 +%files plpython3 -f plpython3.lst +%{_datadir}/pgsql/extension/plpython3* +%{_libdir}/pgsql/plpython3.so +%endif + +%if %test +%files test +%defattr(-,postgres,postgres) +%attr(-,postgres,postgres) %{_libdir}/pgsql/test/* +%attr(-,postgres,postgres) %dir %{_libdir}/pgsql/test +%endif + +%changelog +* Sun Mar 22 2015 Pavel Raiskup - 9.4.1-8 +- postgresql-setup 3.3 - per several initscript start() issues + +* Fri Mar 20 2015 Pavel Raiskup - 9.4.1-7 +- set the postgresql-ctl context in main package +- rebase the postgresql-setup to v3.2 to fix --initdb for multiple + postmasters scenario + +* Thu Mar 19 2015 Jozef Mlich - 9.4.1-6 +- postgreql-setup was updated to 3.1 + +* Thu Mar 19 2015 Jozef Mlich - 9.4.1-5 +- adding tcl-pgtcl to requires of -tcl subpackage + Resolves: #1199466 + +* Mon Mar 02 2015 Pavel Raiskup - 9.4.1-4 +- use postgresql-setup.tar.gz + +* Tue Feb 24 2015 Pavel Raiskup - 9.4.1-3 +- allow pg_upgrade from postgresql92-postgresql (#1196030) + +* Wed Feb 18 2015 Honza Horak - 9.4.1-2 +- Remove NFS register feature for questionable usage for DBs + +* Wed Feb 18 2015 Honza Horak - 9.4.1-1 +- Update to 9.4.1 + This also fixes CVE-2015-0244 CVE-2014-8161 CVE-2015-0241 CVE-2015-0243 + Resolves: #1192910 + +* Thu Jan 29 2015 Jozef Mlich 9.4.0-1 +- update to 9.4.0 + +* Fri Oct 3 2014 Marcela Mašláňová 9.2.8-2.1 +- global must be used in systemd_post, otherwise scriptlets fail + Resolves: #1149257 + +* Mon Apr 07 2014 Jozef Mlich 9.2.8-2 +- added two dashes into scl-legacy.patch + Resolves: #1060767 + +* Wed Mar 26 2014 Jozef Mlich 9.2.8-1 +- update to 9.2.8 minor version per release notes: + http://www.postgresql.org/docs/9.2/static/release-9-2-8.html + Resolves: #1079994 + +* Thu Feb 20 2014 Jozef Mlich 9.2.7-2 +- update to 9.2.7 minor version per release notes: + http://www.postgresql.org/docs/9.2/static/release-9-2-7.html + Resolves: #1065861 + including fixes for CVE-2014-0066 CVE-2014-0064 CVE-2014-0065 + CVE-2014-0062 CVE-2014-0063 CVE-2014-0060 CVE-2014-0061 + +* Mon Feb 17 2014 Jozef Mlich 9.2.6-8 +- Legacy scripts are using scl enable + Resolves: #1060767 +- Release bump to -8 in order to get builds from brew + +* Thu Feb 13 2014 Jozef Mlich 9.2.6-4 +- Require /usr/bin/scl_source that is not in every scl-utils + Resolves: #1054261 + +* Wed Dec 18 2013 Jozef Mlich 9.2.6-3 +- release bump to avoid name colision with rhel7 when using + rhpkg build + +* Wed Dec 18 2013 Jozef Mlich 9.2.6-1 +- rebase to 9.2.6 + http://www.postgresql.org/docs/9.2/static/release-9-2-6.html + Resolves: #1038693 +- More details about replication issues are at + https://wiki.postgresql.org/wiki/Nov2013ReplicationIssue + +* Wed Nov 27 2013 Honza Horak 9.2.5-9 +- Rebuild for openssl dependency issues + +* Wed Nov 27 2013 Honza Horak 9.2.5-8 +- Use --no-backup-if-mismatch to avoid inclusion patch left-overs + +* Mon Nov 25 2013 Honza Horak 9.2.5-7 +- Fix wrongly patched postgresql-setup + +* Fri Nov 22 2013 Honza Horak 9.2.5-6 +- Restore SCL environment after runuser + +* Tue Nov 19 2013 Honza Horak 9.2.5-5 +- Port to RHEL-7 + +* Tue Nov 19 2013 Honza Horak 9.2.5-4 +- Remove rpath usage and proper enable SCL environment after su instead + +* Mon Nov 18 2013 Jozef Mlich 9.2.5-1 +- rebase to 9.2.5 + http://www.postgresql.org/docs/9.2/static/release-9-2-5.html +- modified useradd command + Resolves #1023113 +- modified bash-profile + Resolves #1009365 + +* Wed Oct 9 2013 Jozef Mlich 9.2.4-8 +- release bump to scl 1.1 + +* Wed May 15 2013 Honza Horak 9.2.4-7 +- Run restorecon to init script as well + Resolves: #962391 + +* Tue May 14 2013 Honza Horak 9.2.4-6 +- Move lock file under collection root + Resolves: #962872 + +* Mon May 13 2013 Honza Horak 9.2.4-5 +- Run restorecon in %%post section of -server + Resolves: #962391 + +* Thu May 2 2013 Honza Horak 9.2.4-4 +- Do not include daemon of the previous version and support upgrade from + the core system version 8.4 +- Pidfile used by init script should be in /opt +- Fix advice in the init script to use proper service name +- Include -devel sub-package for developing server-sice extensions +- Prefix major soname version of all libraries with collection name + +* Thu Apr 25 2013 Honza Horak 9.2.4-3 +- All sub-packages require SCL runtime +- Use only one Unix socket in /tmp +- Use rpath since we call some commands by runuser in init script, + so LD_LIBRARY_PATH doesn't work here + +* Thu Apr 18 2013 Honza Horak 9.2.4-2 +- Remove RHEL-7 stuff + +* Thu Apr 4 2013 Tom Lane 9.2.4-1 +- Update to PostgreSQL 9.2.4, for various fixes described at + http://www.postgresql.org/docs/9.2/static/release-9-2-4.html + including the fixes for CVE-2013-1899, CVE-2013-1900, CVE-2013-1901 +Resolves: #929223, #929255, #929328 +- fix build for aarch64 and ppc64p7 + +* Wed Feb 13 2013 Honza Horak 9.2.3-1 +- Update to PostgreSQL 9.2.3, for various fixes described at + http://www.postgresql.org/docs/9.2/static/release-9-2-3.html + including the fix for CVE-2013-0255 +Resolves: #908722 +- Make the package build with selinux option disabled +Resolves: #894367 +- Include old version of pg_controldata in postgresql-upgrade subpackage +Related: #896161 + +* Fri Jan 4 2013 Honza Horak 9.2.2-1 +- Update to PostgreSQL 9.2.2, for various fixes described at + http://www.postgresql.org/docs/9.2/static/release-9-2-2.html +- Prevent creation of TCP socket during pg_upgrade regression test, so that + concurrent RPM builds on the same machine won't fail +Resolves: #891531 +- Make sure $PGDATA/pg_log/ gets the right SELinux label in postgresql-setup +Resolves: #891547 + +* Mon Nov 12 2012 Honza Horak 9.2.1-4 +- Rebuild for ppc64 + +* Thu Oct 25 2012 Honza Horak 9.2.1-3 +- Run self tests during build +- Use a config file for specifying SCLS enabled when starting service +- Use sclname as a prefix of major number of libpq soname +- Edit spec file for RHEL-5 +- Changed way how patch files are enhanced with scl macros values +- Disable uuid module, since e2fsprogs is not compatible +- Basic scripts fail if not run in scl environment +- Use scl-service wrapper to fix systemd start issues +- Fix paths in systemd service file +- Remove quotes from the service file, otherwise arguments are passed + wrongly to scl-service + +* Thu Oct 18 2012 Honza Horak 9.2.1-2 +- Initial import into postgresql92 scl branch + +* Mon Sep 24 2012 Tom Lane 9.2.1-1 +- Update to PostgreSQL 9.2.1, for various fixes described at + http://www.postgresql.org/docs/9.2/static/release-9-2-1.html + including a nasty data-loss bug +- Adopt new systemd macros for server package install/uninstall triggers +Resolves: #850277 + +* Mon Sep 10 2012 Tom Lane 9.2.0-1 +- Update to PostgreSQL 9.2.0 (major version bump); + in-place upgrade support now works from 9.1.x as the previous version +- Add postgresql-plpython3 subpackage with PL/Python built against Python 3 + +* Tue Aug 28 2012 Tom Lane 9.1.5-2 +- Remove unnecessary ldconfig calls in pre/post triggers +Resolves: #849344 + +* Fri Aug 17 2012 Tom Lane 9.1.5-1 +- Update to PostgreSQL 9.1.5, for various fixes described at + http://www.postgresql.org/docs/9.1/static/release-9-1-5.html + including the fixes for CVE-2012-3488, CVE-2012-3489 + +* Mon Aug 13 2012 Tom Lane 9.1.4-5 +- Back-port upstream support for postmaster listening on multiple Unix sockets +- Configure postmaster to create sockets in both /var/run/postgresql and /tmp; + the former is now the default place for libpq to contact the postmaster. +Resolves: #825448 +- Annotate postgresql.conf about not setting port number there +- Minor specfile cleanup per suggestions from Tom Callaway +Related: #845110 + +* Sat Jul 21 2012 Fedora Release Engineering - 9.1.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jul 14 2012 Tom Lane 9.1.4-3 +- Update code to use oom_score_adj not oom_adj, thereby suppressing + whining in the kernel log +- Add "legacy action" scripts to support "service postgresql initdb" and + "service postgresql upgrade" in a now-approved fashion (requires a + recent version of initscripts to work) +Resolves: #800416 + +* Mon Jun 11 2012 Petr Pisar - 9.1.4-2 +- Perl 5.16 rebuild + +* Mon Jun 4 2012 Tom Lane 9.1.4-1 +- Update to PostgreSQL 9.1.4, for various fixes described at + http://www.postgresql.org/docs/9.1/static/release-9-1-4.html + including the fixes for CVE-2012-2143, CVE-2012-2655 +Resolves: #826606 +- Update previous version (embedded in postgresql-upgrade) to 9.0.8 + because fix in whole-row variable dumping could be needed for upgrades +- Revert fix for bug #800416, per fedora-packaging discussion at + http://lists.fedoraproject.org/pipermail/packaging/2012-April/008314.html + "service postgresql initdb" is dead and will stay that way + +* Sat Mar 17 2012 Tom Lane 9.1.3-3 +- Fix postgresql-setup to rely on systemd to parse the unit file, instead + of using ad-hoc code +Resolves: #804290 + +* Tue Mar 13 2012 Tom Lane 9.1.3-2 +- Fix postgresql-setup to look for unit file in /usr/lib and to ignore + comments therein +Resolves: #802835 +- Resurrect a now-mostly-dummy postgresql init script, so that people can + keep on using "service postgresql initdb" if they wish +Resolves: #800416 + +* Mon Feb 27 2012 Tom Lane 9.1.3-1 +- Update to PostgreSQL 9.1.3, for various fixes described at + http://www.postgresql.org/docs/9.1/static/release-9-1-3.html + including the fixes for CVE-2012-0866, CVE-2012-0867, CVE-2012-0868 +Resolves: #797918 + +* Mon Jan 9 2012 Tom Lane 9.1.2-2 +- Make systemd unit file more user-friendly by resurrecting the old init + script's checks for data directory presence and version match +Resolves: #771496 + +* Mon Dec 5 2011 Tom Lane 9.1.2-1 +- Update to PostgreSQL 9.1.2, for various fixes described at + http://www.postgresql.org/docs/9.1/static/release-9-1-2.html + +* Wed Nov 02 2011 Honza Horak 9.1.1-2 +- Create a symlink of pg_regress instead of full copy; + Don't strip symbols from regress libs +Related: #729012 + +* Mon Sep 26 2011 Tom Lane 9.1.1-1 +- Update to PostgreSQL 9.1.1, for various fixes described at + http://www.postgresql.org/docs/9.1/static/release-9-1-1.html +- Enable build (but not test) of contrib/sepgsql +- Clean up specfile build options so that turning options off works again + +* Mon Sep 12 2011 Tom Lane 9.1.0-1 +- Update to PostgreSQL 9.1.0 (major version bump); + in-place upgrade support now works from 9.0.x as the previous version + +* Wed Jul 27 2011 Tom Lane 9.0.4-8 +- Convert to systemd startup support +Resolves: #696427 + +* Thu Jul 21 2011 Petr Sabata - 9.0.4-7 +- Perl mass rebuild + +* Wed Jul 20 2011 Petr Sabata - 9.0.4-6 +- Perl mass rebuild + +* Wed Jul 6 2011 Tom Lane 9.0.4-5 +- Remove erroneously-included Default-Start line from LSB init block +Related: #717024 + +* Fri Jun 17 2011 Marcela Mašláňová 9.0.4-4 +- Perl mass rebuild +- incorporate upstream patch to make it build with Perl 5.14 + +* Fri Jun 10 2011 Tom Lane 9.0.4-3 +- Work around gcc 4.6.0 bug (temporary backport from next upstream release) + +* Tue May 10 2011 Tom Lane 9.0.4-2 +- Add LSB init block to initscript, to ensure sane ordering at system boot +Resolves: #703215 + +* Mon Apr 18 2011 Tom Lane 9.0.4-1 +- Update to PostgreSQL 9.0.4, for various fixes described at + http://www.postgresql.org/docs/9.0/static/release-9-0-4.html +- Add %%{?_isa} to cross-subpackage Requires, per latest packaging guidelines + +* Wed Feb 09 2011 Fedora Release Engineering - 9.0.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Feb 3 2011 Tom Lane 9.0.3-2 +- Remove filter-requires-perl-Pg.sh, which doesn't seem to be needed now that + PyGreSQL has been split out; and our use of it isn't compatible with rpm 4.9 + anyway + +* Tue Feb 1 2011 Tom Lane 9.0.3-1 +- Update to PostgreSQL 9.0.3, for various fixes described at + http://www.postgresql.org/docs/9.0/static/release-9-0-3.html + including the fix for CVE-2010-4015 +Resolves: #674296 + +* Tue Dec 28 2010 Tom Lane 9.0.2-1 +- Update to PostgreSQL 9.0.2 (major version bump) +- Create infrastructure for in-place database upgrade using pg_upgrade +Resolves: #398221 + +* Thu Dec 16 2010 Tom Lane 8.4.6-1 +- Update to PostgreSQL 8.4.6, for various fixes described at + http://www.postgresql.org/docs/8.4/static/release-8-4-6.html +- Ensure we don't package any .gitignore files from the source tarball +Related: #642210 + +* Tue Oct 5 2010 Tom Lane 8.4.5-1 +- Update to PostgreSQL 8.4.5, for various fixes described at + http://www.postgresql.org/docs/8.4/static/release-8-4-5.html + including the fix for CVE-2010-3433 +Related: #639371 +- Add -p "$pidfile" to initscript's status call to improve corner cases. +Related: #561010 + +* Sat Jul 31 2010 Orcan Ogetbil - 8.4.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild +- Duplicate COPYRIGHT in -libs subpackage, per revised packaging guidelines + +* Wed Jun 02 2010 Marcela Maslanova - 8.4.4-2 +- Mass rebuild with perl-5.12.0 + +* Mon May 17 2010 Tom Lane 8.4.4-1 +- Update to PostgreSQL 8.4.4, for various fixes described at + http://www.postgresql.org/docs/8.4/static/release-8-4-4.html + including fixes for CVE-2010-1169 and CVE-2010-1170 +Resolves: #593032 + +* Sun Mar 14 2010 Tom Lane 8.4.3-1 +- Update to PostgreSQL 8.4.3, for various fixes described at + http://www.postgresql.org/docs/8.4/static/release-8-4-3.html + +* Mon Feb 22 2010 Tom Lane 8.4.2-8 +- Bring init script into some modicum of compliance with Fedora/LSB standards +Resolves: #201043 + +* Thu Feb 18 2010 Tom "spot" Callaway 8.4.2-7 +- adjust license tag to reflect OSI decision + +* Tue Jan 26 2010 Tom Lane 8.4.2-6 +- Emit explicit error message if user tries to build RPM as root +Related: #558921 + +* Wed Jan 20 2010 Tom Lane 8.4.2-5 +- Latest version of systemtap needs the probes.o file to be built again +Resolves: #557266 +- Provide script and instructions for building the documentation PDF + +* Mon Jan 11 2010 Tom Lane 8.4.2-4 +- Arrange for the postmaster, but not any of its child processes, to be run + with oom_adj -17. This compensates for the OOM killer not being smart about + accounting for shared memory usage. + +* Sat Jan 9 2010 Tom Lane 8.4.2-3 +- Remove the postgresql-python and postgresql-tcl subpackages. These files + are now broken out as their own packages (PyGreSQL and tcl-pgtcl, + respectively), to reflect the now longstanding split of upstream projects. +Related: #452306, #452321 + +* Tue Jan 5 2010 Tom Lane 8.4.2-2 +- Remove static libraries (.a files) from package, per packaging guidelines +- Change %%define to %%global, per packaging guidelines + +* Wed Dec 16 2009 Tom Lane 8.4.2-1 +- Update to PostgreSQL 8.4.2, for various fixes described at + http://www.postgresql.org/docs/8.4/static/release-8-4-2.html + including two security issues +Related: #546321 +Related: #547662 +- Use -N not the obsolete -n in useradd call +Resolves: #495727 +- Clean up specfile to eliminate rpmlint gripes, mainly by removing + no-longer-needed provisions for superseding rh-postgresql + +* Mon Dec 7 2009 Stepan Kasal - 8.4.1-5 +- rebuild against perl 5.10.1 + +* Thu Oct 15 2009 Tom Lane 8.4.1-4 +- add sparc/sparc64 to multilib header support + +* Mon Sep 21 2009 Tom Lane 8.4.1-3 +- Ensure pgstartup.log gets the right ownership/permissions during initdb +Resolves: #498959 + +* Wed Sep 16 2009 Tomas Mraz - 8.4.1-2 +- Use password-auth common PAM configuration instead of system-auth + +* Wed Sep 9 2009 Tom Lane 8.4.1-1 +- Update to PostgreSQL 8.4.1, for various fixes described at + http://www.postgresql.org/docs/8.4/static/release-8-4-1.html + including two security issues +Related: #522085 +Related: #522092 + +* Tue Sep 01 2009 Karsten Hopp 8.4.0-3.2 +- bump release and build again with the correct libssl + +* Tue Sep 01 2009 Karsten Hopp 8.4.0-3.1 +- disable dtrace on s390x as a workaround until #520469 has been fixed + +* Fri Aug 21 2009 Tomas Mraz - 8.4.0-3 +- rebuilt with new openssl + +* Thu Aug 20 2009 Tom "spot" Callaway 8.4.0-2 +- update License tag to MIT (PostgreSQL calls it "BSD", but it is MIT) +- Note: This changes nothing from a license compatibility perspective. + +* Mon Aug 17 2009 Tom Lane 8.4.0-1 +- Update to PostgreSQL 8.4.0. See release notes at + http://www.postgresql.org/docs/8.4/static/release-8-4.html + +* Sun Jul 26 2009 Fedora Release Engineering - 8.3.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sat Mar 21 2009 Tom Lane 8.3.7-1 +- Update to PostgreSQL 8.3.7, for various fixes described at + http://www.postgresql.org/docs/8.3/static/release-8-3-7.html + notably the fix for CVE-2009-0922 + +* Tue Mar 10 2009 Tom Lane 8.3.6-4 +- Prevent dependent packages from needing to include sys/sdt.h + (unintended side effect of previous patch) +- Use -O1 on alpha, per report from Oliver Falk; -O2 tickles gcc bugs + +* Sun Mar 8 2009 Tom Lane 8.3.6-3 +- Enable tracing via systemtap +Resolves: #488941 + +* Thu Feb 26 2009 Fedora Release Engineering - 8.3.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Feb 7 2009 Tom Lane 8.3.6-1 +- Update to PostgreSQL 8.3.6, for various fixes described at + http://www.postgresql.org/docs/8.3/static/release-8-3-6.html + +* Wed Jan 21 2009 Dennis Gilmore 8.3.5-4 +- use -O1 on sparc64 + +* Sat Jan 17 2009 Tomas Mraz - 8.3.5-3 +- rebuild with new openssl + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 8.3.5-2 +- Rebuild for Python 2.6 + +* Sun Nov 2 2008 Tom Lane 8.3.5-1 +- Update to PostgreSQL 8.3.5. +- Improve display from init script's initdb action, per Michael Schwendt + +* Thu Sep 25 2008 Tom Lane 8.3.4-1 +- Update to PostgreSQL 8.3.4. + +* Mon Jul 28 2008 Tom Lane 8.3.3-3 +- Fix build failure caused by new default patch fuzz = 0 policy in rawhide. + +* Fri Jun 20 2008 Tom Lane 8.3.3-2 +- Install Pgtcl in /usr/lib/tcl$TCL_VERSION, not directly in /usr/lib. + Needed because tcl 8.5 no longer puts /usr/lib into its package search path. + NOTE: do not back-port this change into branches using pre-8.5 tcl, because + /usr/lib/tcl8.4 had been a symlink to /usr/share/tcl8.4, and /usr/share + is exactly where we must not put Pgtcl. +Resolves: #228263 + +* Wed Jun 11 2008 Tom Lane 8.3.3-1 +- Update to PostgreSQL 8.3.3. +- Remove postgresql-prefer-ncurses.patch, no longer needed in recent + Fedora releases because libtermcap is gone. + +* Sat May 17 2008 Tom Lane 8.3.1-5 +- rebuild because of buildsystem hiccup + +* Sat May 17 2008 Tom Lane 8.3.1-4 +- Enable LDAP support +Resolves: #445315 +- Use -Wl,--as-needed to suppress bogus dependencies for libraries that + are really only needed by some of the subpackages + +* Mon Apr 28 2008 Tom Lane 8.3.1-3 +- Fix build breakage on PPC due to incorrect configure test +Related: #444317 + +* Sat Apr 26 2008 Tom Lane 8.3.1-2 +- Clean up cross-subpackage Requires: to ensure that updating any one + subpackage brings in the matching versions of others. +Resolves: #444271 + +* Tue Mar 25 2008 Tom Lane 8.3.1-1 +- Update to PostgreSQL 8.3.1. + +* Tue Mar 18 2008 Tom "spot" Callaway 8.3.0-3 +- add Requires for versioned perl (libperl.so) + +* Wed Feb 6 2008 Tom Lane 8.3.0-2 +- Enable the new GSSAPI support in 8.3.0. + +* Mon Feb 4 2008 Tom Lane 8.3.0-1 +- Update to PostgreSQL 8.3.0. + +* Fri Jan 18 2008 Tom Lane 8.3RC2-1 +- Update to PostgreSQL 8.3RC2 (not waiting for 8.3.0 because Fedora 9 alpha + should be 8.3-based not 8.2-based). +- Update to pgtcl 1.6.2 + +* Mon Jan 7 2008 Tom Lane 8.2.6-1 +- Update to PostgreSQL 8.2.6 to fix CVE-2007-4769, CVE-2007-4772, + CVE-2007-6067, CVE-2007-6600, CVE-2007-6601 +- Make initscript and pam config files be installed unconditionally; + seems new buildroots don't necessarily have those directories in place + +* Wed Dec 5 2007 Tom Lane 8.2.5-2 +- Rebuild for new openssl + +* Thu Sep 20 2007 Tom Lane 8.2.5-1 +- Update to PostgreSQL 8.2.5 and pgtcl 1.6.0 + +* Tue Sep 4 2007 Tom Lane 8.2.4-6 +- Fix multilib problem for /usr/include/ecpg_config.h (which is new in 8.2.x) + +* Sat Aug 25 2007 Tom Lane 8.2.4-5 +- Use nicer solution for tzdata file substitution: upstream discussion + concluded that hardwiring the path was better than a symlink after all. + +* Wed Aug 22 2007 Tom Lane 8.2.4-4 +- Use tzdata package's data files instead of private copy, so that + postgresql-server need not be turned for routine timezone updates +- Don't remove postgres user/group during RPM uninstall, per Fedora + packaging guidelines +- Seems we need an explicit BuildRequires on gawk now +- Rebuild to fix Fedora toolchain issues + +* Sun Aug 12 2007 Tom Lane 8.2.4-3 +- Recent perl changes in rawhide mean we need a more specific BuildRequires + +* Wed Jun 20 2007 Tom Lane 8.2.4-2 +- Fix oversight in postgresql-test makefile: pg_regress isn't a shell script + anymore. Per upstream bug 3398. + +* Tue Apr 24 2007 Tom Lane 8.2.4-1 +- Update to PostgreSQL 8.2.4 for CVE-2007-2138, data loss bugs +Resolves: #237682 + +* Wed Feb 14 2007 Karsten Hopp 8.2.3-2 +- rebuild with tcl-8.4 + +* Wed Feb 7 2007 Tom Lane 8.2.3-1 +- Update to PostgreSQL 8.2.3 due to regression induced by security fix +Resolves: #227522 + +* Sun Feb 4 2007 Tom Lane 8.2.2-1 +- Update to PostgreSQL 8.2.2 to fix CVE-2007-0555, CVE-2007-0556 +Related: #225496 + +* Fri Jan 12 2007 Tom Lane 8.2.1-2 +- Split -pl subpackage into three new packages to reduce dependencies + and track upstream project's packaging. + +* Wed Jan 10 2007 Tom Lane 8.2.1-1 +- Update to PostgreSQL 8.2.1 +- Update to pgtcl 1.5.3 +- Be sure we link to libncurses, not libtermcap which is disappearing in Fedora + +* Thu Dec 7 2006 Jeremy Katz - 8.2.0-2 +- rebuild for python 2.5 + +* Mon Dec 4 2006 Tom Lane 8.2.0-1 +- Update to PostgreSQL 8.2.0 +- Update to PyGreSQL 3.8.1 +- Fix chcon arguments in test/regress/Makefile +Related: #201035 +- Adjust init script to not fool /etc/rc.d/rc +Resolves: #161470 +- Change init script to not do initdb automatically, but require + manual "service postgresql initdb" for safety. Per upstream discussions. + +* Wed Jul 12 2006 Jesse Keating - 8.1.4-1.1 +- rebuild + +* Mon May 22 2006 Tom Lane 8.1.4-1 +- Update to PostgreSQL 8.1.4 (includes fixes for CVE-2006-2313, CVE-2006-2314; + see bug #192173) +- Update to PyGreSQL 3.8 +- Suppress noise from chcon, per bug #187744 + +* Mon Mar 27 2006 Tom Lane 8.1.3-2 +- Remove JDBC from this build; we will package it as separate SRPM + +* Mon Feb 13 2006 Jesse Keating - 8.1.3-1.1 +- rebump for build order issues during double-long bump + +* Mon Feb 13 2006 Tom Lane 8.1.3-1 +- Update to PostgreSQL 8.1.3 (fixes bug #180617, CVE-2006-0553) +- Update to jdbc driver build 405 +- Modify multilib header hack to not break non-RH arches, per bug #177564 + +* Tue Feb 07 2006 Jesse Keating - 8.1.2-1.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Mon Jan 9 2006 Tom Lane 8.1.2-1 +- Update to PostgreSQL 8.1.2 +- Repair extraneous quote in pgtcl configure script ... odd that bash + didn't use to spit up on this. + +* Thu Dec 15 2005 Tom Lane 8.1.1-3 +- fix pg_config.h for 64-bit and ppc platforms +- update Makefile.regress (needs to --load-language=plpgsql) + +* Wed Dec 14 2005 Tom Lane 8.1.1-2 +- oops, looks like we want uname -i not uname -m + +* Wed Dec 14 2005 Tom Lane 8.1.1-1 +- Update to PostgreSQL 8.1.1 +- Make pg_config.h architecture-independent for multilib installs; + put the original pg_config.h into pg_config_$ARCH.h + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Sat Nov 12 2005 Tom Lane 8.1.0-4 +- Update included PDF-format manual to 8.1. + +* Wed Nov 9 2005 Tom Lane 8.1.0-3 +- Rebuild due to openssl library update. + +* Wed Nov 9 2005 Tom Lane 8.1.0-2 +- Rebuild due to openssl library update. + +* Mon Nov 7 2005 Tom Lane 8.1.0-1 +- Update to PostgreSQL 8.1.0, PyGreSQL 3.7, and jdbc driver build 404 +- Fix PAM config file (must have account not only auth) (bug #167040) +- Add BuildPrereq: libxslt-devel (bug #170141) +- Sync with PGDG SRPM as much as feasible + +* Fri Oct 14 2005 Tomas Mraz +- use include instead of pam_stack in pam config + +* Tue Oct 4 2005 Tom Lane 8.0.4-2 +- Add rpath to plperl.so (bug #162198) + +* Tue Oct 4 2005 Tom Lane 8.0.4-1 +- Update to PostgreSQL 8.0.4, PyGreSQL 3.6.2, and jdbc driver build 312 +- Adjust pgtcl link command to ensure it binds to correct libpq (bug #166665) +- Remove obsolete Conflicts: against other python versions (bug #166754) +- Add /etc/pam.d/postgresql (bug #167040) +- Include contrib/xml2 in build (bug #167492) + +* Tue May 10 2005 Tom Lane 8.0.3-1 +- Update to PostgreSQL 8.0.3 (includes security and data-loss fixes; see + bz#156727, CAN-2005-1409, CAN-2005-1410) +- Update to jdbc driver build 311 +- Recreate postgres user after superseding an rh-postgresql install (bug #151911) +- Ensure postgresql server is restarted if running during an upgrade + +* Thu Apr 14 2005 Florian La Roche 8.0.2-2 +- rebuild for postgresql-tcl + +* Tue Apr 12 2005 Tom Lane 8.0.2-1 +- Update to PostgreSQL 8.0.2. + +* Fri Mar 11 2005 Tom Lane 8.0.1-5 +- Remove unwanted rpath specification from pgtcl (bz#150649) + +* Wed Mar 2 2005 Tom Lane 8.0.1-4 +- Attach Obsoletes: declarations for rh-postgresql to subpackages (bz#144435) +- Make Requires: and Prereq: package linkages specify release not only + version, as per recent mailing list discussion. + +* Tue Mar 1 2005 Tomas Mraz 8.0.1-3 +- rebuild with openssl-0.9.7e + +* Mon Feb 21 2005 Tom Lane 8.0.1-2 +- Repair improper error message in init script when PGVERSION doesn't match. +- Arrange for auto update of version embedded in init script. + +* Sun Jan 30 2005 Tom Lane 8.0.1-1 +- Update to PostgreSQL 8.0.1. +- Add versionless symlinks to jar files (bz#145744) + +* Wed Jan 19 2005 Tom Lane 8.0.0-1 +- Update to PostgreSQL 8.0.0, PyGreSQL 3.6.1, pgtcl 1.5.2, + and jdbc driver build 309. +- Extensive cleanout of obsolete cruft in patch set. +- Regression tests are run during RPM build (NOTE: cannot build as root when + this is enabled). +- Postmaster stderr goes someplace useful, not /dev/null (bz#76503, #103767) +- Make init script return a useful exit status (bz#80782) +- Move docs' tutorial directory to %%{_libdir}/pgsql/tutorial, since it + includes .so files that surely do not belong under /usr/share. +- Remove useless .sgml files from docs RPM (bz#134450) +- Put regression tests under /usr/lib64 on 64-bit archs, since .so files + are not architecture-independent. + +* Wed Jan 12 2005 Tim Waugh 7.4.6-5 +- Rebuilt for new readline. + +* Tue Jan 11 2005 Dan Walsh 7.4.6-4 +- Add restorecon to postgresql.init in order to restore database to correct +- SELinux context. + +* Thu Dec 16 2004 Tom Lane 7.4.6-3 +- Update to PyGreSQL 3.6 (to fix bug #142711) +- Adjust a few file permissions (bug #142431) +- Assign %%{_libdir}/pgsql to base package instead of -server (bug #74003) + +* Mon Nov 15 2004 Tom Lane 7.4.6-2 +- Rebuild so python components play with python 2.4 (bug 139160) + +* Sat Oct 23 2004 Tom Lane 7.4.6-1 +- Update to PostgreSQL 7.4.6 (bugs 136947, 136949) +- Make init script more paranoid about mkdir step of initializing a new + database (bugs 136947, 136949) + +* Wed Oct 20 2004 Tom Lane 7.4.5-4 +- Remove contrib/oidjoins stuff from installed fileset; it's of no use + to ordinary users and has a security issue (bugs 136300, 136301) +- adjust chkconfig priority (bug 128852) + +* Tue Oct 05 2004 Tom Lane 7.4.5-3 +- Solve the stale lockfile problem (bugs 71295, 96981, 134090) +- Use runuser instead of su for SELinux (bug 134588) + +* Mon Aug 30 2004 Tom Lane 7.4.5-2 +- Update to PyGreSQL 3.5. + +* Tue Aug 24 2004 Tom Lane 7.4.5-1 +- Update to PostgreSQL 7.4.5. +- Update JDBC jars to driver build 215. +- Add Obsoletes: entries for rh-postgresql packages, per bug 129278. + +* Sat Jul 10 2004 Tom Lane 7.4.3-3 +- Undo ill-considered chkconfig change that causes server to start + immediately upon install. Mea culpa (bug 127552). + +* Sat Jul 03 2004 Tom Lane 7.4.3-2 +- Update JDBC jars to driver build 214. + +* Wed Jun 23 2004 Tom Lane 7.4.3-1 +- Update to PostgreSQL 7.4.3. +- Uninstalling server RPM stops postmaster first, per bug 114846. +- Fix su commands to not assume PG user's shell is sh-like, per bug 124024. +- Fix permissions on postgresql-python doc files, per bug 124822. +- Minor postgresql.init improvements. + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Wed Mar 10 2004 Tom Lane 7.4.2-1 +- Update to PostgreSQL 7.4.2; sync with community SRPM as much as possible. +- Support PGOPTS from /etc/sysconfig/pgsql, per bug 111504. +- Fix permissions on /etc/sysconfig/pgsql, per bug 115278. +- SELinux patch in init file: always su +- rebuilt + +* Wed Feb 25 2004 Tom Lane +- Update to PostgreSQL 7.4.1. +- Rebuilt + +* Tue Feb 24 2004 Tom Lane +- Fix chown syntax in postgresql.init also. +- Rebuilt + +* Mon Feb 23 2004 Tim Waugh +- Use ':' instead of '.' as separator for chown. + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Fri Jan 9 2004 Lamar Owen +- 7.4.1-1PGDG +- Merge Sander Steffann's changes up to 7.4-0.5PGDG +- Proper 7.4.1 JDBC jars this time. +- Patch for no pl/python from Alvaro + +* Fri Dec 05 2003 David Jee 7.4-5 +- Rebuild for Perl 5.8.2. + +* Mon Dec 01 2003 David Jee 7.4-4 +- Add PyGreSQL patch for deprecated column pg_type.typprtlen [Bug #111263] +- Add headers patch which moves ecpg headers to /usr/include/ecpg + [Bug #111195] + +* Fri Nov 28 2003 David Jee 7.4-3 +- uncomment buildrequires tcl-devel + +* Fri Nov 28 2003 David Jee 7.4-2 +- rebuild + +* Mon Nov 24 2003 David Jee 7.4-1 +- initial Red Hat build +- move jars to /usr/share/java +- fix rpm-multilib patch to use sysconfig + +* Fri Nov 21 2003 Lamar Owen +- 7.4-0.1PGDG +- Development JDBC jars in addition to the 7.3 jars; will replace the +- 7.3 jars once 7.4 official jars are released. +- Changed to use the bzip2 source to save a little size. +- Removed some commented out portions of the specfile. +- Removed the 7.3.4 PDF docs. Will replace with 7.4 PDF's once they +- are ready. + +* Tue Nov 18 2003 Kaj J. Niemi 7.4-0.1 +- 7.4 +- Fixed Patch #1 (now rpm-pgsql-7.4.patch) +- Fixed Patch #2 (now rpm-multilib-7.4.patch): +- Patch #4 is unnecessary (upstream) +- Fixed Patch #6 (now postgresql-7.4-src-tutorial.patch) +- Added Patch #8 (postgresql-7.4-com_err.patch) as com_err() + is provided by e2fsprogs and CPPFLAGS gets lost somewhere + inside configure (bad macro?) +- No 7.4 PDF docs available yet (Source #17) +- PyGreSQL is separated from the upstream distribution but + we include it as usual (Source #18) +- Default to compiling libpq and ECPG as fully thread-safe + +- 7.4 Origin. See previous spec files for previous history. Adapted +- from Red Hat and PGDG's 7.3.4 RPM, directly descended from +- postgresql-7.3.4-2 as shipped in Fedora Core 1.