]> TLD Linux GIT Repositories - packages/postgresql.git/blobdiff - postgresql.spec
- updated to 14.3
[packages/postgresql.git] / postgresql.spec
index aa5b9db40333bceec51309ac755e677ddaa31b46..0c75352ae67e0e655cd329020d38f44baacb8bc6 100644 (file)
@@ -14,8 +14,8 @@
 #
 
 %define beta %{nil}
-%define pgversion 10
-%define pgsuffix 10
+%define pgsqlversion 14
+%define pgsqlpriority 140
 
 Summary:       PostgreSQL Data Base Management System
 Summary(de.UTF-8):     PostgreSQL Datenbankverwaltungssystem
@@ -27,25 +27,27 @@ Summary(ru.UTF-8):  PostgreSQL - система управления базами
 Summary(tr.UTF-8):     Veri Tabanı Yönetim Sistemi
 Summary(uk.UTF-8):     PostgreSQL - система керування базами даних
 Summary(zh_CN.UTF-8):  PostgreSQL 客户端程序和库文件
-Name:          postgresql-%{pgversion}
-Version:       %{pgversion}.5
-Release:       2
+Name:          postgresql-%{pgsqlversion}
+Version:       %{pgsqlversion}.3
+Release:       1
 License:       BSD
 Group:         Applications/Databases
 Source0:       http://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2
-# Source0-md5: a5fe5fdff2d6c28f65601398be0950df
+# Source0-md5: c83c28c774dd55b078f7dae0e30163be
 Source1:       postgresql.init
 Source2:       pgsql-Database-HOWTO-html.tar.gz
 # Source2-md5: 5b656ddf1db41965761f85204a14398e
 Source3:       postgresql.sysconfig
+Source4:       postgresql.logrotate
 Patch0:                postgresql-conf.patch
 Patch1:                postgresql-absolute_dbpaths.patch
 Patch2:                postgresql-ecpg-includedir.patch
 Patch3:                per-version-dirs.patch
-Patch4:                postgresql-disable_horology_test.patch
+Patch4:                postgresql-tests.patch
 Patch5:                postgresql-heimdal.patch
 Patch6:                postgresql-link.patch
 Patch7:                socket-dir-fixes.patch
+Patch8:                postgresql-autoconf.patch
 URL:           http://www.postgresql.org/
 BuildRequires: autoconf >= 2.69
 BuildRequires: automake
@@ -71,9 +73,9 @@ BuildRequires:        ossp-uuid-devel
 BuildRequires: pam-devel
 %{?with_perl:BuildRequires:    perl-devel}
 %if %{with python}
-BuildRequires: python >= 1:2.3
-BuildRequires: python-devel >= 1:2.3
-BuildRequires: python-modules >= 1:2.3
+BuildRequires: python3
+BuildRequires: python3-devel
+BuildRequires: python3-modules
 %endif
 BuildRequires: readline-devel >= 4.2
 BuildRequires: rpmbuild(macros) >= 1.671
@@ -84,11 +86,11 @@ BuildRequires:      zlib-devel
 Requires(post,preun):  /sbin/chkconfig
 Requires(pre): /bin/id
 Requires(pre): /usr/bin/getgid
-Requires(triggerpostun):       /bin/id
-Requires(triggerpostun):       /usr/sbin/usermod
-Requires:      %{name}-clients >= %{version}-%{release}
+Requires(post):        /bin/id
+Requires(post):        /usr/sbin/usermod
+Requires:      %{name}-clients = %{version}-%{release}
 Requires:      %{name}-dirs = %{version}-%{release}
-Requires:      postgresql-libs = %{version}-%{release}
+Requires:      postgresql-libs >= %{version}-%{release}
 Requires:      rc-scripts >= 0.4.3.0
 Requires:      tzdata
 Obsoletes:     postgresql
@@ -98,8 +100,8 @@ Obsoletes:   postgresql-server
 Obsoletes:     postgresql-test
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                pgsqldatadir    %{_datadir}/postgresql/%{pgversion}
-%define                pgsqllibdir     %{_libdir}/postgresql/%{pgversion}
+%define                pgsqldatadir    %{_datadir}/postgresql/%{pgsqlversion}
+%define                pgsqllibdir     %{_libdir}/postgresql/%{pgsqlversion}
 %define                moduledir       %{pgsqllibdir}/lib
 %define                extensiondir    %{pgsqldatadir}/extension
 
@@ -108,7 +110,7 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # omitted contribs:
 # spi, test_decoding, worker_spi - examples/tests
 # tsearch2 - old module for compatibility only
