]> TLD Linux GIT Repositories - packages/postgresql.git/blobdiff - postgresql.spec
- updated to 11.20
[packages/postgresql.git] / postgresql.spec
index cd61240b75ee10ea07adb0f719faa9cae390e8bd..e99b87ae60c6dba81ee03e702f5deec40382d7ec 100644 (file)
@@ -14,8 +14,8 @@
 #
 
 %define beta %{nil}
-%define pgver 10
-%define pgminver 5
+%define pgsqlversion 11
+%define pgsqlpriority 110
 
 Summary:       PostgreSQL Data Base Management System
 Summary(de.UTF-8):     PostgreSQL Datenbankverwaltungssystem
@@ -27,13 +27,13 @@ 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%{pgver}
-Version:       %{pgver}.%{pgminver}
-Release:       2
+Name:          postgresql-%{pgsqlversion}
+Version:       %{pgsqlversion}.20
+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: 05666c76d6c2e0fd6cc3b8e604f9c06d
 Source1:       postgresql.init
 Source2:       pgsql-Database-HOWTO-html.tar.gz
 # Source2-md5: 5b656ddf1db41965761f85204a14398e
@@ -42,9 +42,12 @@ 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
+Patch9:                postgresql-python3.patch
 URL:           http://www.postgresql.org/
 BuildRequires: autoconf >= 2.69
 BuildRequires: automake
@@ -70,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
@@ -83,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
@@ -97,8 +100,8 @@ Obsoletes:   postgresql-server
 Obsoletes:     postgresql-test
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                pgsqldatadir    %{_datadir}/postgresql/%{pgver}
-%define                pgsqllibdir     %{_libdir}/postgresql/%{pgver}
+%define                pgsqldatadir    %{_datadir}/postgresql/%{pgsqlversion}
+%define                pgsqllibdir     %{_libdir}/postgresql/%{pgsqlversion}
 %define                moduledir       %{pgsqllibdir}/lib
 %define                extensiondir    %{pgsqldatadir}/extension
 
@@ -107,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 auth_delay auto_explain bloom 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 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
 
 %description
 PostgreSQL Data Base Management System (formerly known as Postgres,
@@ -185,45 +188,23 @@ Common PostgreSQL files and directories.
 PostgreSQL - wspólne pliki i katalogi.
 
 %package dirs
-Summary:       Common directories for PostgresSQL %{pgver}
-Summary(pl.UTF-8):     Wspólne pliki i katalogi dla PostgreSQL %{pgver}
+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 %{pgver}
+Common directories for PostgresSQL %{pgsqlversion}
 
 %description dirs -l pl.UTF-8
-Wspólne pliki i katalogi dla PostgreSQL %{pgver}
-
-%package -n postgresql-devel
-Summary:       PostgreSQL development header files and libraries
-Summary(de.UTF-8):     PostgreSQL-Entwicklungs-Header-Dateien und Libraries
-Summary(es.UTF-8):     Archivos de inclusión y bibliotecas PostgreSQL
-Summary(fr.UTF-8):     En-têtes et bibliothèques de développement PostgreSQL
-Summary(pl.UTF-8):     PostgreSQL - pliki nagłówkowe i biblioteki
-Summary(pt_BR.UTF-8):  Arquivos de inclusão e bibliotecas para desenvolvimento com o PostgreSQL
-Summary(ru.UTF-8):     PostgreSQL - хедеры и библиотеки разработчика
-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}
-
-%description -n postgresql-devel
-This package contains header files and libraries required to compile
-applications that are talking directly to the PostgreSQL backend
-server.
-
-%description -n postgresql-devel -l pl.UTF-8
-Pakiet zawiera nagłówki oraz biblioteki wymagane do kompilacji
-aplikacji łączących się bezpośrednio z serwerem PostgreSQL.
+Wspólne pliki i katalogi dla PostgreSQL %{pgsqlversion}
 
 %package backend-devel
 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
@@ -244,7 +225,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
@@ -273,28 +254,13 @@ etc., in HTML format.
 Pakiet ten zawiera dokumentację oraz HOWTO m.in. dla programistów,
 administratorów w formacie HTML.
 
