2253 lines
75 KiB
Raw Normal View History

# This is the PostgreSQL Global Development Group Official RPMset spec file,
# or a derivative thereof.
# Copyright 2003-2009 Lamar Owen <> <>
# and others listed. ** vi: ts=4 sw=4 noexpandtab nosmarttab
# 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.
%{!?beta:%global beta 0}
%{!?test:%global test 1}
%{!?upgrade:%global upgrade 1}
%{!?plpython:%global plpython 0}
%{!?plpython3:%global plpython3 1}
%{!?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
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
Summary: PostgreSQL client programs
Name: postgresql
%global majorversion 10
Version: %{majorversion}.14
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
# This SRPM includes a copy of the previous major release, which is needed for
# in-place upgrade of an old database. In most cases it will not be critical
# that this be kept up with the latest minor release of the previous series;
# but update when bugs affecting pg_dump output are fixed.
%global prevversion 9.2.24
%global prevmajorversion 9.2
%global prev_prefix %{_libdir}/pgsql/postgresql-%{prevmajorversion}
%global precise_version %{?epoch:%epoch:}%version-%release
%global setup_version 8.2
%global service_name postgresql.service
# The PDF file is generated by, which see for comments
Source1: postgresql-%{version}-US.pdf
# is not used during RPM build, but include for documentation
Source4: Makefile.regress
Source9: postgresql.tmpfiles.d
Source10: postgresql.pam
Source11: postgresql-bashprofile
# git:
# 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.
# Comments for these patches are in the patch files.
Patch1: rpm-pgsql.patch
Patch2: postgresql-logging.patch
Patch5: postgresql-var-run-socket.patch
Patch6: postgresql-man.patch
Patch8: postgresql-no-libs.patch
Patch9: postgresql-server-pg_config.patch
BuildRequires: gcc
BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex gawk
BuildRequires: perl(ExtUtils::Embed), perl-devel
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: perl-generators
BuildRequires: readline-devel zlib-devel
BuildRequires: systemd systemd-devel util-linux
BuildRequires: multilib-rpm-config
BuildRequires: libpq-devel
# postgresql-setup build requires
BuildRequires: m4 elinks docbook-utils help2man
%if %plpython
BuildRequires: python2-devel
%if %plpython3
BuildRequires: python3-devel
%if %pltcl
BuildRequires: tcl-devel
%if %ssl
BuildRequires: openssl-devel
%if %kerberos
BuildRequires: krb5-devel
%if %ldap
BuildRequires: openldap-devel
%if %nls
BuildRequires: gettext >= 0.10.35
%if %uuid
BuildRequires: uuid-devel
%if %xml
BuildRequires: libxml2-devel libxslt-devel
%if %pam
BuildRequires: pam-devel
%if %sdt
BuildRequires: systemtap-sdt-devel
%if %selinux
BuildRequires: libselinux-devel
%global __provides_exclude_from %{_libdir}/pgsql
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 server
Summary: The programs needed to create and run a PostgreSQL server
Group: Applications/Databases
Requires: %{name}%{?_isa} = %precise_version
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
# Packages which provide postgresql plugins should build-require
# postgresql-server-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
%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} = %precise_version
# Just for more intuitive documentation installation
Provides: %{name}-doc = %precise_version
%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} = %precise_version
%description contrib
The postgresql-contrib package contains various extension modules that are
included in the PostgreSQL distribution.
%package server-devel
Summary: PostgreSQL development header files and libraries
Group: Development/Libraries
%description server-devel
The postgresql-server-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 test-rpm-macros
Summary: Convenience RPM macros for build-time testing against PostgreSQL server
Requires: %{name}-server = %precise_version
%description test-rpm-macros
This package is meant to be added as BuildRequires: dependency of other packages
that want to run build-time testsuite against running PostgreSQL server.
%package static
Summary: Statically linked PostgreSQL libraries
Requires: %{name}-server-devel%{?_isa} = %precise_version
%description static
Statically linked PostgreSQL libraries that do not have dynamically linked
%if %upgrade
%package upgrade
Summary: Support for upgrading from the previous major release of PostgreSQL
Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %precise_version
Provides: bundled(postgresql-libs) = %prevversion
%description upgrade
The postgresql-upgrade package contains the pg_upgrade utility and supporting
files needed for upgrading a PostgreSQL database from the previous major
version of PostgreSQL.
%package upgrade-devel
Summary: Support for build of extensions required for upgrade process
Group: Development/Libraries
Requires: %{name}-upgrade%{?_isa} = %precise_version
%description upgrade-devel
The postgresql-devel package contains the header files and libraries
needed to compile C or C++ applications which are necessary in upgrade
%if %plperl
%package plperl
Summary: The Perl procedural language for PostgreSQL
Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %precise_version
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%if %runselftest
BuildRequires: perl(Data::Dumper)
%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.
%if %plpython
%package plpython
Summary: The Python2 procedural language for PostgreSQL
Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %precise_version
Provides: %{name}-plpython2 = %precise_version
%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.
%if %plpython3
%package plpython3
Summary: The Python3 procedural language for PostgreSQL
Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %precise_version
%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.
%if %pltcl
%package pltcl
Summary: The Tcl procedural language for PostgreSQL
Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %precise_version
%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.
%if %test
%package test
Summary: The test suite distributed with PostgreSQL
Group: Applications/Databases
Requires: %{name}-server%{?_isa} = %precise_version
Requires: %{name}-server-devel%{?_isa} = %precise_version
%description test
The postgresql-test package contains files needed for various tests for the
PostgreSQL database management system, including regression tests and
( cd %_sourcedir; sha256sum -c %{SOURCE16}; sha256sum -c %{SOURCE17} )
%setup -q -a 12
%patch1 -p1
%patch2 -p1
%patch5 -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.
cp -p %{SOURCE1} .
%if %upgrade
tar xfj %{SOURCE3}
# apply once SOURCE3 is extracted
# remove .gitignore files to ensure none get into the RPMs (bug #642210)
find . -type f -name .gitignore | xargs rm
# 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
# Building postgresql-setup
cd postgresql-setup-%{setup_version}
%configure \
pgdocdir=%{_pkgdocdir} \
PGVERSION=%{version} \
PGMAJORVERSION=%{majorversion} \
make %{?_smp_mflags}
cd ..
# Fiddling with CFLAGS.
%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`
# 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
# will reflect the python 2 build, which seems appropriate
# since that's still considered the default plpython version.
%if %beta
%if %plperl
%if %pltcl
%if %ldap
%if %ssl
%if %pam
%if %kerberos
%if %uuid
%if %xml
%if %nls
%if %sdt
%if %selinux
%if %plpython3
export PYTHON=/usr/bin/python3
# These configure options must match main build
%configure $common_configure_options \
# 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 for later
cp src/ src/
make distclean
%endif # %%plpython3
# Normal (python2) build begins here
%configure $common_configure_options \
%if %plpython
unset PYTHON
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.
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"
%if %runselftest
run_testsuite "src/test/regress"
make clean -C "src/test/regress"
run_testsuite "src/pl"
%if %plpython3
# must install that selects python3
mv src/ src/
cp src/ src/
touch -r src/ src/
# 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/ src/
run_testsuite "contrib"
# "assert(ALL_TESTS_OK)"
test "$test_failure" -eq 0
%if %test
# undo the "make clean" above
make all -C src/test/regress
%if %upgrade
pushd postgresql-%{prevversion}
# The upgrade build can be pretty stripped-down, but make sure that
# any options that affect on-disk file layout match the previous
# major release!
# The set of built server modules here should ideally create superset
# of modules we used to ship in %%prevversion (in the installation
# the user will upgrade from), including *-contrib or *-pl*
# subpackages. This increases chances that the upgrade from
# %%prevversion will work smoothly.
upgrade_configure ()
# Note we intentionally do not use %%configure here, because we *don't* want
# its ideas about installation paths.
# The -fno-aggressive-loop-optimizations is hack for #993532
PYTHON="${PYTHON-/usr/bin/python2}" \
CFLAGS="$CFLAGS -fno-aggressive-loop-optimizations" ./configure \
--build=%{_build} \
--host=%{_host} \
--prefix=%prev_prefix \
--disable-rpath \
%if %beta
--enable-debug \
--enable-cassert \
%if %plperl
--with-perl \
%if %pltcl
--with-tcl \
--with-tclconfig=%_libdir \
--with-system-tzdata=/usr/share/zoneinfo \
%if %plpython3
export PYTHON=/usr/bin/python3
upgrade_configure --with-python
# upstream fixed this later 7107d58ec5a3c45967e77525809612a5f89b97f3
make %{?_smp_mflags} -C src/backend submake-errcodes
make %{?_smp_mflags} -C src/pl/plpython all
# save aside the only one file which we are interested here
cp src/pl/plpython/ ./
unset PYTHON
make distclean
upgrade_configure \
%if %plpython
make %{?_smp_mflags} all
make -C contrib %{?_smp_mflags} all
%endif # %%upgrade
cd postgresql-setup-%{setup_version}
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 ./
cat > $RPM_BUILD_ROOT%{_sysconfdir}/postgresql-setup/upgrade/postgresql.conf <<EOF
id postgresql
major %{prevmajorversion}
data_default %{_localstatedir}/pgsql/data
package postgresql-upgrade
engine %{_libdir}/pgsql/postgresql-%{prevmajorversion}/bin
description "Upgrade data from system PostgreSQL version (PostgreSQL %{prevmajorversion})"
redhat_sockets_hack no
make DESTDIR=$RPM_BUILD_ROOT install-world
# We ship pg_config through libpq-devel
mv $RPM_BUILD_ROOT/%_mandir/man1/pg_{,server_}config.1
rm $RPM_BUILD_ROOT/%_includedir/pg_config*.h
rm $RPM_BUILD_ROOT/%_includedir/libpq/libpq-fs.h
rm $RPM_BUILD_ROOT/%_includedir/postgres_ext.h
rm -r $RPM_BUILD_ROOT/%_includedir/pgsql/internal/
%if %plpython3
mv src/ src/
cp src/ src/
touch -r src/ src/
pushd src/pl/plpython3
mv -f src/ src/
# 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
for header in \
%{_includedir}/pgsql/server/pg_config.h \
%multilib_fix_c_header --file "$header"
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/postgresql
# Create the directory for sockets.
install -d -m 755 $RPM_BUILD_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}/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
# backups of data go here...
install -d -m 700 $RPM_BUILD_ROOT%{?_localstatedir}/lib/pgsql/backups
# postgres' .bash_profile
install -m 644 %{SOURCE11} $RPM_BUILD_ROOT%{?_localstatedir}/lib/pgsql/.bash_profile
rm $RPM_BUILD_ROOT/%{_datadir}/man/man1/ecpg.1
%if %upgrade
pushd postgresql-%{prevversion}
make -C contrib DESTDIR=$RPM_BUILD_ROOT install
%if %plpython3
install -m 755 \
# remove stuff we don't actually need for upgrade purposes
pushd $RPM_BUILD_ROOT%{_libdir}/pgsql/postgresql-%{prevmajorversion}
rm bin/clusterdb
rm bin/createdb
rm bin/createlang
rm bin/createuser
rm bin/dropdb
rm bin/droplang
rm bin/dropuser
rm bin/ecpg
rm bin/initdb
rm bin/pg_basebackup
rm bin/pg_dump
rm bin/pg_dumpall
rm bin/pg_restore
rm bin/psql
rm bin/reindexdb
rm bin/vacuumdb
rm -rf share/doc
rm -rf share/man
rm -rf share/tsearch_data
rm lib/*.a
# Drop libpq. This might need some tweaks once there's
# soname bump between %%prevversion and %%version.
rm lib/*
# Drop libraries.
rm lib/lib{ecpg,ecpg_compat,pgtypes}.so*
rm share/*.bki
rm share/*description
rm share/*.sample
rm share/*.sql
rm share/*.txt
rm share/extension/*.sql
rm share/extension/*.control
cat <<EOF > $RPM_BUILD_ROOT%macrosdir/macros.%name-upgrade
%%postgresql_upgrade_prefix %prev_prefix
%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
sed 's|@bindir@|%{_bindir}|g' \
< %{SOURCE4} \
> $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/Makefile
chmod 0644 $RPM_BUILD_ROOT%{_libdir}/pgsql/test/regress/Makefile
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}/libpgfeutils.a
%if !%plperl
rm -f $RPM_BUILD_ROOT%{_bindir}/pgsql/
%if !%plpython
rm -f $RPM_BUILD_ROOT%{_bindir}/pgsql/
# initialize file lists
cp /dev/null main.lst
cp /dev/null server.lst
cp /dev/null contrib.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
find_lang_bins devel.lst pg_server_config
find_lang_bins server.lst \
initdb pg_basebackup pg_controldata pg_ctl pg_resetwal pg_rewind plpgsql postgres
find_lang_bins contrib.lst \
pg_archivecleanup pg_test_fsync pg_test_timing pg_waldump
find_lang_bins main.lst \
pg_dump pg_upgrade pgscripts psql
%if %plperl
find_lang_bins plperl.lst plperl
%if %plpython
find_lang_bins plpython.lst plpython
%if %plpython3
# plpython3 shares message files with plpython
find_lang_bins plpython3.lst plpython
%if %pltcl
find_lang_bins pltcl.lst pltcl
%pre server
/usr/sbin/groupadd -g 26 -o -r postgres >/dev/null 2>&1 || :
/usr/sbin/useradd -M -N -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \
-c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || :
%post server
%systemd_post %service_name
%preun server
%systemd_preun %service_name
%postun server
%systemd_postun_with_restart %service_name
%if %runselftest
make -C postgresql-setup-%{setup_version} check
# FILES sections.
%files -f main.lst
%doc COPYRIGHT README HISTORY doc/bug.template
%doc README.rpm-dist
%files docs
%doc *-US.pdf
%doc doc/html
%files contrib -f contrib.lst
%doc contrib/spi/*.example
%if %plperl
%if %plpython
%if %plpython
%if %selinux
%if %ssl
%if %uuid
%if %xml
%files server -f server.lst
%dir %{_datadir}/pgsql
%dir %{_datadir}/pgsql/contrib
%dir %{_datadir}/pgsql/extension
%dir %{_datadir}/postgresql-setup
%dir %{_libexecdir}/initscripts/legacy-actions/postgresql
%dir %{_sysconfdir}/postgresql-setup
%dir %{_sysconfdir}/postgresql-setup/upgrade
%config %{_sysconfdir}/postgresql-setup/upgrade/*.conf
%attr(700,postgres,postgres) %dir %{?_localstatedir}/lib/pgsql
%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 %{?_localstatedir}/run/postgresql
%if %pam
%config(noreplace) /etc/pam.d/postgresql
%files server-devel -f devel.lst
%dir %{_includedir}/pgsql
%dir %{_includedir}/pgsql/server
%files test-rpm-macros
%files static
%if %upgrade
%files upgrade
%exclude %{_libdir}/pgsql/postgresql-%{prevmajorversion}/bin/pg_config
%exclude %{_libdir}/pgsql/postgresql-%{prevmajorversion}/lib/pgxs
%files upgrade-devel
%if %plperl
%files plperl -f plperl.lst
%if %pltcl
%files pltcl -f pltcl.lst
%if %plpython
%files plpython -f plpython.lst
%if %plpython3
%files plpython3 -f plpython3.lst
%if %test
%files test
%attr(-,postgres,postgres) %{_libdir}/pgsql/test
* Tue Aug 11 2020 Patrik Novotný <> - 10.14-1
- Rebase to upstream release 10.14
Fixes RHBZ#1727803
Fixes RHBZ#1741489
Fixes RHBZ#1709196
* Tue May 12 2020 Patrik Novotný <> - 10.13-1
- Rebase to upstream release 10.13
Fixes RHBZ#1727803
Fixes RHBZ#1741489
Fixes RHBZ#1709196
* Thu Nov 15 2018 Pavel Raiskup <> - 10.6-1
- update to 10.6 per release notes:
* Fri Aug 10 2018 Pavel Raiskup <> - 10.5-1
- update to 10.5 per release notes:
* Thu Aug 02 2018 Pavel Raiskup <> - 10.4-4
- new postgresql-setup, the %%postgresql_tests* macros now start
the build-time server on random port number
* Wed Aug 01 2018 Pavel Raiskup <> - 10.4-3
- gcc is fixed (rhbz#1600395), dropping the workaround patch
* Thu Jul 12 2018 Pavel Raiskup <> - 10.4-2
- fix pg_config-*.mo collision with libpq-devel
* Thu Jul 12 2018 Pavel Raiskup <> - 10.4-1
- sync with fedora rawhide
* Thu Apr 26 2018 Pavel Raiskup <> - 10.3-5
- pltcl: drop tcl-pltcl dependency (rhbz#1571181)
* Thu Apr 19 2018 Pavel Raiskup <> - 10.3-4
- fix upgrade subpackage (sync with F28+)
* Wed Apr 18 2018 Pavel Raiskup <> - 10.3-3
- missing *-devel => *-server-devel* changes (rhbz#1569041)
* Fri Apr 13 2018 Pavel Raiskup <> - 10.3-2
- don't build *-libs subpackage
- don't collide with libpq{,-devel}
- sync with fedora rawhide
* Thu Mar 01 2018 Pavel Raiskup <> - 10.3-1
- update to 10.3 per release notes:
* Tue Dec 19 2017 Pavel Raiskup <> - 10.1-2
- build plpython3 subpackage
* Tue Dec 19 2017 Pavel Raiskup <> - 10.1-1
- sync with Fedora 28 state
- fix prevmajorversion to 9.2 (RHEL7 version)
- reset Release to 1, for RHEL8 purposes
* Tue Aug 29 2017 Pavel Raiskup <> - 9.6.5-1
- update to 9.6.5 per release notes:
* Tue Aug 08 2017 Petr Kubat <> - 9.6.4-1
- update to 9.6.4 per release notes:
* Thu Aug 03 2017 Fedora Release Engineering <> - 9.6.3-9
- Rebuilt for
* Thu Jul 27 2017 Fedora Release Engineering <> - 9.6.3-8
- Rebuilt for
* Mon Jul 24 2017 Pavel Raiskup <> - 9.6.3-7
- drop perl rpath patch;* is now in %%_libdir (rhbz#1474417)
* Mon Jun 26 2017 Pavel Raiskup <> - 9.6.3-6
- don't provide soname
* Wed Jun 21 2017 Pavel Raiskup <> - 9.6.3-5
- drop the __os_install_post redefinition hack
* Mon Jun 12 2017 Pavel Raiskup <> - 9.6.3-4
- drop -DLINUX_OOM_SCORE_ADJ=0 define from CFLAGS (rhbz#1110969, rhbz#1436554)
* Sun Jun 04 2017 Jitka Plesnikova <> - 9.6.3-3
- Perl 5.26 rebuild
* Mon May 22 2017 Petr Kubat <> - 9.6.3-2
- fix indentation issues in hstore_plperlu test-case (rhbz#1453111)
* Thu May 11 2017 Pavel Raiskup <> - 9.6.3-1
- update to 9.6.3 per release notes:
* Mon Apr 24 2017 Pavel Raiskup <> - 9.6.2-4
- rebase to postgresql-setup 5.1
* Mon Apr 10 2017 Pavel Raiskup <> - 9.6.2-3
- spring cleanup
* Mon Mar 27 2017 Pavel Raiskup <> - 9.6.2-2
- rebuild for rhbz#1436006
* Wed Feb 22 2017 Pavel Raiskup <> - 9.6.2-1
- update to 9.6.2 per release notes:
- remove mistakenly isntalled libpgfeutils.a
* Thu Jan 12 2017 Igor Gnatenko <> - 9.6.1-3
- Rebuild for readline 7.x
* Mon Dec 19 2016 Miro Hrončok <> - 9.6.1-2
- Rebuild for Python 3.6
* Wed Oct 26 2016 Pavel Raiskup <> - 9.6.1-1
- update to 9.6.1 per release notes:
- add script
- remove plpython build hack, fixed upstream
- remove aarch64 and ppc64p7 hacks, fixed by the %%configure call
* Tue Oct 04 2016 Pavel Raiskup <> - 9.6.0-1
- rebase the postgresql-setup tarball
* Fri Sep 30 2016 Pavel Raiskup <> - 9.6.0-1
- update to 9.6.0 per release notes:
* Fri Aug 12 2016 Petr Kubat <> - 9.5.4-1
- update to 9.5.4 per release notes:
* Mon Jun 20 2016 Pavel Raiskup <> - 9.5.3-3
- use multilib-rpm-config package for multilib hacks
* Sun May 15 2016 Jitka Plesnikova <> - 9.5.3-2
- Perl 5.24 rebuild
* Thu May 12 2016 Pavel Raiskup <> - 9.5.3-1
- update to 9.5.3 per release notes:
* Mon May 09 2016 Pavel Raiskup <> - 9.5.2-2
- fix the test subpackage, pg_regress now uses --bindir
* Sun Apr 03 2016 Pavel Raiskup <> - 9.5.2-1
- update to 9.5.2 per release notes
* Fri Feb 26 2016 Pavel Raiskup <> - 9.5.1-2
- package static libraries without dynamic counterparts (rhbz#784281)
* Tue Feb 09 2016 Pavel Raiskup <> - 9.5.1-1
- update to 9.5.1 per release notes
* Thu Feb 04 2016 Fedora Release Engineering <> - 9.5.0-2
- Rebuilt for
* Wed Jan 06 2016 Pavel Raiskup <> - 9.5.0-1
- update to 9.5.0 per release notes
- update postgresql-setup to v4.0 to reflect new packaging style
* Wed Dec 16 2015 Pavel Kajaba <> - 9.4.5-5
- fixed problem with xml2 test (rhbz#1286692)
* Thu Dec 3 2015 Pavel Kajaba <> - 9.4.5-4
- fixed short-circuit build
* Thu Nov 12 2015 Pavel Raiskup <> - 9.4.5-3
- fix testsuite failure with new Python 3.5 (rhbz#1280404)
* Tue Nov 10 2015 Fedora Release Engineering <> - 9.4.5-3
- Rebuilt for
* Fri Oct 16 2015 Pavel Raiskup <> - 9.4.5-2
- devel package should not require the main package (rhbz#1272219)
- multilib fix, more general solution (rhbz#1190346)
* Tue Oct 06 2015 Pavel Raiskup <> - 9.4.5-1
- update to 9.4.5 per release notes
* Fri Sep 25 2015 Pavel Raiskup <> - 9.4.4-6
- postgresql-setup rebase to 3.4 (rhbz#1265319, rhbz#1247477)
* Thu Sep 17 2015 Pavel Raiskup <> - 9.4.4-5
- enable hardening (safe for kernel 4.1+) (see rhbz#952946 comment #24)
* Tue Aug 04 2015 Pavel Raiskup <> - 9.4.4-4
- install README.rpm-dist properly (rhbz#1249708)
* Tue Jul 14 2015 Pavel Raiskup <> - 9.4.4-3
- revert/fix part of e6acde1a9 commit related to multilib hack (rhbz#1242873)
* Thu Jun 18 2015 Fedora Release Engineering <> - 9.4.4-2
- Rebuilt for
* Mon Jun 15 2015 Pavel Raiskup <> - 9.4.4-1
- fix for Perl 5.22 rebase (rhbz#1231279)
* Thu Jun 11 2015 Pavel Raiskup <> - 9.4.4-1
- update to 9.4.4 per release notes
* Sat Jun 06 2015 Jitka Plesnikova <> - 9.4.3-2
- Perl 5.22 rebuild
* Wed Jun 03 2015 Jozef Mlich <> - 9.4.3-1
- update to 9.4.3 per release notes