Blob Blame History Raw
# This is the PostgreSQL Global Development Group Official RPMset spec file,
# or a derivative thereof.
# Copyright 2003-2009 Lamar Owen <lowen@pari.edu> <lamar.owen@wgcr.org>
# and others listed.                 ** vi: ts=4 sw=4 noexpandtab nosmarttab

# Major Contributors:
# ---------------
# Lamar Owen
# Trond Eivind Glomsrd <teg@redhat.com>
# 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.
%global scl rh-postgresql12
%{?scl:%scl_package postgresql}

%{!?beta:%global beta 0}

%if 0%{?rhel}
%if %rhel <= 7
%{!?plpython:%global plpython 1}
%{!?plpython3:%global plpython3 0}
%else
%{!?plpython:%global plpython 0}
%{!?plpython3:%global plpython3 1}
%endif
%endif

%{!?test:%global test 1}
%{!?plpython:%global plpython 1}
%{!?plpython3:%global plpython3 1}
%{!?pltcl:%global pltcl 1}
%{!?plperl:%global plperl 1}
%{!?ssl:%global ssl 1}
%{!?icu:%global icu 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}
%{!?systemd_build:%global systemd_build 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

# https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_of_Additional_RPM_Macros
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{!?scl:%_sysconfdir}%{?scl:%_root_sysconfdir}/rpm; echo $d)

Summary: PostgreSQL client programs
Name: %{?scl_prefix}postgresql
%global majorversion 12
Version: %{majorversion}.9
Release: 1%{?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 8.4

%global service_name %{?scl_prefix}postgresql.service
Source0: https://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
Source4: Makefile.regress
Source9: postgresql.tmpfiles.d
Source10: postgresql.pam
Source11: postgresql-bashprofile


# git: https://github.com/devexp-db/postgresql-setup
Source12: https://github.com/devexp-db/postgresql-setup/releases/download/v%{setup_version}/postgresql-setup-%{setup_version}.tar.gz

# Those here are just to enforce packagers check that the tarball was downloaded
# correctly.  Also, this allows us check that packagers-only tarballs do not
# differ with publicly released ones.
Source16: https://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2.sha256

# Comments for these patches are in the patch files.
Patch1: rpm-pgsql.patch
Patch2: postgresql-logging.patch
Patch3: postgresql-perl-rpath.patch
Patch5: postgresql-var-run-socket.patch
Patch6: postgresql-man.patch
Patch7: postgresql-socket-dirs-pgupgrade.patch
Patch8: postgresql-libpqwalreceiver-rpath.patch

BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex gawk
BuildRequires: perl(ExtUtils::Embed), perl-devel
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: perl-generators
%endif
BuildRequires: readline-devel zlib-devel
BuildRequires: systemd-units systemd-devel
BuildRequires: util-linux
# We don't have to take care of multilib in SCL.
BuildRequires: multilib-rpm-config

# postgresql-setup build requires
BuildRequires: m4 elinks docbook-utils help2man

%if %plpython
BuildRequires: python2-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}

%if %icu
BuildRequires: libicu-devel
%endif

# Needed for:
# - RHEL7 lib* plugins
# - https://bugzilla.redhat.com/1464368 elsewhere
# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
%global __provides_exclude_from ^%{_libdir}/(pgsql|pkgconfig)
%global __requires_exclude_from ^%{_libdir}/pkgconfig


%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
%{!?scl:Provides: libpq.so = %{version}-%{release}}
# 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}
%{?scl:Requires: /usr/bin/scl_source}
Requires(pre): /usr/sbin/useradd
# We require this to be present for %%{_prefix}/lib/tmpfiles.d
Requires: systemd-units
# Make sure it's there when scriptlets run, too
%{?systemd_requires}

# Packages which provide postgresql plugins should build-require
# postgresql-devel and require
# postgresql-server(:MODULE_COMPAT_%%{postgresql_major}).
# This will automatically guard against incompatible server & plugin
# installation (#1008939, #1007840)
Provides: %{name}-server(:MODULE_COMPAT_%{majorversion})
Provides: bundled(postgresql-setup) = %setup_version
%{?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}
# Just for more intuitive documentation installation
Provides: %{name}-doc = %{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}-libs%{?_isa} = %{version}-%{release}
%if %icu
Requires:      libicu-devel
%endif

%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.


%package static
Summary: Statically linked PostgreSQL libraries
Requires: %{name}-devel%{?_isa} = %{version}-%{release}

%description static
Statically linked PostgreSQL libraries that do not have dynamically linked
counterparts.