-%package -n postgresql-libs
-Summary:       PostgreSQL libraries
-Summary(es.UTF-8):     Biblioteca compartida del PostgreSQL
-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}
-
-%description -n postgresql-libs
-PostgreSQL shared libraries.
-
-%description -n postgresql-libs -l pl.UTF-8
-Biblioteki dzielone programu PostgreSQL.
-
 %package ecpg
 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
@@ -303,65 +269,6 @@ Embedded SQL in C interface.
 %description ecpg -l pl.UTF-8
 Interfejs wbudowanego SQL-a w język C.
 
-%package -n postgresql-ecpg-libs
-Summary:       PostgreSQL libraries
-Summary(es.UTF-8):     Biblioteca compartida del PostgreSQL
-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
-
-%description -n postgresql-ecpg-libs
-PostgreSQL shared libraries.
-
-%description -n postgresql-ecpg-libs -l pl.UTF-8
-Biblioteki dzielone programu PostgreSQL.
-
-%package -n postgresql-ecpg-devel
-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}
-
-%description -n postgresql-ecpg-devel
-Embedded SQL in C interface files.
-
-%description -n postgresql-ecpg-devel -l pl.UTF-8
-Pliki programistyczne interfejsu wbudowanego SQL-a w język C.
-
-%package -n postgresql-ecpg-static
-Summary:       PostgreSQL static libraries
-Summary(es.UTF-8):     Bibliotecas estaticas PostgreSQL
-Summary(pl.UTF-8):     Biblioteki statyczne programu PostgreSQL
-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}
-
-%description -n postgresql-ecpg-static
-PostgreSQL static libraries.
-
-%description -n postgresql-ecpg-static -l pl.UTF-8
-Biblioteki statyczne programu PostgreSQL.
-
-%package -n postgresql-static
-Summary:       PostgreSQL static libraries
-Summary(es.UTF-8):     Bibliotecas estaticas PostgreSQL
-Summary(pl.UTF-8):     Biblioteki statyczne programu PostgreSQL
-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}
-
-%description -n postgresql-static
-PostgreSQL static libraries.
-
-%description -n postgresql-static -l pl.UTF-8
-Biblioteki statyczne programu PostgreSQL.
-
 %package module-plperl
 Summary:       PL/perl - PostgreSQL procedural language
 Summary(pl.UTF-8):     PL/perl - język proceduralny bazy danych PostgreSQL
@@ -402,7 +309,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
@@ -595,6 +502,9 @@ Różne moduły dołączone do PostgreSQL-a.
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
 
 # force rebuild of bison/flex files
 find src -name \*.l -o -name \*.y | xargs touch
@@ -616,6 +526,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} \
@@ -656,9 +567,9 @@ 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} \
+       $RPM_BUILD_ROOT/var/{lib/postgresql/%{pgsqlversion},log/{archive,}/postgresql,run/postgresql} \
        $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
-       $RPM_BUILD_ROOT%{_mandir}
+       $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1}
 
 install src/tutorial/*.sql $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
@@ -677,28 +588,26 @@ 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/postgresql10
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/postgresql10
+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}
 
 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-%{pgver}
+       %find_lang $f-%{pgsqlversion}
 done
 # merge locales
 merge_lang() {
-       cat $(for f in $@; do echo ${f}-%{pgver}.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
@@ -706,25 +615,30 @@ merge_lang psql initdb \
        pg_archivecleanup pg_ctl pg_dump > clients.lang
 
 %if %{with tcl}
-%find_lang pltcl-%{pgver}
+%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/%{pgver}/server/
+cp -p src/pl/plperl/ppport.h $RPM_BUILD_ROOT%{_includedir}/postgresql/%{pgsqlversion}/server/
 
 # package it...?  nah, why bother.
 %{__rm} -r $RPM_BUILD_ROOT%{pgsqldatadir}/doc/html
 
+# remove common files provided by PostgreSQL from master branch
+%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/{ecpg*,libpq*,pg_config*,postgres_ext.h,postgresql/internal}
+%{__rm} -r $RPM_BUILD_ROOT{%{_libdir}/{libecpg*,libpg*,libpq*,pkgconfig},%{pgsqllibdir}/bin/pg_config,%{pgsqldatadir}/man/man1/pg_config.1*}
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/locale/*/LC_MESSAGES/{ecpglib*,libpq*,pg_config*}
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %pre
 PG_DB_CLUSTERS=""
