#
%define beta %{nil}
-%define pgsqlversion 10
-%define pgsqlpriority 100
+%define pgsqlversion 11
+%define pgsqlpriority 110
Summary: PostgreSQL Data Base Management System
Summary(de.UTF-8): PostgreSQL Datenbankverwaltungssystem
Summary(uk.UTF-8): PostgreSQL - система керування базами даних
Summary(zh_CN.UTF-8): PostgreSQL 客户端程序和库文件
Name: postgresql-%{pgsqlversion}
-Version: %{pgsqlversion}.5
-Release: 2
+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
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
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
Requires(post,preun): /sbin/chkconfig
Requires(pre): /bin/id
Requires(pre): /usr/bin/getgid
-Requires(triggerpostun): /bin/id
-Requires(triggerpostun): /usr/sbin/usermod
+Requires(post): /bin/id
+Requires(post): /usr/sbin/usermod
Requires: %{name}-clients = %{version}-%{release}
Requires: %{name}-dirs = %{version}-%{release}
Requires: postgresql-libs >= %{version}-%{release}
# 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,
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 %{pgsqlversion}
%description dirs -l pl.UTF-8
Wspólne pliki i katalogi dla PostgreSQL %{pgsqlversion}
-%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.
-
%package backend-devel
Summary: PostgreSQL backend development header files
Summary(pl.UTF-8): PostgreSQL - pliki nagłówkowe dla backendu
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
%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
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
%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
%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} \
+ $RPM_BUILD_ROOT/var/{lib/postgresql/%{pgsqlversion},log/{archive,}/postgresql,run/postgresql} \
$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
$RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1}
DESTDIR=$RPM_BUILD_ROOT
done
-touch $RPM_BUILD_ROOT/var/log/pgsql
-
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}
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
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
+# 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
%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*"
/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 %{pgsqlpriority} \
update-alternatives --remove vacuumdb %{pgsqllibdir}/bin/vacuumdb || :
fi
-%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(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
%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*
%{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
-%attr(700,postgres,postgres) %dir /var/run/postgresql
-
%files dirs
%defattr(644,root,root,755)
%dir %{pgsqllibdir}
%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-%{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-%{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-%{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.*.*
-%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-%{pgsqlversion}.lang
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/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
-%{_mandir}/man1/pg_config.1*
-
%files backend-devel
%defattr(644,root,root,755)
%dir %{_includedir}/postgresql/%{pgsqlversion}
%{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
%if %{with python}
%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
%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
%{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
%{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