-%define        contrib_modules adminpack auth_delay auto_explain bloom btree_gin btree_gist chkpass citext cube dblink dict_int dict_xsyn earthdistance file_fdw fuzzystrmatch hstore %{?with_perl:hstore_plperl} %{?with_python:hstore_plpython} intagg intarray isn lo ltree %{?with_python:ltree_plpython} oid2name pageinspect passwordcheck pg_buffercache pg_freespacemap pg_prewarm pg_standby pg_stat_statements pg_trgm pg_visibility pgcrypto pgrowlocks pgstattuple postgres_fdw seg %{?with_selinux:sepgsql} sslinfo tablefunc tcn tsm_system_rows tsm_system_time unaccent uuid-ossp vacuumlo xml2
+%define        contrib_modules adminpack amcheck auth_delay auto_explain bloom %{?with_perl:bool_plperl} btree_gin btree_gist citext cube dblink dict_int dict_xsyn earthdistance file_fdw fuzzystrmatch hstore %{?with_perl:hstore_plperl} %{?with_python:hstore_plpython} intagg intarray isn %{?with_perl:jsonb_plperl} %{?with_python:jsonb_plpython} lo ltree %{?with_python:ltree_plpython} oid2name old_snapshot pageinspect passwordcheck pg_buffercache pg_freespacemap pg_prewarm pg_stat_statements pg_surgery pg_trgm pg_visibility pgcrypto pgrowlocks pgstattuple postgres_fdw seg %{?with_selinux:sepgsql} spi sslinfo tablefunc tcn tsm_system_rows tsm_system_time unaccent uuid-ossp vacuumlo xml2
 
 %description
 PostgreSQL Data Base Management System (formerly known as Postgres,
@@ -186,15 +188,16 @@ Common PostgreSQL files and directories.
 PostgreSQL - wspólne pliki i katalogi.
 
 %package dirs
-Summary:       Common directories for PostgresSQL %{pgversion}
-Summary(pl.UTF-8):     Wspólne pliki i katalogi dla PostgreSQL %{pgversion}
+Summary:       Common directories for PostgresSQL %{pgsqlversion}
+Summary(pl.UTF-8):     Wspólne pliki i katalogi dla PostgreSQL %{pgsqlversion}
 Group:         Applicataion/Databases
+Requires:      postgresql-common >= %{version}-%{release}
 
 %description dirs
-Common directories for PostgresSQL %{pgversion}
+Common directories for PostgresSQL %{pgsqlversion}
 
 %description dirs -l pl.UTF-8
-Wspólne pliki i katalogi dla PostgreSQL %{pgversion}
+Wspólne pliki i katalogi dla PostgreSQL %{pgsqlversion}
 
 %package -n postgresql-devel
 Summary:       PostgreSQL development header files and libraries
@@ -208,7 +211,7 @@ Summary(tr.UTF-8):  PostgreSQL başlık dosyaları ve kitaplıklar
 Summary(uk.UTF-8):     PostgreSQL - хедери та бібліотеки програміста
 Group:         Development/Libraries
 Requires:      alternatives
-Requires:      postgresql-libs = %{version}-%{release}
+Requires:      postgresql-libs >= %{version}-%{release}
 
 %description -n postgresql-devel
 This package contains header files and libraries required to compile
@@ -223,8 +226,8 @@ aplikacji łączących się bezpośrednio z serwerem PostgreSQL.
 Summary:       PostgreSQL backend development header files
 Summary(pl.UTF-8):     PostgreSQL - pliki nagłówkowe dla backendu
 Group:         Development/Libraries
-Requires:      postgresql-devel = %{version}-%{release}
-Requires:      postgresql-libs = %{version}-%{release}
+Requires:      postgresql-devel >= %{version}-%{release}
+Requires:      postgresql-libs >= %{version}-%{release}
 Obsoletes:     postgresql-backend-devel
 
 %description backend-devel
@@ -245,7 +248,7 @@ Summary(uk.UTF-8):  Клієнтські програми, необхідні д
 Group:         Applications/Databases
 Requires:      alternatives
 Requires:      %{name}-dirs = %{version}-%{release}
-Requires:      postgresql-libs = %{version}-%{release}
+Requires:      postgresql-libs >= %{version}-%{release}
 Obsoletes:     postgresql-clients
 
 %description clients
@@ -281,7 +284,7 @@ Summary(pl.UTF-8):  Biblioteki dzielone programu PostgreSQL
 Summary(pt_BR.UTF-8):  Biblioteca compartilhada do PostgreSQL
 Summary(zh_CN.UTF-8):  PostgreSQL 客户所需要的共享库
 Group:         Libraries
-Requires:      postgresql-common = %{version}-%{release}
+Requires:      postgresql-common >= %{version}-%{release}
 
 %description -n postgresql-libs
 PostgreSQL shared libraries.
@@ -294,8 +297,8 @@ Summary:    Embedded SQL in C interface
 Summary(pl.UTF-8):     Interfejs wbudowanego SQL-a w język C
 Group:         Libraries
 Requires:      %{name}-dirs = %{version}-%{release}
-Requires:      postgresql-libs = %{version}-%{release}
-Requires:      postgresql-ecpg-libs = %{version}-%{release}
+Requires:      postgresql-libs >= %{version}-%{release}
+Requires:      postgresql-ecpg-libs >= %{version}-%{release}
 Obsoletes:     postgresql-ecpg
 
 %description ecpg
@@ -322,8 +325,8 @@ Biblioteki dzielone programu PostgreSQL.
 Summary:       Embedded SQL in C interface files
 Summary(pl.UTF-8):     Pliki programistyczne interfejsu wbudowanego SQL-a w język C
 Group:         Development/Libraries
-Requires:      postgresql-devel = %{version}-%{release}
-Requires:      postgresql-ecpg-devel = %{version}-%{release}
+Requires:      postgresql-devel >= %{version}-%{release}
+Requires:      postgresql-ecpg-devel >= %{version}-%{release}
 
 %description -n postgresql-ecpg-devel
 Embedded SQL in C interface files.
@@ -339,7 +342,7 @@ Summary(pt_BR.UTF-8):       Bibliotecas estáticas PostgreSQL
 Summary(ru.UTF-8):     Статические библиотеки для программирования с PostgreSQL
 Summary(uk.UTF-8):     Статичні бібліотеки для програмування з PostgreSQL
 Group:         Development/Libraries
-Requires:      postgresql-devel = %{version}-%{release}
+Requires:      postgresql-devel >= %{version}-%{release}
 
 %description -n postgresql-ecpg-static
 PostgreSQL static libraries.
@@ -355,7 +358,7 @@ Summary(pt_BR.UTF-8):       Bibliotecas estáticas PostgreSQL
 Summary(ru.UTF-8):     Статические библиотеки для программирования с PostgreSQL
 Summary(uk.UTF-8):     Статичні бібліотеки для програмування з PostgreSQL
 Group:         Development/Libraries
-Requires:      postgresql-devel = %{version}-%{release}
+Requires:      postgresql-devel >= %{version}-%{release}
 
 %description -n postgresql-static
 PostgreSQL static libraries.
@@ -403,7 +406,7 @@ Summary:    PL/Python - PostgreSQL procedural language
 Summary(pl.UTF-8):     PL/Python - język proceduralny bazy danych PostgreSQL
 Group:         Applications/Databases
 Requires:      %{name} = %{version}-%{release}
-%pyrequires_eq python
+%pyrequires_eq python3
 Obsoletes:     postgresql-module-plpython
 
 %description module-plpython
@@ -597,6 +600,7 @@ Różne moduły dołączone do PostgreSQL-a.
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
+%patch8 -p1
 
 # force rebuild of bison/flex files
 find src -name \*.l -o -name \*.y | xargs touch
@@ -618,6 +622,7 @@ find src -name \*.l -o -name \*.y | xargs touch
        --datadir=%{pgsqldatadir} \
        --libdir=%{_libdir} \
        --docdir=%{pgsqldatadir}/doc \
+       --localedir=%{_datadir}/locale \
        --disable-rpath \
        --enable-depend \
        %{?with_systemtap:--enable-dtrace} \
@@ -657,8 +662,8 @@ done
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
-       $RPM_BUILD_ROOT/var/{lib/pgsql,log,run/postgresql} \
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{logrotate.d,rc.d/init.d,sysconfig}} \
+       $RPM_BUILD_ROOT/var/{lib/postgresql/%{pgsqlversion},log/{archive,}/postgresql,run/postgresql} \
        $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
        $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1}
 