-if [ -f /etc/sysconfig/postgresql10 ]; then
-       . /etc/sysconfig/postgresql10
+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
@@ -732,7 +646,7 @@ fi
 foundold=0
 for pgdir in $PG_DB_CLUSTERS; do
        if [ -f $pgdir/PG_VERSION ]; then
-               if [ $(cat $pgdir/PG_VERSION) != '%{pgver}' ]; then
+               if [ $(cat $pgdir/PG_VERSION) != '%{pgsqlversion}' ]; then
                        echo "Found database(s) in older, incompatible format in cluster $pgdir."
                        foundold=1
                fi
@@ -753,14 +667,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*"
@@ -768,58 +682,54 @@ echo "files so they reflect your changes."
 echo
 
 %post
-/sbin/chkconfig --add postgresql10
-%service postgresql10 restart "postgresql10 server"
+/sbin/chkconfig --add postgresql-%{pgsqlversion}
+%service postgresql-%{pgsqlversion} restart "postgresql-%{pgsqlversion} server"
 
 %preun
 if [ "$1" = "0" ]; then
-       %service postgresql10 stop
-       /sbin/chkconfig --del postgresql10
+       %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
-
 %posttrans     clients
 update-alternatives \
-       --install %{_bindir}/clusterdb clusterdb %{pgsqllibdir}/bin/clusterdb %{pgver}%{pgminver} \
+       --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 %{pgver}%{pgminver} \
+       --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 %{pgver}%{pgminver} \
+       --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 %{pgver}%{pgminver} \
+       --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 %{pgver}%{pgminver} \
+       --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 %{pgver}%{pgminver} \
+       --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 %{pgver}%{pgminver} \
+       --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 %{pgver}%{pgminver} \
+       --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 %{pgver}%{pgminver} \
+       --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 %{pgver}%{pgminver} \
+       --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 %{pgver}%{pgminver} \
+       --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 %{pgver}%{pgminver} \
+       --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 %{pgver}%{pgminver} \
+       --install %{_bindir}/vacuumdb vacuumdb %{pgsqllibdir}/bin/vacuumdb %{pgsqlpriority} \
        --slave %{_mandir}/man1/vacuumdb.1 vacuumdb.1 %{pgsqldatadir}/man/man1/vacuumdb.1* || :
 
 %postun        clients
@@ -839,26 +749,11 @@ if [ $1 -eq 0 ]; then
        update-alternatives --remove vacuumdb %{pgsqllibdir}/bin/vacuumdb || :
 fi
 
-%posttrans     -n postgresql-devel
-update-alternatives \
-       --install %{_bindir}/pg_config pg_config %{pgsqllibdir}/bin/pg_config %{pgver}%{pgminver} \
-       --slave %{_mandir}/man1/pg_config.1 pg_config.1 %{pgsqldatadir}/man/man1/pg_config.1* || :
-
-%postun        -n postgresql-devel
-       update-alternatives --remove pg_config %{pgsqllibdir}/bin/pg_config || :
-
-
-%post  -n postgresql-libs -p /sbin/ldconfig
-%postun        -n postgresql-libs -p /sbin/ldconfig
-
-%post  -n postgresql-ecpg-libs -p /sbin/ldconfig
-%postun        -n postgresql-ecpg-libs -p /sbin/ldconfig
-
 %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/postgresql10
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/postgresql10
+%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_basebackup
@@ -871,6 +766,7 @@ update-alternatives \
 %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_verify_checksums
 %attr(755,root,root) %{pgsqllibdir}/bin/pg_waldump
 %attr(755,root,root) %{pgsqllibdir}/bin/pgbench
 %attr(755,root,root) %{pgsqllibdir}/bin/postgres
@@ -904,8 +800,6 @@ update-alternatives \
 
 %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_basebackup.1*
 %{pgsqldatadir}/man/man1/pg_controldata.1*
@@ -918,16 +812,11 @@ update-alternatives \
 %{pgsqldatadir}/man/man1/pg_test_fsync.1*
 %{pgsqldatadir}/man/man1/pg_test_timing.1*
 %{pgsqldatadir}/man/man1/pg_upgrade.1*
+%{pgsqldatadir}/man/man1/pg_verify_checksums.1*
 %{pgsqldatadir}/man/man1/pgbench.1*
 %{pgsqldatadir}/man/man1/postgres.1*
 %{pgsqldatadir}/man/man1/postmaster.1*
 