%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))
%if %runselftest
BuildRequires: perl(Data::Dumper)
%endif
%{?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

%if 0%{?scl:1}
%scl_syspaths_package -d
%scl_syspaths_package contrib -d
%scl_syspaths_package server -d
%endif


%prep
( cd %_sourcedir; sha256sum -c %{SOURCE16} )
%setup -q %{?scl:-n %{pkg_name}-%{version}} -a 12
%patch1 -p1
%patch2 -p1
%if 0%{?rhel:1} && 0%{?rhel} <= 7
%patch3 -p1
%endif
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -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.

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.
%if 0%{?scl:1}
%global scl_sed_patches 1
find . -type f -name Makefile -exec sed -i -e "s/SO_MAJOR_VERSION=\s\?\([0-9]\+\)/SO_MAJOR_VERSION= %{?scl}-\1/" {} \;
%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

# Building postgresql-setup

cd postgresql-setup-%{setup_version}

%configure \
    pgdocdir=%{_pkgdocdir} \
    PGVERSION=%{version} \
    PGMAJORVERSION=%{majorversion} \
    %{?scl:--with-scl} \
    NAME_DEFAULT_PREV_SERVICE=postgresql

make %{?_smp_mflags}
cd ..

# Fiddling with CFLAGS.

CFLAGS="${CFLAGS:-%optflags}"
%ifarch %{power64}
# See the bug #1051075, ppc64 should benefit from -O3
CFLAGS=`echo $CFLAGS | xargs -n 1 | sed 's|-O2|-O3|g' | xargs -n 100`
%endif
# Strip out -ffast-math from CFLAGS....
CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100`
export CFLAGS

# 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.
common_configure_options='
	--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 %ldap
	--with-ldap
%endif
%if %ssl
	--with-openssl
%endif
%if %pam
	--with-pam
%endif
%if %kerberos
	--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
	--with-systemd
%if %icu
       --with-icu
%endif
'

%if %plpython3

export PYTHON=/usr/bin/python3

# These configure options must match main build
%configure $common_configure_options \
	--with-python

# Fortunately we don't need to build much except plpython itself.
make %{?_smp_mflags} -C src/pl/plpython all
# save built form in a directory that "make distclean" won't touch
cp -a src/pl/plpython src/pl/plpython3

# must also save this version of Makefile.global for later
cp src/Makefile.global src/Makefile.global.python3

make distclean

%endif # %%plpython3

unset PYTHON

# Normal (python2) build begins here
%configure $common_configure_options \
%if %plpython
	--with-python
%endif

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

# 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'.  This function
# never exits directly nor stops rpmbuild where `set -e` is enabled.
run_testsuite()
{
	make -k -C "$1" MAX_CONNECTIONS=5 check && return 0 || test_failure=1
	(
		set +x
		echo "=== trying to find all regression.diffs files in build directory ==="
		find "$1" -name 'regression.diffs' | \
		while read line; do
			echo "=== make failure: $line ==="
			cat "$line"
		done
	)
}

test_failure=0

%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 reason, having '%%doc %%{_pkgdocdir}/README.rpm-dist' in %%files
# causes FTBFS (at least on RHEL6), see rhbz#1250006.
mv $RPM_BUILD_ROOT/%{_pkgdocdir}/README.rpm-dist ./

case "%{?rhel}" in
7) sys_pg_version=9.2 upgrade_hacks='redhat_sockets_hack yes' ;;
esac

cat > $RPM_BUILD_ROOT%{_sysconfdir}/postgresql-setup/upgrade/postgresql.conf <<EOF
id              postgresql
major           $sys_pg_version
data_default    /var/lib/pgsql/data
engine          /usr/bin
description     "Upgrade data from system PostgreSQL version (PostgreSQL $sys_pg_version)"
$upgrade_hacks
EOF

# gen_scl_upgrade_config VERSION PREFIXES
# ---------------------------------------
gen_scl_upgrade_config ()
{
	pver=$1
	for pfx in $2; do
		name=${pfx}postgresql${pver//./}
cat > $RPM_BUILD_ROOT%{_sysconfdir}/postgresql-setup/upgrade/$name.conf <<EOF
id              $name-postgresql
major           $pver
data_default    /var/opt/rh/$name/lib/pgsql/data
engine          /opt/rh/$name/root/usr/bin
description     "Upgrade data from RHSCL PostgreSQL version (PostgreSQL $pver)"
scls            "$name"
EOF
	done
}

cat > $RPM_BUILD_ROOT%{_sysconfdir}/postgresql-setup/upgrade/postgresql92.conf <<EOF
id              postgresql92-postgresql
major           9.2
data_default    /opt/rh/postgresql92/root/var/lib/pgsql/data
engine          /opt/rh/postgresql92/root/usr/bin
description     "Upgrade data from RHSCL PostgreSQL version (PostgreSQL 9.2)"
scls            "postgresql92"
redhat_sockets_hack yes
EOF

for version in 9.4 9.5 9.6 10; do
	gen_scl_upgrade_config "$version" "rh- sclo-"
done

make DESTDIR=$RPM_BUILD_ROOT install-world

%if %plpython3
	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
	pushd src/pl/plpython3
	make DESTDIR=$RPM_BUILD_ROOT install
	popd
	mv -f src/Makefile.global.save src/Makefile.global
%endif

# make sure these directories exist even if we suppressed all contrib modules
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/pgsql/contrib
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/pgsql/extension

# multilib header hack; some headers are installed in two places!
for header in \
	%{_includedir}/pg_config.h \
	%{_includedir}/pg_config_ext.h \
	%{_includedir}/ecpg_config.h \
	%{_includedir}/pgsql/server/pg_config.h \
	%{_includedir}/pgsql/server/pg_config_ext.h
do
%multilib_fix_c_header --file "$header"
done

install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/pgsql/tutorial
cp -p src/tutorial/* $RPM_BUILD_ROOT%{_libdir}/pgsql/tutorial

%if %pam
install -d $RPM_BUILD_ROOT/etc/pam.d
install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/%{?scl_prefix}postgresql
%endif

# Create the directory for sockets.
install -d -m 755 $RPM_BUILD_ROOT%{?!scl:%_localstatedir}%{?scl:%_root_localstatedir}/run/postgresql

# ... and make a tmpfiles script to recreate it at reboot.
mkdir -p $RPM_BUILD_ROOT%{_tmpfilesdir}
install -m 0644 %{SOURCE9} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{?scl_prefix}postgresql.conf

# PGDATA needs removal of group and world permissions due to pg_pwd hole.
install -d -m 700 $RPM_BUILD_ROOT%{?_localstatedir}/lib/pgsql/data

%if 0%{?scl:1}
# make sure /var/lib/pgsql also exists, see bz#1023113
mkdir -p -m 700 $RPM_BUILD_ROOT%{?_root_localstatedir}/lib/pgsql
%endif

# backups of data go here...
install -d -m 700 $RPM_BUILD_ROOT%{?_localstatedir}/lib/pgsql/backups

%if 0%{!?scl:1}
# postgres' .bash_profile
install -m 644 %{SOURCE11} $RPM_BUILD_ROOT%{?_localstatedir}/lib/pgsql/.bash_profile
%endif


%if %test
	# tests. There are many files included here that are unnecessary,
	# but include them anyway for completeness.  We replace the original
	# Makefiles, however.
	mkdir -p $RPM_BUILD_ROOT%{_libdir}/pgsql/test
	cp -a src/test/regress $RPM_BUILD_ROOT%{_libdir}/pgsql/test
	# pg_regress binary should be only in one subpackage,
	# there will be a symlink from -test to -devel
	rm -f $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/pg_regress
	ln -sf ../../pgxs/src/test/regress/pg_regress $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/pg_regress
	pushd  $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress
	rm -f GNUmakefile Makefile *.o
	chmod 0755 pg_regress regress.so
	popd
	sed 's|@bindir@|%{_bindir}|g' \
		< %{SOURCE4} \
		> $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/Makefile
	chmod 0644 $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/Makefile
%endif

rm -rf doc/html # HACK! allow 'rpmbuild -bi --short-circuit'
mv $RPM_BUILD_ROOT%{_docdir}/pgsql/html doc
rm -rf $RPM_BUILD_ROOT%{_docdir}/pgsql

# remove files not to be packaged
rm $RPM_BUILD_ROOT%{_libdir}/lib{ecpg,pq,ecpg_compat,pgfeutils,pgtypes}.a

%if !%plperl
rm -f $RPM_BUILD_ROOT%{_libdir}/pgsql/hstore_plperl.so
%endif

%if !%plpython
rm -f $RPM_BUILD_ROOT%{_libdir}/pgsql/hstore_plpython2.so
%endif

%if !%plpython3
rm -f $RPM_BUILD_ROOT%{_libdir}/pgsql/hstore_plpython3.so
rm -f $RPM_BUILD_ROOT%{_datadir}/pgsql/extension/jsonb_plpython3*
%endif

# initialize file lists
cp /dev/null main.lst
cp /dev/null libs.lst
cp /dev/null server.lst
cp /dev/null contrib.lst
cp /dev/null devel.lst
cp /dev/null plperl.lst
cp /dev/null pltcl.lst
cp /dev/null plpython.lst
cp /dev/null plpython3.lst

%if %nls
find_lang_bins ()
{
	lstfile=$1 ; shift
	for binary; do
		%find_lang "$binary"-%{majorversion}
		cat "$binary"-%{majorversion}.lang >>$lstfile
	done
}
find_lang_bins devel.lst ecpg
find_lang_bins libs.lst ecpglib%{?scl_prefix}6 libpq%{?scl_prefix}5
find_lang_bins server.lst \
	initdb pg_basebackup pg_controldata pg_ctl pg_resetwal pg_rewind plpgsql \
    postgres pg_checksums
find_lang_bins contrib.lst \
	pg_archivecleanup pg_test_fsync pg_test_timing pg_waldump
find_lang_bins  main.lst \
	pg_config pg_dump pg_upgrade pgscripts psql
%if %plperl
find_lang_bins plperl.lst plperl
%endif
%if %plpython
find_lang_bins plpython.lst plpython
%endif
%if %plpython3
# plpython3 shares message files with plpython
find_lang_bins plpython3.lst plpython
%endif
%if %pltcl
find_lang_bins pltcl.lst pltcl
%endif
%endif

%if 0%{?scl:1}
server_binaries='initdb pg_basebackup pg_controldata pg_ctl pg_receivewal
pg_recvlogical pg_resetwal pg_rewind postgres postgresql-setup postmaster
pg_checksums
'

contrib_binaries='
oid2name pg_archivecleanup pgbench pg_standby pg_test_fsync pg_test_timing
pg_waldump vacuumlo
'

binaries='clusterdb createdb createuser dropdb dropuser
pg_dump pg_dumpall pg_isready pg_restore pg_upgrade psql reindexdb vacuumdb
'

for pkg in '' contrib server; do
	mans= sep= pkg_name=postgresql${pkg:+-$pkg}
	eval "list=\$${pkg:+${pkg}_}binaries"
	for bin in $list; do mans+="${sep}man1/$bin.1.gz" ; sep=' '; done
	%scl_syspaths_install_wrappers -n $pkg_name -m script -p bin $list
	%scl_syspaths_install_wrappers -n $pkg_name -m link -p man $mans
done

for service in postgresql postgresql@; do
	%scl_syspaths_install_wrapper -n postgresql-server -m link \
		%{_unitdir}/%{scl_prefix}$service.service \
		%{_unitdir}/$service.service
done
%scl_syspaths_install_wrapper -n postgresql-server -m link \
		%_root_libexecdir/initscripts/legacy-actions/%{scl_prefix}postgresql \
		%_root_libexecdir/initscripts/legacy-actions/postgresql
%endif # %{?scl:1}


%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 \
-N -c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || :

%post server
%systemd_post %service_name

%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


%preun server
%systemd_preun %service_name

%postun server
%systemd_postun_with_restart %service_name


%check
%if %runselftest
make -C postgresql-setup-%{setup_version} check
%endif


# FILES section.
%files -f main.lst
%doc doc/KNOWN_BUGS doc/MISSING_FEATURES doc/TODO
%doc COPYRIGHT README HISTORY
%doc README.rpm-dist
%{_bindir}/clusterdb
%{_bindir}/createdb
%{_bindir}/createuser
%{_bindir}/dropdb
%{_bindir}/dropuser
%{_bindir}/pg_dump
%{_bindir}/pg_dumpall
%{_bindir}/pg_isready
%{_bindir}/pg_restore
%{_bindir}/pg_upgrade
%{_bindir}/psql
%{_bindir}/reindexdb
%{_bindir}/vacuumdb
%{_mandir}/man1/clusterdb.*
%{_mandir}/man1/createdb.*
%{_mandir}/man1/createuser.*
%{_mandir}/man1/dropdb.*
%{_mandir}/man1/dropuser.*
%{_mandir}/man1/pg_dump.*
%{_mandir}/man1/pg_dumpall.*
%{_mandir}/man1/pg_isready.*
%{_mandir}/man1/pg_restore.*
%{_mandir}/man1/pg_upgrade.*
%{_mandir}/man1/psql.*
%{_mandir}/man1/reindexdb.*
%{_mandir}/man1/vacuumdb.*
%{_mandir}/man7/*


%if 0%{?scl:1}
%scl_syspaths_files
%scl_syspaths_files contrib
%scl_syspaths_files server
%endif


%files docs
%doc *-US.pdf
%doc doc/html
%{_libdir}/pgsql/tutorial/

%files contrib -f contrib.lst
%doc contrib/spi/*.example
%{_bindir}/oid2name
%{_bindir}/pg_archivecleanup
%{_bindir}/pg_standby
%{_bindir}/pg_test_fsync
%{_bindir}/pg_test_timing
%{_bindir}/pg_waldump
%{_bindir}/pgbench
%{_bindir}/vacuumlo
%dir %{_datadir}/pgsql/contrib
%dir %{_datadir}/pgsql/extension
%{_datadir}/pgsql/extension/adminpack*
%{_datadir}/pgsql/extension/amcheck*
%{_datadir}/pgsql/extension/autoinc*
%{_datadir}/pgsql/extension/bloom*
%{_datadir}/pgsql/extension/btree_gin*
%{_datadir}/pgsql/extension/btree_gist*
%{_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*
%if %{plperl}
%{_datadir}/pgsql/extension/jsonb_plperl*
%endif
%if %{plpython}
%{_datadir}/pgsql/extension/jsonb_plpythonu*
%{_datadir}/pgsql/extension/jsonb_plpython2u*
%endif
%if %{plpython3}
%{_datadir}/pgsql/extension/jsonb_plpython3u*
%endif
%{_datadir}/pgsql/extension/lo*
%{_datadir}/pgsql/extension/ltree*
%{_datadir}/pgsql/extension/moddatetime*
%{_datadir}/pgsql/extension/pageinspect*
%{_datadir}/pgsql/extension/pg_buffercache*
%{_datadir}/pgsql/extension/pg_freespacemap*
%{_datadir}/pgsql/extension/pg_prewarm*
%{_datadir}/pgsql/extension/pg_stat_statements*
%{_datadir}/pgsql/extension/pg_trgm*
%{_datadir}/pgsql/extension/pg_visibility*
%{_datadir}/pgsql/extension/pgcrypto*
%{_datadir}/pgsql/extension/pgrowlocks*
%{_datadir}/pgsql/extension/pgstattuple*
%{_datadir}/pgsql/extension/postgres_fdw*
%{_datadir}/pgsql/extension/refint*
%{_datadir}/pgsql/extension/seg*
%{_datadir}/pgsql/extension/tablefunc*
%{_datadir}/pgsql/extension/tcn*
%{_datadir}/pgsql/extension/tsm_system_rows*
%{_datadir}/pgsql/extension/tsm_system_time*
%{_datadir}/pgsql/extension/unaccent*
%{_libdir}/pgsql/_int.so
%{_libdir}/pgsql/adminpack.so
%{_libdir}/pgsql/amcheck.so
%{_libdir}/pgsql/auth_delay.so
%{_libdir}/pgsql/auto_explain.so
%{_libdir}/pgsql/autoinc.so
%{_libdir}/pgsql/bloom.so
%{_libdir}/pgsql/btree_gin.so
%{_libdir}/pgsql/btree_gist.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/earthdistance.so
%{_libdir}/pgsql/file_fdw.so
%{_libdir}/pgsql/fuzzystrmatch.so
%{_libdir}/pgsql/hstore.so
%if %plperl
%{_libdir}/pgsql/hstore_plperl.so
%endif
%if %plpython
%{_libdir}/pgsql/hstore_plpython2.so
%endif
%if %plpython3
%{_libdir}/pgsql/hstore_plpython3.so
%endif
%{_libdir}/pgsql/insert_username.so
%{_libdir}/pgsql/isn.so
%if %plperl
%{_libdir}/pgsql/jsonb_plperl.so
%endif
%if %plpython
%{_libdir}/pgsql/jsonb_plpython2.so
%endif
%if %plpython3
%{_libdir}/pgsql/jsonb_plpython3.so
%endif
%{_libdir}/pgsql/lo.so
%{_libdir}/pgsql/ltree.so
%if %plpython
%{_libdir}/pgsql/ltree_plpython2.so
%endif
%{_libdir}/pgsql/moddatetime.so
%{_libdir}/pgsql/pageinspect.so
%{_libdir}/pgsql/passwordcheck.so
%{_libdir}/pgsql/pg_buffercache.so
%{_libdir}/pgsql/pg_freespacemap.so
%{_libdir}/pgsql/pg_stat_statements.so
%{_libdir}/pgsql/pg_trgm.so
%{_libdir}/pgsql/pg_visibility.so
%{_libdir}/pgsql/pgcrypto.so
%{_libdir}/pgsql/pgrowlocks.so
%{_libdir}/pgsql/pgstattuple.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/tsm_system_rows.so
%{_libdir}/pgsql/tsm_system_time.so
%{_libdir}/pgsql/unaccent.so
%{_mandir}/man1/oid2name.*
%{_mandir}/man1/pg_archivecleanup.*
%{_mandir}/man1/pg_recvlogical.*
%{_mandir}/man1/pg_standby.*
%{_mandir}/man1/pg_test_fsync.*
%{_mandir}/man1/pg_test_timing.*
%{_mandir}/man1/pg_waldump.*
%{_mandir}/man1/pgbench.*
%{_mandir}/man1/vacuumlo.*
%{_mandir}/man3/dblink*
%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

%files libs -f libs.lst
%doc COPYRIGHT
%dir %{_libdir}/pgsql
%{_libdir}/libecpg.so.*
%{_libdir}/libecpg_compat.so.*
%{_libdir}/libpgtypes.so.*
%{_libdir}/libpq.so.*

%files server -f server.lst
%{_bindir}/initdb
%{_bindir}/pg_basebackup
%{_bindir}/pg_controldata
%{_bindir}/pg_ctl
%{_bindir}/pg_receivewal
%{_bindir}/pg_recvlogical
%{_bindir}/pg_resetwal
%{_bindir}/pg_rewind
%{_bindir}/pg_checksums
%{_bindir}/postgres
%{_bindir}/postgresql-setup
%{_bindir}/postmaster
%dir %{_datadir}/pgsql
%{_datadir}/pgsql/*.sample
%dir %{_datadir}/pgsql/contrib
%dir %{_datadir}/pgsql/extension
%{_datadir}/pgsql/extension/plpgsql*
%{_datadir}/pgsql/information_schema.sql
%{_datadir}/pgsql/postgres.bki
%{_datadir}/pgsql/postgres.description
%{_datadir}/pgsql/postgres.shdescription
%{_datadir}/pgsql/snowball_create.sql
%{_datadir}/pgsql/sql_features.txt
%{_datadir}/pgsql/system_views.sql
%{_datadir}/pgsql/timezonesets/
%{_datadir}/pgsql/tsearch_data/
%dir %{_datadir}/postgresql-setup
%{_datadir}/postgresql-setup/library.sh
%{_datadir}/postgresql-setup/postgresql_pkg_tests.sh
%{macrosdir}/macros.%name-test
%dir %{_libdir}/pgsql
%{_libdir}/pgsql/*_and_*.so
%{_libdir}/pgsql/dict_snowball.so
%{_libdir}/pgsql/euc2004_sjis2004.so
%{_libdir}/pgsql/libpqwalreceiver.so
%{_libdir}/pgsql/pg_prewarm.so
%{_libdir}/pgsql/pgoutput.so
%{_libdir}/pgsql/plpgsql.so
%dir %{?scl:%_root_libexecdir}%{!?scl:%_libexecdir}/initscripts/legacy-actions/%{?scl_prefix}postgresql
%{?scl:%_root_libexecdir}%{!?scl:%_libexecdir}/initscripts/legacy-actions/%{?scl_prefix}postgresql/*
%{_libexecdir}/postgresql-check-db-dir
%dir %{_sysconfdir}/postgresql-setup
%dir %{_sysconfdir}/postgresql-setup/upgrade
%config %{_sysconfdir}/postgresql-setup/upgrade/*.conf
%{_mandir}/man1/initdb.*
%{_mandir}/man1/pg_basebackup.*
%{_mandir}/man1/pg_controldata.*
%{_mandir}/man1/pg_ctl.*
%{_mandir}/man1/pg_receivewal.*
%{_mandir}/man1/pg_resetwal.*
%{_mandir}/man1/pg_rewind.*
%{_mandir}/man1/pg_checksums.*
%{_mandir}/man1/postgres.*
%{_mandir}/man1/postgresql-new-systemd-unit.*
%{_mandir}/man1/postgresql-setup.*
%{_mandir}/man1/postmaster.*
%{_sbindir}/postgresql-new-systemd-unit
%{_tmpfilesdir}/%{?scl_prefix}postgresql.conf
%{_unitdir}/*%{?scl_prefix}postgresql*.service
%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql
%{!?scl:%attr(644,postgres,postgres) %config(noreplace) %{?_localstatedir}/lib/pgsql/.bash_profile}
%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/backups
%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql/data
%attr(755,postgres,postgres) %dir %{?!scl:%_localstatedir}%{?scl:%_root_localstatedir}/run/postgresql
%if %pam
%config(noreplace) /etc/pam.d/%{?scl_prefix}postgresql
%endif

%if 0%{?scl:1}
# Still needed because /var/lib/pgsql is postgres's $HOMEDIR
%attr(700,postgres,postgres) %dir %{?_root_localstatedir}/lib/pgsql
%endif

%files devel -f devel.lst
%{_bindir}/ecpg
%{_bindir}/pg_config
%dir %{_datadir}/pgsql
%{_datadir}/pgsql/errcodes.txt
%{_includedir}/*
%{_libdir}/libecpg.so
%{_libdir}/libecpg_compat.so
%{_libdir}/libpgtypes.so
%{_libdir}/libpq.so
%{_libdir}/pgsql/pgxs/
%if 0%{?scl:1}
# https://bugzilla.redhat.com/show_bug.cgi?id=1431962
%dir %{_libdir}/pkgconfig
%endif
%{_libdir}/pkgconfig/*.pc
%{_mandir}/man1/ecpg.*
%{_mandir}/man1/pg_config.*
%{_mandir}/man3/SPI_*
%{macrosdir}/macros.%name

%files static
%{_libdir}/libpgcommon.a
%{_libdir}/libpgport.a
%{_libdir}/libpgcommon_shlib.a
%{_libdir}/libpgport_shlib.a

%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
%endif

%if %plpython
%files plpython -f plpython.lst
%{_datadir}/pgsql/extension/plpython2*
%{_datadir}/pgsql/extension/plpythonu*
%{_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
%attr(-,postgres,postgres) %{_libdir}/pgsql/test
%endif

%changelog
* Tue Nov 16 2021 Filip Janus <fjanus@redhat.com> - 12.9-1
- Update to 12.9
- Resolves: #2024609

* Tue Jun 01 2021 Honza Horak <hhorak@redhat.com> - 12.7-1
- Update to 12.7
  Resolves: CVE-2021-32027
  Also fixes: CVE-2021-32028 CVE-2021-32029

* Wed Nov 18 2020 Patrik Novotný <panovotn@redhat.com> - 12.5-1
- Rebase to upstream release 12.5
  Resolves: CVE-2020-25695
  Resolves: CVE-2020-25694
  Resolves: CVE-2020-25696

* Tue Sep 08 2020 Patrik Novotný <panovotn@redhat.com> - 12.4-1
- Rebase to upstream release 12.4
  https://www.postgresql.org/docs/12/release-12-4.html
 
* Thu Nov 14 2019 Patrik Novotný <panovotn@redhat.com> - 12.1-2
- Fix requires exclude

* Tue Nov 12 2019 Patrik Novotný <panovotn@redhat.com> - 12.1-1
- Rebase to upstream release 12.1

* Fri Oct 25 2019 Patrik Novotný <panovotn@redhat.com> - 12.0-2
- Fixed package files and requires listing

* Wed Oct 02 2019 Patrik Novotný <panovotn@redhat.com> - 12.0-1
- Rebase to upstream release 12.0

* Wed Sep 04 2019 Patrik Novotný <panovotn@redhat.com> - 12.0.beta2.3
- Fix source URLs for beta release

* Thu Aug 29 2019 Patrik Novotný <panovotn@redhat.com> - 12.0.beta2.2
- Exclude pkgconfig provides

* Fri Jul 26 2019 Honza Horak <hhorak@redhat.com> - 12-0.beta2.1
- Rebase to upstream beta release 12beta2

* Thu Nov 15 2018 Pavel Raiskup <praiskup@redhat.com> - 10.6-1
- update to 10.6 per release notes:
  https://www.postgresql.org/docs/10/release-10-6.html

* Thu Aug 09 2018 Pavel Raiskup <praiskup@redhat.com> - 10.5-1
- update to 10.5 per release notes:
  https://www.postgresql.org/docs/10/static/release-10-4.html
  https://www.postgresql.org/docs/10/static/release-10-5.html

* Tue Mar 06 2018 Pavel Raiskup <praiskup@redhat.com> - 10.3-2
- work-around linking issue with libpqwalreceiver.so (rhbz#1550567)

* Thu Mar 01 2018 Pavel Raiskup <praiskup@redhat.com> - 10.3-1
- update to 10.3 per release notes:
  https://www.postgresql.org/docs/10/static/release-10-3.html

* Fri Dec 22 2017 Pavel Raiskup <praiskup@redhat.com> - 10.1-2
- dangling symlink fix

* Thu Dec 21 2017 Pavel Raiskup <praiskup@redhat.com> - 10.1-1
- sync with Fedora Rawhide (and github.com/sclorg/postgresql)

* Mon Nov 06 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.5-2
- fix CVE-2017-15097 by rebasing postgresql-setup to the latest version

* Fri Sep 22 2017 Petr Kubat <pkubat@redhat.com> - 9.6.5-1
- the latest upstream minor release, per release notes:
  https://www.postgresql.org/docs/9.6/static/release-9-6-5.html

* Tue Sep 05 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.4-2
- move %%_libdir/pgsql into *-libs subpackage

* Wed Aug 09 2017 Petr Kubat <pkubat@redhat.com> - 9.6.4-1
- the latest upstream minor release, per release notes:
  https://www.postgresql.org/docs/9.6/static/release-9-6-4.html

* Fri Jul 28 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.3-9
- disable rpath in plperl/plpython (rhbz#1469431)
- own pkgconfig dir in scls

* Mon Jun 26 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.3-8
- don't include syspaths' wrappers into server subpackage

* Mon Jun 26 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.3-7
- initscript must be executable script

* Mon Jun 26 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.3-6
- remove leftover symlink for initscript

* Mon Jun 26 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.3-5
- fix 'service initdb postgresql' on RHEL6 for syspaths
- fix provides filtering

* Fri Jun 23 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.3-4
- provide symlinks to initscripts and unit files

* Fri Jun 23 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.3-3
- fix provides to not include plugins as sonames
- fix syspaths wrappers installation (spotted by Marek Skalický)
- add *contrib-syspaths wrappers

* Wed Jun 21 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.3-2
- drop scl-utils-build-helpers BR, resolved by *-build metapackage

* Wed Jun 21 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.3-1
- first build against rh-postgresql96 metapackage

* Wed Jun 21 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.3-1
- fix *-syspaths PoC

* Fri Jun 16 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.3-0.1
- initial *-syspaths PoC

* Mon Jun 12 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.3-0.0
- the latest upstream minor release, per release notes:
  https://www.postgresql.org/docs/9.6/static/release-9-6-3.html

* Mon Jun 12 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.2-0.3
- drop -DLINUX_OOM_SCORE_ADJ=0 define from CFLAGS (rhbz#1110969, rhbz#1436554)

* Mon Apr 10 2017 Pavel Raiskup <praiskup@redhat.com> - 9.6.2-0.2
- initial packaging for {sclo,rh}-postgresql96
- synced spec file with latest Fedora package
- properly generate man page for postgresql-setup

* Mon Sep 26 2016 Pavel Raiskup <praiskup@redhat.com> - 9.5.4-2
- fix upgrade from postgresql92-postgresql (rhbz#1378787)

* Thu Aug 18 2016 Petr Kubat <pkubat@redhat.com> - 9.5.4-1
- Rebase to 9.5.4 per release notes
  http://www.postgresql.org/docs/9.5/static/release-9-5-4.html
  http://www.postgresql.org/docs/9.5/static/release-9-5-3.html

* Wed Jul 27 2016 Pavel Raiskup <praiskup@redhat.com> - 9.5.2-3
- rebuild for s390x

* Mon May 09 2016 Pavel Raiskup <praiskup@redhat.com> - 9.5.2-2
- fix upgrade path from rh-postgresql94 (rhbz#1334351)
- fix path to binary directory in Makefile.regress (rhbz#1334706)

* Mon Apr 4 2016 Pavel Kajaba <pkajaba@redhat.com> - 9.5.2-1
- Rebase to 9.5.2 (CVE-2016-3065) per release notes
  http://www.postgresql.org/docs/9.5/static/release-9-5-2.html

* Tue Mar 29 2016 Pavel Kajaba <pkajaba@redhat.com> - 9.5.1-4
- Inlude missing files into files section (rhbz#1321915)

* Thu Mar 10 2016 Pavel Kajaba <pkajaba@redhat.com> - 9.5.1-3
- package static libraries without dynamic counterparts (rhbz#1314796)

* Wed Feb 17 2016 Pavel Kajaba <pkajaba@redhat.com> - 9.5.1-2
- Removed upgrade package because it was empty.

* Tue Feb 16 2016 Pavel Raiskup <praiskup@redhat.com> - 9.5.1-1
- Rebase to 9.5.1 (CVE-2016-0773) per release notes
  http://www.postgresql.org/docs/9.5/static/release-9-5-1.html

* Fri Feb 12 2016 Honza Horak <hhorak@redhat.com> - 9.5.0-5
- Rebuild with newer scl-utils

* Thu Feb 11 2016 Honza Horak <hhorak@redhat.com> - 9.5.0-4
- Rebuild with newer scl-utils in buildroot

* Tue Feb 09 2016 Honza Horak <hhorak@redhat.com> - 9.5.0-3
- Bump spec cause we have release 2 in centos already

* Wed Nov 18 2015 Pavel Kajaba <pkajaba@redhat.com> - 9.5-1
- Rebase to 9.5.0 per release notes
  http://www.postgresql.org/docs/9.5/static/release-9-5.html

* Wed Oct 21 2015 Pavel Raiskup <praiskup@redhat.com> - 9.4.5-1
- update to 9.4.5 per release notes
  http://www.postgresql.org/docs/9.4/static/release-9-4-5.html

* Mon Jun 15 2015 Jozef Mlich <jmlich@redhat.com> - 9.4.4-1
- rebase to 9.4.4 due to security issues
  CVE-2015-3165 CVE-2015-3167 CVE-2015-3166
  Resolves: #1225798

* Sun Mar 22 2015 Pavel Raiskup <praiskup@redhat.com> - 9.4.1-8
- postgresql-setup 3.3 - per several initscript start() issues

* Fri Mar 20 2015 Pavel Raiskup <praiskup@redhat.com> - 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 <jmlich@redhat.com> - 9.4.1-6
- postgreql-setup was updated to 3.1

* Thu Mar 19 2015 Jozef Mlich <jmlich@redhat.com> - 9.4.1-5
- adding tcl-pgtcl to requires of -tcl subpackage
  Resolves: #1199466

* Mon Mar 02 2015 Pavel Raiskup <praiskup@redhat.com> - 9.4.1-4
- use postgresql-setup.tar.gz

* Tue Feb 24 2015 Pavel Raiskup <praiskup@redhat.com> - 9.4.1-3
- allow pg_upgrade from postgresql92-postgresql (#1196030)

* Wed Feb 18 2015 Honza Horak <hhorak@redhat.com> - 9.4.1-2
- Remove NFS register feature for questionable usage for DBs

* Wed Feb 18 2015 Honza Horak <hhorak@redhat.com> - 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 <jmlich@redhat.com> 9.4.0-1
- update to 9.4.0

* Fri Oct  3 2014 Marcela Mašláňová <mmaslano@redhat.com> 9.2.8-2.1
- global must be used in systemd_post, otherwise scriptlets fail
  Resolves: #1149257

* Mon Apr 07 2014 Jozef Mlich <jmlich@redhat.com> 9.2.8-2
- added two dashes into scl-legacy.patch
  Resolves: #1060767

* Wed Mar 26 2014 Jozef Mlich <jmlich@redhat.com> 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 <jmlich@redhat.com> 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 <jmlich@redhat.com> 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 <jmlich@redhat.com> 9.2.6-4
- Require /usr/bin/scl_source that is not in every scl-utils
  Resolves: #1054261

* Wed Dec 18 2013 Jozef Mlich <jmlich@redhat.com> 9.2.6-3
- release bump to avoid name colision with rhel7 when using
  rhpkg build 

* Wed Dec 18 2013 Jozef Mlich <jmlich@redhat.com> 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 <hhorak@redhat.com> 9.2.5-9
- Rebuild for openssl dependency issues

* Wed Nov 27 2013 Honza Horak <hhorak@redhat.com> 9.2.5-8
- Use --no-backup-if-mismatch to avoid inclusion patch left-overs

* Mon Nov 25 2013 Honza Horak <hhorak@redhat.com> 9.2.5-7
- Fix wrongly patched postgresql-setup

* Fri Nov 22 2013 Honza Horak <hhorak@redhat.com> 9.2.5-6
- Restore SCL environment after runuser

* Tue Nov 19 2013 Honza Horak <hhorak@redhat.com> 9.2.5-5
- Port to RHEL-7

* Tue Nov 19 2013 Honza Horak <hhorak@redhat.com> 9.2.5-4
- Remove rpath usage and proper enable SCL environment after su instead

* Mon Nov 18 2013 Jozef Mlich <jmlich@redhat.com> 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 <jmlich@redhat.com> 9.2.4-8
- release bump to scl 1.1

* Wed May 15 2013 Honza Horak <hhorak@redhat.com> 9.2.4-7
- Run restorecon to init script as well
  Resolves: #962391

* Tue May 14 2013 Honza Horak <hhorak@redhat.com> 9.2.4-6
- Move lock file under collection root
  Resolves: #962872

* Mon May 13 2013 Honza Horak <hhorak@redhat.com> 9.2.4-5
- Run restorecon in %%post section of -server
  Resolves: #962391

* Thu May  2 2013 Honza Horak <hhorak@redhat.com> 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 <hhorak@redhat.com> 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 <hhorak@redhat.com> 9.2.4-2
- Remove RHEL-7 stuff

* Thu Apr  4 2013 Tom Lane <tgl@redhat.com> 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 <hhorak@redhat.com> 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 <hhorak@redhat.com> 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 <hhorak@redhat.com> 9.2.1-4
- Rebuild for ppc64

* Thu Oct 25 2012 Honza Horak <hhorak@redhat.com> 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 <hhorak@redhat.com> 9.2.1-2
- Initial import into postgresql92 scl branch

* Mon Sep 24 2012 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 9.1.5-2
- Remove unnecessary ldconfig calls in pre/post triggers
Resolves: #849344

* Fri Aug 17 2012 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <rel-eng@lists.fedoraproject.org> - 9.1.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Sat Jul 14 2012 Tom Lane <tgl@redhat.com> 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 <ppisar@redhat.com> - 9.1.4-2
- Perl 5.16 rebuild

* Mon Jun  4 2012 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <hhorak@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 9.0.4-8
- Convert to systemd startup support
Resolves: #696427

* Thu Jul 21 2011 Petr Sabata <contyk@redhat.com> - 9.0.4-7
- Perl mass rebuild

* Wed Jul 20 2011 Petr Sabata <contyk@redhat.com> - 9.0.4-6
- Perl mass rebuild

* Wed Jul  6 2011 Tom Lane <tgl@redhat.com> 9.0.4-5
- Remove erroneously-included Default-Start line from LSB init block
Related: #717024

* Fri Jun 17 2011 Marcela Mašláňová <mmaslano@redhat.com> 9.0.4-4
- Perl mass rebuild
- incorporate upstream patch to make it build with Perl 5.14

* Fri Jun 10 2011 Tom Lane <tgl@redhat.com> 9.0.4-3
- Work around gcc 4.6.0 bug (temporary backport from next upstream release)

* Tue May 10 2011 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <rel-eng@lists.fedoraproject.org> - 9.0.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Thu Feb  3 2011 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <oget[dot]fedora[at]gmail[dot]com> - 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 <mmaslano@redhat.com> - 8.4.4-2
- Mass rebuild with perl-5.12.0

* Mon May 17 2010 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tcallawa@redhat.com> 8.4.2-7
- adjust license tag to reflect OSI decision

* Tue Jan 26 2010 Tom Lane <tgl@redhat.com> 8.4.2-6
- Emit explicit error message if user tries to build RPM as root
Related: #558921

* Wed Jan 20 2010 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <skasal@redhat.com> - 8.4.1-5
- rebuild against perl 5.10.1

* Thu Oct 15 2009 Tom Lane <tgl@redhat.com> 8.4.1-4
- add sparc/sparc64 to multilib header support

* Mon Sep 21 2009 Tom Lane <tgl@redhat.com> 8.4.1-3
- Ensure pgstartup.log gets the right ownership/permissions during initdb
Resolves: #498959

* Wed Sep 16 2009 Tomas Mraz <tmraz@redhat.com> - 8.4.1-2
- Use password-auth common PAM configuration instead of system-auth

* Wed Sep  9 2009 Tom Lane <tgl@redhat.com> 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 <karsten@redhat.com> 8.4.0-3.2
- bump release and build again with the correct libssl

* Tue Sep 01 2009 Karsten Hopp <karsten@redhat.com> 8.4.0-3.1
- disable dtrace on s390x as a workaround until #520469 has been fixed

* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 8.4.0-3
- rebuilt with new openssl

* Thu Aug 20 2009 Tom "spot" Callaway <tcallawa@redhat.com> 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 <tgl@redhat.com> 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 <rel-eng@lists.fedoraproject.org> - 8.3.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Sat Mar 21 2009 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 8.3.6-3
- Enable tracing via systemtap
Resolves: #488941

* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 8.3.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Sat Feb  7 2009 Tom Lane <tgl@redhat.com> 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 <dennis@ausil.us> 8.3.5-4
- use -O1 on sparc64

* Sat Jan 17 2009 Tomas Mraz <tmraz@redhat.com> - 8.3.5-3
- rebuild with new openssl

* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 8.3.5-2
- Rebuild for Python 2.6

* Sun Nov  2 2008 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 8.3.4-1
- Update to PostgreSQL 8.3.4.

* Mon Jul 28 2008 Tom Lane <tgl@redhat.com> 8.3.3-3
- Fix build failure caused by new default patch fuzz = 0 policy in rawhide.

* Fri Jun 20 2008 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 8.3.1-5
- rebuild because of buildsystem hiccup

* Sat May 17 2008 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 8.3.1-3
- Fix build breakage on PPC due to incorrect configure test
Related: #444317

* Sat Apr 26 2008 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 8.3.1-1
- Update to PostgreSQL 8.3.1.

* Tue Mar 18 2008 Tom "spot" Callaway <tcallawa@redhat.com> 8.3.0-3
- add Requires for versioned perl (libperl.so)

* Wed Feb  6 2008 Tom Lane <tgl@redhat.com> 8.3.0-2
- Enable the new GSSAPI support in 8.3.0.

* Mon Feb  4 2008 Tom Lane <tgl@redhat.com> 8.3.0-1
- Update to PostgreSQL 8.3.0.

* Fri Jan 18 2008 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 8.2.5-2
- Rebuild for new openssl

* Thu Sep 20 2007 Tom Lane <tgl@redhat.com> 8.2.5-1
- Update to PostgreSQL 8.2.5 and pgtcl 1.6.0

* Tue Sep  4 2007 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 8.2.4-3
- Recent perl changes in rawhide mean we need a more specific BuildRequires

* Wed Jun 20 2007 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <karsten@redhat.com> 8.2.3-2
- rebuild with tcl-8.4

* Wed Feb  7 2007 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <katzj@redhat.com> - 8.2.0-2
- rebuild for python 2.5

* Mon Dec  4 2006 Tom Lane <tgl@redhat.com> 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 <jkeating@redhat.com> - 8.1.4-1.1
- rebuild

* Mon May 22 2006 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 8.1.3-2
- Remove JDBC from this build; we will package it as separate SRPM

* Mon Feb 13 2006 Jesse Keating <jkeating@redhat.com> - 8.1.3-1.1
- rebump for build order issues during double-long bump

* Mon Feb 13 2006 Tom Lane <tgl@redhat.com> 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 <jkeating@redhat.com> - 8.1.2-1.1
- rebuilt for new gcc4.1 snapshot and glibc changes

* Mon Jan  9 2006 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 8.1.1-2
- oops, looks like we want uname -i not uname -m

* Wed Dec 14 2005 Tom Lane <tgl@redhat.com> 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 <jkeating@redhat.com>
- rebuilt

* Sat Nov 12 2005 Tom Lane <tgl@redhat.com> 8.1.0-4
- Update included PDF-format manual to 8.1.

* Wed Nov  9 2005 Tom Lane <tgl@redhat.com> 8.1.0-3
- Rebuild due to openssl library update.

* Wed Nov  9 2005 Tom Lane <tgl@redhat.com> 8.1.0-2
- Rebuild due to openssl library update.

* Mon Nov  7 2005 Tom Lane <tgl@redhat.com> 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 <tmraz@redhat.com>
- use include instead of pam_stack in pam config

* Tue Oct  4 2005 Tom Lane <tgl@redhat.com> 8.0.4-2
- Add rpath to plperl.so (bug #162198)

* Tue Oct  4 2005 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <laroche@redhat.com> 8.0.2-2
- rebuild for postgresql-tcl

* Tue Apr 12 2005 Tom Lane <tgl@redhat.com> 8.0.2-1
- Update to PostgreSQL 8.0.2.

* Fri Mar 11 2005 Tom Lane <tgl@redhat.com> 8.0.1-5
- Remove unwanted rpath specification from pgtcl (bz#150649)

* Wed Mar  2 2005 Tom Lane <tgl@redhat.com> 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 <tmraz@redhat.com> 8.0.1-3
- rebuild with openssl-0.9.7e

* Mon Feb 21 2005 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 8.0.1-1
- Update to PostgreSQL 8.0.1.
- Add versionless symlinks to jar files (bz#145744)

* Wed Jan 19 2005 Tom Lane <tgl@redhat.com> 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 <twaugh@redhat.com> 7.4.6-5
- Rebuilt for new readline.

* Tue Jan 11 2005 Dan Walsh <dwalsh@redhat.com> 7.4.6-4
- Add restorecon to postgresql.init in order to restore database to correct
- SELinux context.

* Thu Dec 16 2004 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 7.4.6-2
- Rebuild so python components play with python 2.4 (bug 139160)

* Sat Oct 23 2004 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 7.4.5-2
- Update to PyGreSQL 3.5.

* Tue Aug 24 2004 Tom Lane <tgl@redhat.com> 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 <tgl@redhat.com> 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 <tgl@redhat.com> 7.4.3-2
- Update JDBC jars to driver build 214.

* Wed Jun 23 2004 Tom Lane <tgl@redhat.com> 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 <sopwith@redhat.com>
- rebuilt

* Wed Mar 10 2004 Tom Lane <tgl@redhat.com> 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 </dev/null, per bug 117901.
- Rebuilt

* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt

* Wed Feb 25 2004 Tom Lane <tgl@redhat.com>
- Update to PostgreSQL 7.4.1.
- Rebuilt

* Tue Feb 24 2004 Tom Lane <tgl@redhat.com>
- Fix chown syntax in postgresql.init also.
- Rebuilt

* Mon Feb 23 2004 Tim Waugh <twaugh@redhat.com>
- Use ':' instead of '.' as separator for chown.

* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt

* Fri Jan 9 2004 Lamar Owen <lowen@pari.edu>
- 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 <djee@redhat.com> 7.4-5
- Rebuild for Perl 5.8.2.

* Mon Dec 01 2003 David Jee <djee@redhat.com> 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 <djee@redhat.com> 7.4-3
- uncomment buildrequires tcl-devel

* Fri Nov 28 2003 David Jee <djee@redhat.com> 7.4-2
- rebuild

* Mon Nov 24 2003 David Jee <djee@redhat.com> 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 <lowen@pari.edu> <lamar.owen@wgcr.org>
- 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 <kajtzu@fi.basen.net> 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.