@@ -679,57 +684,57 @@ for mod in %{contrib_modules}; do \
                DESTDIR=$RPM_BUILD_ROOT
 done
 
-touch $RPM_BUILD_ROOT/var/log/pgsql
-
-sed -e 's,@pgsqlbindir@,%{pgsqllibdir}/bin,g' %{SOURCE1} >$RPM_BUILD_ROOT/etc/rc.d/init.d/postgresql-%{pgversion}
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/postgresql-%{pgversion}
+sed -e 's,@pgsqlbindir@,%{pgsqllibdir}/bin,g; s,@pgsqlversion@,%{pgsqlversion},g;' %{SOURCE1} >$RPM_BUILD_ROOT/etc/rc.d/init.d/postgresql-%{pgsqlversion}
+sed -e 's,@pgsqlversion@,%{pgsqlversion},g;' %{SOURCE3} >$RPM_BUILD_ROOT/etc/sysconfig/postgresql-%{pgsqlversion}
+cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/postgresql
 
 install -d howto
 tar zxf %{SOURCE2} -C howto
 
 %if %{with python}
-%py_comp $RPM_BUILD_ROOT%{py_libdir}
-%py_ocomp $RPM_BUILD_ROOT%{py_libdir}
+%py3_comp $RPM_BUILD_ROOT%{py3_libdir}
+%py3_ocomp $RPM_BUILD_ROOT%{py3_libdir}
 %endif
 
 # find locales
 for f in libpq5 pgscripts postgres psql initdb ecpg ecpglib6 \
        plpgsql %{?with_perl:plperl} %{?with_python:plpython} \
-       pg_archivecleanup pg_basebackup pg_config pg_controldata pg_ctl pg_dump pg_resetwal pg_rewind pg_test_fsync pg_test_timing pg_upgrade pg_waldump; do
-       %find_lang $f-%{pgversion}
+       pg_amcheck pg_archivecleanup pg_basebackup pg_checksums pg_config pg_controldata pg_ctl pg_dump pg_resetwal pg_rewind pg_test_fsync pg_test_timing pg_upgrade pg_verifybackup pg_waldump; do
+       %find_lang $f-%{pgsqlversion}
 done
 # merge locales
 merge_lang() {
-       cat $(for f in $@; do echo ${f}-%{pgversion}.lang ; done)
+       cat $(for f in $@; do echo ${f}-%{pgsqlversion}.lang ; done)
 }
 merge_lang pgscripts postgres plpgsql \
-       pg_basebackup pg_controldata pg_resetwal pg_rewind pg_upgrade pg_test_fsync pg_test_timing pg_waldump > main.lang
+       pg_amcheck pg_basebackup pg_checksums pg_config pg_controldata pg_resetwal pg_rewind pg_test_fsync pg_test_timing pg_upgrade pg_verifybackup pg_waldump > main.lang
 merge_lang psql initdb \
        pg_archivecleanup pg_ctl pg_dump > clients.lang
 
 %if %{with tcl}