-%files -n postgresql-common
-%defattr(644,root,root,755)
-%dir %{_libdir}/postgresql
-%dir %{_datadir}/postgresql
-%attr(700,postgres,postgres) %dir /var/lib/pgsql
-
 %files dirs
 %defattr(644,root,root,755)
 %dir %{pgsqllibdir}
@@ -938,85 +827,27 @@ update-alternatives \
 %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-%{pgver}.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-%{pgver}.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-%{pgver}.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.*.*
-%attr(755,root,root) %ghost %{_libdir}/libecpg_compat.so.3
-%attr(755,root,root) %{_libdir}/libpgtypes.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpgtypes.so.3
-
-%files -n postgresql-ecpg-devel
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libecpg.so
-%attr(755,root,root) %{_libdir}/libecpg_compat.so
-%attr(755,root,root) %{_libdir}/libpgtypes.so
-%{_includedir}/ecpg*
-%{_libdir}/pkgconfig/libecpg.pc
-%{_libdir}/pkgconfig/libecpg_compat.pc
-%{_libdir}/pkgconfig/libpgtypes.pc
-
-%files -n postgresql-ecpg-static
-%defattr(644,root,root,755)
-%{_libdir}/libecpg.a
-%{_libdir}/libecpg_compat.a
-%{_libdir}/libpgtypes.a
-
-%files -n postgresql-devel -f pg_config-%{pgver}.lang
-%defattr(644,root,root,755)
-%attr(755,root,root) %{pgsqllibdir}/bin/pg_config
-%attr(755,root,root) %{_libdir}/libpq.so
-%dir %{_includedir}/postgresql
-%{_includedir}/libpq-events.h
-%{_includedir}/libpq-fe.h
-%{_includedir}/pg_config.h
-%{_includedir}/pg_config_ext.h
-%{_includedir}/pg_config_manual.h
-%{_includedir}/pg_config_os.h
-%{_includedir}/postgres_ext.h
-%dir %{_includedir}/postgresql/internal
-%{_includedir}/postgresql/internal/c.h
-%{_includedir}/postgresql/internal/libpq-int.h
-%{_includedir}/postgresql/internal/port.h
-%{_includedir}/postgresql/internal/postgres_fe.h
-%{_includedir}/postgresql/internal/pqexpbuffer.h
-%{_includedir}/postgresql/internal/libpq
-%{_includedir}/libpq
-%{_libdir}/pkgconfig/libpq.pc
-%{pgsqldatadir}/man/man1/pg_config.1*
-
 %files backend-devel
 %defattr(644,root,root,755)
-%dir %{_includedir}/postgresql/%{pgver}
-%{_includedir}/postgresql/%{pgver}/server
+%dir %{_includedir}/postgresql/%{pgsqlversion}
+%{_includedir}/postgresql/%{pgsqlversion}/server
 %dir %{moduledir}/pgxs
 %attr(755,root,root) %{moduledir}/pgxs/config
 %{moduledir}/pgxs/src
 %{pgsqldatadir}/man/man3/SPI_*.3*
 
-%files -n postgresql-static
-%defattr(644,root,root,755)
-%{_libdir}/libpq.a
-%{_libdir}/libpgcommon.a
-%{_libdir}/libpgfeutils.a
-%{_libdir}/libpgport.a
-
 %files clients -f clients.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{pgsqllibdir}/bin/clusterdb
@@ -1049,7 +880,7 @@ update-alternatives \
 %{pgsqldatadir}/man/man7/*.7*
 
 %if %{with perl}
-%files module-plperl -f plperl-%{pgver}.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 +890,15 @@ update-alternatives \
 %endif
 
 %if %{with python}
-%files module-plpython -f plpython-%{pgver}.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-%{pgver}.lang
+%files module-pltcl -f pltcl-%{pgsqlversion}.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{moduledir}/pltcl.so
 %{extensiondir}/pltcl*--*.sql
@@ -1131,7 +962,6 @@ update-alternatives \
 %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
@@ -1165,8 +995,6 @@ update-alternatives \
 %{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
@@ -1231,8 +1059,8 @@ update-alternatives \
 %{extensiondir}/hstore_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}/ltree_plpython3.so
 %{extensiondir}/hstore_plpythonu--*.sql
 %{extensiondir}/hstore_plpythonu.control
 %{extensiondir}/hstore_plpython2u--*.sql