-%find_lang pltcl-%{pgversion}
+%find_lang pltcl-%{pgsqlversion}
 %endif
 
 %if %{with selinux}
 %{__mv} $RPM_BUILD_ROOT{%{pgsqldatadir}/contrib,%{extensiondir}}/sepgsql.sql
 %endif
 
-cp -p src/pl/plperl/ppport.h $RPM_BUILD_ROOT%{_includedir}/postgresql/%{pgversion}/server/
+cp -p src/pl/plperl/ppport.h $RPM_BUILD_ROOT%{_includedir}/postgresql/%{pgsqlversion}/server/
 
 %{__mv} $RPM_BUILD_ROOT{%{pgsqllibdir}/bin,%{_bindir}}/pg_config
 %{__mv} $RPM_BUILD_ROOT{%{pgsqldatadir}/man,%{_mandir}}/man1/pg_config.1
 
 # package it...?  nah, why bother.
 %{__rm} -r $RPM_BUILD_ROOT%{pgsqldatadir}/doc/html
+%{__rm} -r $RPM_BUILD_ROOT%{pgsqldatadir}/doc/extension/*.example
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %pre
 PG_DB_CLUSTERS=""
-if [ -f /etc/sysconfig/postgresql-%{pgversion} ]; then
-       . /etc/sysconfig/postgresql-%{pgversion}
+if [ -f /etc/sysconfig/postgresql-%{pgsqlversion} ]; then
+       . /etc/sysconfig/postgresql-%{pgsqlversion}
        if [ -z "$PG_DB_CLUSTERS" -a -n "$POSTGRES_DATA_DIR" ]; then
                PG_DB_CLUSTERS="$POSTGRES_DATA_DIR"
        fi
@@ -737,7 +742,7 @@ fi
 foundold=0
 for pgdir in $PG_DB_CLUSTERS; do
        if [ -f $pgdir/PG_VERSION ]; then
-               if [ $(cat $pgdir/PG_VERSION) != '%{pgversion}' ]; then
+               if [ $(cat $pgdir/PG_VERSION) != '%{pgsqlversion}' ]; then
                        echo "Found database(s) in older, incompatible format in cluster $pgdir."
                        foundold=1
                fi
@@ -758,14 +763,14 @@ fi
 
 %triggerpostun -- postgresql < 10.5-2
 if [ -n "`/bin/id -u postgres 2>/dev/null`" ]; then
-       /usr/sbin/usermod -d /var/lib/pgsql postgres
+       /usr/sbin/usermod -d /var/lib/postgresql postgres
 fi
 echo
 echo "This version of PostgreSQL uses new default location for database clusters."
 echo "Please move your existing clusters before starting PostgreSQL so they follow"
 echo "below scheme:"
 echo
-echo "/var/lib/pgsql/<version>/<name>"
+echo "/var/lib/postgresql/<version>/<name>"
 echo
 echo "where <version> means PostgreSQL version like 9.6 or 10 and name is cluster"
 echo "name of your choice. When done, be sure to update /etc/sysconfig/postgresql*"
@@ -773,58 +778,58 @@ echo "files so they reflect your changes."
 echo
 
 %post
-/sbin/chkconfig --add postgresql-%{pgversion}
-%service postgresql-%{pgversion} restart "postgresql-%{pgversion} server"
+/sbin/chkconfig --add postgresql-%{pgsqlversion}
+%service postgresql-%{pgsqlversion} restart "postgresql-%{pgsqlversion} server"
 
 %preun
 if [ "$1" = "0" ]; then
-       %service postgresql-%{pgversion} stop
-       /sbin/chkconfig --del postgresql-%{pgversion}
+       %service postgresql-%{pgsqlversion} stop
+       /sbin/chkconfig --del postgresql-%{pgsqlversion}
 fi
 
 %pre   -n postgresql-common
 %groupadd -g 88 -r postgres
-%useradd -M -o -r -u 88 -d /var/lib/pgsql -s /bin/sh -g postgres -c "PostgreSQL Server" postgres
+%useradd -M -o -r -u 88 -d /var/lib/postgresql -s /bin/sh -g postgres -c "PostgreSQL Server" postgres
 
 %posttrans     clients
 update-alternatives \
-       --install %{_bindir}/clusterdb clusterdb %{pgsqllibdir}/bin/clusterdb %{pgsuffix} \
+       --install %{_bindir}/clusterdb clusterdb %{pgsqllibdir}/bin/clusterdb %{pgsqlpriority} \
        --slave %{_mandir}/man1/clusterdb.1 clusterdb.1 %{pgsqldatadir}/man/man1/clusterdb.1* || :
 update-alternatives \
-       --install %{_bindir}/createdb createdb %{pgsqllibdir}/bin/createdb %{pgsuffix} \
+       --install %{_bindir}/createdb createdb %{pgsqllibdir}/bin/createdb %{pgsqlpriority} \
        --slave %{_mandir}/man1/createdb.1 createdb.1 %{pgsqldatadir}/man/man1/createdb.1* || :
 update-alternatives \
-       --install %{_bindir}/createuser createuser %{pgsqllibdir}/bin/createuser %{pgsuffix} \
+       --install %{_bindir}/createuser createuser %{pgsqllibdir}/bin/createuser %{pgsqlpriority} \
        --slave %{_mandir}/man1/createuser.1 createuser.1 %{pgsqldatadir}/man/man1/createuser.1* || :
 update-alternatives \
-       --install %{_bindir}/dropdb dropdb %{pgsqllibdir}/bin/dropdb %{pgsuffix} \
+       --install %{_bindir}/dropdb dropdb %{pgsqllibdir}/bin/dropdb %{pgsqlpriority} \
        --slave %{_mandir}/man1/dropdb.1 dropdb.1 %{pgsqldatadir}/man/man1/dropdb.1* || :
 update-alternatives \
-       --install %{_bindir}/dropuser dropuser %{pgsqllibdir}/bin/dropuser %{pgsuffix} \
+       --install %{_bindir}/dropuser dropuser %{pgsqllibdir}/bin/dropuser %{pgsqlpriority} \
        --slave %{_mandir}/man1/dropuser.1 dropuser.1 %{pgsqldatadir}/man/man1/dropuser.1* || :
 update-alternatives \
-       --install %{_bindir}/pg_archivecleanup pg_archivecleanup %{pgsqllibdir}/bin/pg_archivecleanup %{pgsuffix} \
+       --install %{_bindir}/pg_archivecleanup pg_archivecleanup %{pgsqllibdir}/bin/pg_archivecleanup %{pgsqlpriority} \
        --slave %{_mandir}/man1/pg_archivecleanup.1 pg_archivecleanup.1 %{pgsqldatadir}/man/man1/pg_archivecleanup.1* || :
 update-alternatives \
-       --install %{_bindir}/pg_dump pg_dump %{pgsqllibdir}/bin/pg_dump %{pgsuffix} \
+       --install %{_bindir}/pg_dump pg_dump %{pgsqllibdir}/bin/pg_dump %{pgsqlpriority} \
        --slave %{_mandir}/man1/pg_dump.1 pg_dump.1 %{pgsqldatadir}/man/man1/pg_dump.1* || :
 update-alternatives \
-       --install %{_bindir}/pg_dumpall pg_dumpall %{pgsqllibdir}/bin/pg_dumpall %{pgsuffix} \
+       --install %{_bindir}/pg_dumpall pg_dumpall %{pgsqllibdir}/bin/pg_dumpall %{pgsqlpriority} \
        --slave %{_mandir}/man1/pg_dumpall.1 pg_dumpall.1 %{pgsqldatadir}/man/man1/pg_dumpall.1* || :
 update-alternatives \
-       --install %{_bindir}/pg_isready pg_isready %{pgsqllibdir}/bin/pg_isready %{pgsuffix} \
+       --install %{_bindir}/pg_isready pg_isready %{pgsqllibdir}/bin/pg_isready %{pgsqlpriority} \
        --slave %{_mandir}/man1/pg_isready.1 pg_isready.1 %{pgsqldatadir}/man/man1/pg_isready.1* || :
 update-alternatives \
-       --install %{_bindir}/pg_restore pg_restore %{pgsqllibdir}/bin/pg_restore %{pgsuffix} \
+       --install %{_bindir}/pg_restore pg_restore %{pgsqllibdir}/bin/pg_restore %{pgsqlpriority} \
        --slave %{_mandir}/man1/pg_restore.1 pg_restore.1 %{pgsqldatadir}/man/man1/pg_restore.1* || :
 update-alternatives \
-       --install %{_bindir}/psql psql %{pgsqllibdir}/bin/psql %{pgsuffix} \
+       --install %{_bindir}/psql psql %{pgsqllibdir}/bin/psql %{pgsqlpriority} \
        --slave %{_mandir}/man1/psql.1 pgsql.1 %{pgsqldatadir}/man/man1/psql.1* || :
 update-alternatives \
-       --install %{_bindir}/reindexdb reindexdb %{pgsqllibdir}/bin/reindexdb %{pgsuffix} \
+       --install %{_bindir}/reindexdb reindexdb %{pgsqllibdir}/bin/reindexdb %{pgsqlpriority} \
        --slave %{_mandir}/man1/reindexdb.1 reindexdb.1 %{pgsqldatadir}/man/man1/reindexdb.1* || :
 update-alternatives \
-       --install %{_bindir}/vacuumdb vacuumdb %{pgsqllibdir}/bin/vacuumdb %{pgsuffix} \
+       --install %{_bindir}/vacuumdb vacuumdb %{pgsqllibdir}/bin/vacuumdb %{pgsqlpriority} \
        --slave %{_mandir}/man1/vacuumdb.1 vacuumdb.1 %{pgsqldatadir}/man/man1/vacuumdb.1* || :
 
 %postun        clients
@@ -855,12 +860,14 @@ fi
 
 %files -f main.lang
 %defattr(644,root,root,755)
-%doc COPYRIGHT README HISTORY doc/{bug.template,KNOWN_BUGS,MISSING_FEATURES,TODO}
-%attr(754,root,root) /etc/rc.d/init.d/postgresql-%{pgversion}
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/postgresql-%{pgversion}
+%doc COPYRIGHT README HISTORY doc/{KNOWN_BUGS,MISSING_FEATURES,TODO}
+%attr(754,root,root) /etc/rc.d/init.d/postgresql-%{pgsqlversion}
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/postgresql-%{pgsqlversion}
 
 %attr(755,root,root) %{pgsqllibdir}/bin/initdb
+%attr(755,root,root) %{pgsqllibdir}/bin/pg_amcheck
 %attr(755,root,root) %{pgsqllibdir}/bin/pg_basebackup
+%attr(755,root,root) %{pgsqllibdir}/bin/pg_checksums
 %attr(755,root,root) %{pgsqllibdir}/bin/pg_controldata
 %attr(755,root,root) %{pgsqllibdir}/bin/pg_ctl
 %attr(755,root,root) %{pgsqllibdir}/bin/pg_resetwal
@@ -870,12 +877,12 @@ fi
 %attr(755,root,root) %{pgsqllibdir}/bin/pg_test_fsync
 %attr(755,root,root) %{pgsqllibdir}/bin/pg_test_timing
 %attr(755,root,root) %{pgsqllibdir}/bin/pg_upgrade
+%attr(755,root,root) %{pgsqllibdir}/bin/pg_verifybackup
 %attr(755,root,root) %{pgsqllibdir}/bin/pg_waldump
 %attr(755,root,root) %{pgsqllibdir}/bin/pgbench
 %attr(755,root,root) %{pgsqllibdir}/bin/postgres
 %attr(755,root,root) %{pgsqllibdir}/bin/postmaster
 
-%attr(755,root,root) %{moduledir}/ascii_and_mic.so
 %attr(755,root,root) %{moduledir}/cyrillic_and_mic.so
 %attr(755,root,root) %{moduledir}/dict_int.so
 %attr(755,root,root) %{moduledir}/dict_snowball.so
@@ -894,8 +901,6 @@ fi
 
 %{pgsqldatadir}/*.bki
 %{pgsqldatadir}/*.sample
-%{pgsqldatadir}/*.description
-%{pgsqldatadir}/*.shdescription
 %{pgsqldatadir}/*.sql
 %{pgsqldatadir}/*.txt
 %{pgsqldatadir}/timezonesets
@@ -903,16 +908,17 @@ fi
 
 %dir %{pgsqldatadir}/contrib
 
-%attr(640,postgres,postgres) %config(noreplace) %verify(not md5 mtime size) /var/log/pgsql
-
 %{pgsqldatadir}/man/man1/initdb.1*
+%{pgsqldatadir}/man/man1/pg_amcheck.1*
 %{pgsqldatadir}/man/man1/pg_basebackup.1*
+%{pgsqldatadir}/man/man1/pg_checksums.1*
 %{pgsqldatadir}/man/man1/pg_controldata.1*
 %{pgsqldatadir}/man/man1/pg_ctl.1*
 %{pgsqldatadir}/man/man1/pg_resetwal.1*
 %{pgsqldatadir}/man/man1/pg_receivewal.1*
 %{pgsqldatadir}/man/man1/pg_recvlogical.1*
 %{pgsqldatadir}/man/man1/pg_rewind.1*
+%{pgsqldatadir}/man/man1/pg_verifybackup.1*
 %{pgsqldatadir}/man/man1/pg_waldump.1*
 %{pgsqldatadir}/man/man1/pg_test_fsync.1*
 %{pgsqldatadir}/man/man1/pg_test_timing.1*
@@ -925,8 +931,11 @@ fi
 %defattr(644,root,root,755)
 %dir %{_libdir}/postgresql
 %dir %{_datadir}/postgresql
-%attr(700,postgres,postgres) %dir /var/lib/pgsql
+%attr(700,postgres,postgres) %dir /var/lib/postgresql
+%attr(750,postgres,postgres) %dir /var/log/postgresql
+%attr(750,postgres,postgres) %dir /var/log/archive/postgresql
 %attr(700,postgres,postgres) %dir /var/run/postgresql
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/postgresql
 
 %files dirs
 %defattr(644,root,root,755)
@@ -938,23 +947,24 @@ fi
 %dir %{pgsqldatadir}/man/man1
 %dir %{pgsqldatadir}/man/man3
 %dir %{pgsqldatadir}/man/man7
+%attr(700,postgres,postgres) %dir /var/lib/postgresql/%{pgsqlversion}
 
 %files doc
 %defattr(644,root,root,755)
 %doc doc/src/sgml/html howto
 %{_examplesdir}/%{name}-%{version}
 
-%files -n postgresql-libs -f libpq5-%{pgversion}.lang
+%files -n postgresql-libs -f libpq5-%{pgsqlversion}.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libpq.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libpq.so.5
 
-%files ecpg -f ecpg-%{pgversion}.lang
+%files ecpg -f ecpg-%{pgsqlversion}.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{pgsqllibdir}/bin/ecpg
 %{pgsqldatadir}/man/man1/ecpg.1*
 
-%files -n postgresql-ecpg-libs -f ecpglib6-%{pgversion}.lang
+%files -n postgresql-ecpg-libs -f ecpglib6-%{pgsqlversion}.lang
 %attr(755,root,root) %{_libdir}/libecpg.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libecpg.so.6
 %attr(755,root,root) %{_libdir}/libecpg_compat.so.*.*
@@ -978,7 +988,7 @@ fi
 %{_libdir}/libecpg_compat.a
 %{_libdir}/libpgtypes.a
 
-%files -n postgresql-devel -f pg_config-%{pgversion}.lang
+%files -n postgresql-devel -f pg_config-%{pgsqlversion}.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/pg_config
 %attr(755,root,root) %{_libdir}/libpq.so
@@ -1003,8 +1013,8 @@ fi
 
 %files backend-devel
 %defattr(644,root,root,755)
-%dir %{_includedir}/postgresql/%{pgversion}
-%{_includedir}/postgresql/%{pgversion}/server
+%dir %{_includedir}/postgresql/%{pgsqlversion}
+%{_includedir}/postgresql/%{pgsqlversion}/server
 %dir %{moduledir}/pgxs
 %attr(755,root,root) %{moduledir}/pgxs/config
 %{moduledir}/pgxs/src
@@ -1016,6 +1026,8 @@ fi
 %{_libdir}/libpgcommon.a
 %{_libdir}/libpgfeutils.a
 %{_libdir}/libpgport.a
+%{_libdir}/libpgcommon_shlib.a
+%{_libdir}/libpgport_shlib.a
 
 %files clients -f clients.lang
 %defattr(644,root,root,755)
@@ -1049,7 +1061,7 @@ fi
 %{pgsqldatadir}/man/man7/*.7*
 
 %if %{with perl}
-%files module-plperl -f plperl-%{pgversion}.lang
+%files module-plperl -f plperl-%{pgsqlversion}.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{moduledir}/plperl.so
 %{extensiondir}/plperl--*.sql
@@ -1059,15 +1071,15 @@ fi
 %endif
 
 %if %{with python}
-%files module-plpython -f plpython-%{pgversion}.lang
+%files module-plpython -f plpython-%{pgsqlversion}.lang
 %defattr(644,root,root,755)
-%attr(755,root,root) %{moduledir}/plpython2.so
+%attr(755,root,root) %{moduledir}/plpython3.so
 %{extensiondir}/plpython*--*.sql
 %{extensiondir}/plpython*.control
 %endif
 
 %if %{with tcl}
-%files module-pltcl -f pltcl-%{pgversion}.lang
+%files module-pltcl -f pltcl-%{pgsqlversion}.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{moduledir}/pltcl.so
 %{extensiondir}/pltcl*--*.sql
@@ -1120,36 +1132,41 @@ fi
 
 %files contrib
 %defattr(644,root,root,755)
-%doc contrib/README
+%doc contrib/README contrib/spi/*.example
 %attr(755,root,root) %{pgsqllibdir}/bin/oid2name
-%attr(755,root,root) %{pgsqllibdir}/bin/pg_standby
 %attr(755,root,root) %{pgsqllibdir}/bin/vacuumlo
 %attr(755,root,root) %{moduledir}/_int.so
 %attr(755,root,root) %{moduledir}/adminpack.so
+%attr(755,root,root) %{moduledir}/amcheck.so
 %attr(755,root,root) %{moduledir}/auth_delay.so
 %attr(755,root,root) %{moduledir}/auto_explain.so
+%attr(755,root,root) %{moduledir}/autoinc.so
 %attr(755,root,root) %{moduledir}/bloom.so
 %attr(755,root,root) %{moduledir}/btree_gin.so
 %attr(755,root,root) %{moduledir}/btree_gist.so
-%attr(755,root,root) %{moduledir}/chkpass.so
 %attr(755,root,root) %{moduledir}/citext.so
 %attr(755,root,root) %{moduledir}/cube.so
 %attr(755,root,root) %{moduledir}/earthdistance.so
 %attr(755,root,root) %{moduledir}/file_fdw.so
 %attr(755,root,root) %{moduledir}/fuzzystrmatch.so
 %attr(755,root,root) %{moduledir}/hstore.so
+%attr(755,root,root) %{moduledir}/insert_username.so
 %attr(755,root,root) %{moduledir}/isn.so
 %attr(755,root,root) %{moduledir}/ltree.so
+%attr(755,root,root) %{moduledir}/moddatetime.so
+%attr(755,root,root) %{moduledir}/old_snapshot.so
 %attr(755,root,root) %{moduledir}/pageinspect.so
 %attr(755,root,root) %{moduledir}/passwordcheck.so
 %attr(755,root,root) %{moduledir}/pg_buffercache.so
 %attr(755,root,root) %{moduledir}/pg_freespacemap.so
 %attr(755,root,root) %{moduledir}/pg_prewarm.so
 %attr(755,root,root) %{moduledir}/pg_stat_statements.so
+%attr(755,root,root) %{moduledir}/pg_surgery.so
 %attr(755,root,root) %{moduledir}/pg_visibility.so
 %attr(755,root,root) %{moduledir}/pgrowlocks.so
 %attr(755,root,root) %{moduledir}/pgstattuple.so
 %attr(755,root,root) %{moduledir}/postgres_fdw.so
+%attr(755,root,root) %{moduledir}/refint.so
 %attr(755,root,root) %{moduledir}/seg.so
 %attr(755,root,root) %{moduledir}/sslinfo.so
 %attr(755,root,root) %{moduledir}/tcn.so
@@ -1159,14 +1176,16 @@ fi
 %attr(755,root,root) %{moduledir}/uuid-ossp.so
 %{extensiondir}/adminpack--*.sql
 %{extensiondir}/adminpack.control
+%{extensiondir}/amcheck--*.sql
+%{extensiondir}/amcheck.control
+%{extensiondir}/autoinc--*.sql
+%{extensiondir}/autoinc.control
 %{extensiondir}/bloom--*.sql
 %{extensiondir}/bloom.control
 %{extensiondir}/btree_gin--*.sql
 %{extensiondir}/btree_gin.control
 %{extensiondir}/btree_gist--*.sql
 %{extensiondir}/btree_gist.control
-%{extensiondir}/chkpass--*.sql
-%{extensiondir}/chkpass.control
 %{extensiondir}/citext--*.sql
 %{extensiondir}/citext.control
 %{extensiondir}/cube--*.sql
@@ -1183,6 +1202,8 @@ fi
 %{extensiondir}/fuzzystrmatch.control
 %{extensiondir}/hstore--*.sql
 %{extensiondir}/hstore.control
+%{extensiondir}/insert_username--*.sql
+%{extensiondir}/insert_username.control
 %{extensiondir}/intarray--*.sql
 %{extensiondir}/intarray.control
 %{extensiondir}/intagg--*.sql
@@ -1191,6 +1212,10 @@ fi
 %{extensiondir}/isn.control
 %{extensiondir}/ltree--*.sql
 %{extensiondir}/ltree.control
+%{extensiondir}/moddatetime--*.sql
+%{extensiondir}/moddatetime.control
+%{extensiondir}/old_snapshot--*.sql
+%{extensiondir}/old_snapshot.control
 %{extensiondir}/pageinspect--*.sql
 %{extensiondir}/pageinspect.control
 %{extensiondir}/pg_buffercache--*.sql
@@ -1201,6 +1226,8 @@ fi
 %{extensiondir}/pg_prewarm.control
 %{extensiondir}/pg_stat_statements--*.sql
 %{extensiondir}/pg_stat_statements.control
+%{extensiondir}/pg_surgery--*.sql
+%{extensiondir}/pg_surgery.control
 %{extensiondir}/pg_visibility--*.sql
 %{extensiondir}/pg_visibility.control
 %{extensiondir}/pgrowlocks--*.sql
@@ -1209,6 +1236,8 @@ fi
 %{extensiondir}/pgstattuple.control
 %{extensiondir}/postgres_fdw--*.sql
 %{extensiondir}/postgres_fdw.control
+%{extensiondir}/refint--*.sql
+%{extensiondir}/refint.control
 %{extensiondir}/seg--*.sql
 %{extensiondir}/seg.control
 %{extensiondir}/sslinfo--*.sql
@@ -1224,21 +1253,38 @@ fi
 %{extensiondir}/uuid-ossp--*.sql
 %{extensiondir}/uuid-ossp.control
 %if %{with perl}
+%attr(755,root,root) %{moduledir}/bool_plperl.so
 %attr(755,root,root) %{moduledir}/hstore_plperl.so
+%attr(755,root,root) %{moduledir}/jsonb_plperl.so
+%{extensiondir}/bool_plperl--*.sql
+%{extensiondir}/bool_plperl.control
+%{extensiondir}/bool_plperlu--*.sql
+%{extensiondir}/bool_plperlu.control
 %{extensiondir}/hstore_plperl--*.sql
 %{extensiondir}/hstore_plperl.control
 %{extensiondir}/hstore_plperlu--*.sql
 %{extensiondir}/hstore_plperlu.control
+%{extensiondir}/jsonb_plperl--*.sql
+%{extensiondir}/jsonb_plperl.control
+%{extensiondir}/jsonb_plperlu--*.sql
+%{extensiondir}/jsonb_plperlu.control
 %endif
 %if %{with python}
-%attr(755,root,root) %{moduledir}/hstore_plpython2.so
-%attr(755,root,root) %{moduledir}/ltree_plpython2.so
+%attr(755,root,root) %{moduledir}/hstore_plpython3.so
+%attr(755,root,root) %{moduledir}/jsonb_plpython3.so
+%attr(755,root,root) %{moduledir}/ltree_plpython3.so
 %{extensiondir}/hstore_plpythonu--*.sql
 %{extensiondir}/hstore_plpythonu.control
 %{extensiondir}/hstore_plpython2u--*.sql
 %{extensiondir}/hstore_plpython2u.control
 %{extensiondir}/hstore_plpython3u--*.sql
 %{extensiondir}/hstore_plpython3u.control
+%{extensiondir}/jsonb_plpythonu--*.sql
+%{extensiondir}/jsonb_plpythonu.control
+%{extensiondir}/jsonb_plpython2u--*.sql
+%{extensiondir}/jsonb_plpython2u.control
+%{extensiondir}/jsonb_plpython3u--*.sql
+%{extensiondir}/jsonb_plpython3u.control
 %{extensiondir}/ltree_plpythonu--*.sql
 %{extensiondir}/ltree_plpythonu.control
 %{extensiondir}/ltree_plpython2u--*.sql
@@ -1247,5 +1293,4 @@ fi
 %{extensiondir}/ltree_plpython3u.control
 %endif
 %{pgsqldatadir}/man/man1/oid2name.1*
-%{pgsqldatadir}/man/man1/pg_standby.1*
 %{pgsqldatadir}/man/man1/vacuumlo.1*