# TODO:
# - python 3 and python 2 subpackages?
+# - subpackage *_plperl and *_plpython contribs?
# - think about pg_upgrade integration (sysconfig variable to allow upgrade from 8.3+ without dump/restore?)
# create postgresqlM.N packages with parts of old pgsql required by pg_upgrade
# - test init script (db initialization)
#
%define beta %{nil}
-%define mver 9.6
+%define mver 10
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
-Version: %{mver}.1
+Version: %{mver}.2
Release: 1
License: BSD
Group: Applications/Databases
-Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: 92ae6d7cdf18e648b3c22d0aa015565d
+Source0: http://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2
+# Source0-md5: e97c3cc72bdf661441f29069299b260a
Source1: %{name}.init
Source2: pgsql-Database-HOWTO-html.tar.gz
# Source2-md5: 5b656ddf1db41965761f85204a14398e
Patch0: %{name}-conf.patch
Patch1: %{name}-absolute_dbpaths.patch
Patch2: %{name}-ecpg-includedir.patch
+
Patch4: %{name}-disable_horology_test.patch
Patch5: %{name}-heimdal.patch
-Patch6: %{name}-ossp_uuid.patch
-Patch7: %{name}-link.patch
+Patch6: %{name}-link.patch
URL: http://www.postgresql.org/
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.69
BuildRequires: automake
%{?with_bonjour:BuildRequires: avahi-compat-libdns_sd-devel}
# not needed for releases... but fixes something in snapshot
%define _ulibdir /usr/lib
# omitted contribs:
-# dummy_seclabel, spi, test_parser, worker_spi - examples/tests
+# spi, test_decoding, worker_spi - examples/tests
# tsearch2 - old module for compatibility only
-%define contrib_modules adminpack auth_delay auto_explain btree_gin btree_gist chkpass citext cube dblink dict_int dict_xsyn earthdistance file_fdw fuzzystrmatch hstore intagg intarray isn lo ltree oid2name pageinspect passwordcheck pg_buffercache pg_freespacemap pg_prewarm pg_standby pg_stat_statements pg_trgm pgcrypto pgrowlocks pgstattuple postgres_fdw seg %{?with_selinux:sepgsql} sslinfo tablefunc tcn unaccent uuid-ossp vacuumlo xml2
+%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
%description
PostgreSQL Data Base Management System (formerly known as Postgres,
%patch0 -p1
%{?with_absolute_dbpaths:%patch1 -p1}
%patch2 -p1
+
%patch4 -p1
%patch5 -p1
%patch6 -p1
-%patch7 -p1
# force rebuild of bison/flex files
find src -name \*.l -o -name \*.y | xargs touch
%{?with_python:--with-python} \
%{?with_selinux:--with-selinux} \
--with-system-tzdata=%{_datadir}/zoneinfo \
+ --without-systemd \
%{?with_tcl:--with-tcl --with-tclconfig=%{_ulibdir}} \
- --with-uuid=ossp
+ --with-uuid=e2fs
%{__make}
%endif
# find locales
-for f in libpq5 pg_basebackup pg_controldata pg_dump pg_resetxlog pg_rewind pgscripts postgres psql initdb pg_ctl pg_config plpgsql ecpg ecpglib6 %{?with_perl:plperl} plpgsql %{?with_python: plpython}; do
+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-%{mver}
done
# merge locales
-cat pgscripts-%{mver}.lang pg_resetxlog-%{mver}.lang \
- postgres-%{mver}.lang pg_controldata-%{mver}.lang \
- plpgsql-%{mver}.lang pg_rewind-%{mver}.lang \
- pg_basebackup-%{mver}.lang \
- > main-%{mver}.lang
-cat pg_dump-%{mver}.lang psql-%{mver}.lang initdb-%{mver}.lang \
- pg_ctl-%{mver}.lang > clients-%{mver}.lang
-cat ecpg-%{mver}.lang ecpglib6-%{mver}.lang > ecpg.lang
+merge_lang() {
+ cat $(for f in $@; do echo ${f}-%{mver}.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
+merge_lang psql initdb \
+ pg_archivecleanup pg_ctl pg_dump > clients.lang
+merge_lang ecpg ecpglib6 > ecpg.lang
%if %{with tcl}
%find_lang pltcl-%{mver}
-mv $RPM_BUILD_ROOT{%{_datadir}/postgresql,%{_pgsqldir}}/unknown.pltcl
%endif
%if %{with selinux}
-mv $RPM_BUILD_ROOT{%{_datadir}/postgresql/contrib,%{_pgsqldir}}/sepgsql.sql
+%{__mv} $RPM_BUILD_ROOT{%{_datadir}/postgresql/contrib,%{_pgsqldir}}/sepgsql.sql
%endif
-install src/pl/plperl/ppport.h $RPM_BUILD_ROOT%{_includedir}/postgresql/server/
+cp -p src/pl/plperl/ppport.h $RPM_BUILD_ROOT%{_includedir}/postgresql/server/
# package it...? nah, why bother.
%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/doc/postgresql/html
echo "Remember to stop the daemon before upgrading!"
echo
echo "Alternatively you can use pg_upgrade for 8.3+ online upgrade with"
- echo "some restrictions: http://www.postgresql.org/docs/9.0/static/pgupgrade.html"
+ echo "some restrictions: http://www.postgresql.org/docs/10.0/static/pgupgrade.html"
echo
echo "Warning for upgrade from version *before* 7.2."
echo "Please note, that postgresql module path changed from"
%post ecpg -p /sbin/ldconfig
%postun ecpg -p /sbin/ldconfig
-%files -f main-%{mver}.lang
+%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
%attr(755,root,root) %{_bindir}/pg_basebackup
%attr(755,root,root) %{_bindir}/pg_controldata
%attr(755,root,root) %{_bindir}/pg_ctl
-%attr(755,root,root) %{_bindir}/pg_resetxlog
-%attr(755,root,root) %{_bindir}/pg_receivexlog
+%attr(755,root,root) %{_bindir}/pg_resetwal
+%attr(755,root,root) %{_bindir}/pg_receivewal
%attr(755,root,root) %{_bindir}/pg_recvlogical
%attr(755,root,root) %{_bindir}/pg_rewind
%attr(755,root,root) %{_bindir}/pg_test_fsync
%attr(755,root,root) %{_bindir}/pg_test_timing
%attr(755,root,root) %{_bindir}/pg_upgrade
-%attr(755,root,root) %{_bindir}/pg_xlogdump
+%attr(755,root,root) %{_bindir}/pg_waldump
%attr(755,root,root) %{_bindir}/pgbench
%attr(755,root,root) %{_bindir}/postgres
%attr(755,root,root) %{_bindir}/postmaster
%attr(755,root,root) %{_pgmoduledir}/latin2_and_win1250.so
%attr(755,root,root) %{_pgmoduledir}/latin_and_mic.so
%attr(755,root,root) %{_pgmoduledir}/libpqwalreceiver.so
+%attr(755,root,root) %{_pgmoduledir}/pgoutput.so
%attr(755,root,root) %{_pgmoduledir}/plpgsql.so
%attr(755,root,root) %{_pgmoduledir}/utf8_and_*.so
%{_mandir}/man1/pg_basebackup.1*
%{_mandir}/man1/pg_controldata.1*
%{_mandir}/man1/pg_ctl.1*
-%{_mandir}/man1/pg_resetxlog.1*
-%{_mandir}/man1/pg_receivexlog.1*
+%{_mandir}/man1/pg_resetwal.1*
+%{_mandir}/man1/pg_receivewal.1*
%{_mandir}/man1/pg_recvlogical.1*
%{_mandir}/man1/pg_rewind.1*
-%{_mandir}/man1/pg_xlogdump.1*
+%{_mandir}/man1/pg_waldump.1*
%{_mandir}/man1/pg_test_fsync.1*
%{_mandir}/man1/pg_test_timing.1*
%{_mandir}/man1/pg_upgrade.1*
%{_libdir}/libpgtypes.a
%{_libdir}/libpgport.a
-%files clients -f clients-%{mver}.lang
+%files clients -f clients.lang
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/clusterdb
%attr(755,root,root) %{_bindir}/createdb
-%attr(755,root,root) %{_bindir}/createlang
%attr(755,root,root) %{_bindir}/createuser
%attr(755,root,root) %{_bindir}/dropdb
-%attr(755,root,root) %{_bindir}/droplang
%attr(755,root,root) %{_bindir}/dropuser
%attr(755,root,root) %{_bindir}/pg_archivecleanup
%attr(755,root,root) %{_bindir}/pg_dump
%{_mandir}/man1/clusterdb.1*
%{_mandir}/man1/createdb.1*
-%{_mandir}/man1/createlang.1*
%{_mandir}/man1/createuser.1*
%{_mandir}/man1/dropdb.1*
-%{_mandir}/man1/droplang.1*
%{_mandir}/man1/dropuser.1*
%{_mandir}/man1/pg_archivecleanup.1*
%{_mandir}/man1/pg_dump.1*
%if %{with tcl}
%files module-pltcl -f pltcl-%{mver}.lang
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/pltcl_*
%attr(755,root,root) %{_pgmoduledir}/pltcl.so
-%{_pgsqldir}/unknown.pltcl
%{_pgsqldir}/pltcl*--*.sql
%{_pgsqldir}/pltcl*.control
%endif
%attr(755,root,root) %{_pgmoduledir}/adminpack.so
%attr(755,root,root) %{_pgmoduledir}/auth_delay.so
%attr(755,root,root) %{_pgmoduledir}/auto_explain.so
+%attr(755,root,root) %{_pgmoduledir}/bloom.so
%attr(755,root,root) %{_pgmoduledir}/btree_gin.so
%attr(755,root,root) %{_pgmoduledir}/btree_gist.so
%attr(755,root,root) %{_pgmoduledir}/chkpass.so
%attr(755,root,root) %{_pgmoduledir}/pg_freespacemap.so
%attr(755,root,root) %{_pgmoduledir}/pg_prewarm.so
%attr(755,root,root) %{_pgmoduledir}/pg_stat_statements.so
+%attr(755,root,root) %{_pgmoduledir}/pg_visibility.so
%attr(755,root,root) %{_pgmoduledir}/pgrowlocks.so
%attr(755,root,root) %{_pgmoduledir}/pgstattuple.so
%attr(755,root,root) %{_pgmoduledir}/postgres_fdw.so
%attr(755,root,root) %{_pgmoduledir}/seg.so
%attr(755,root,root) %{_pgmoduledir}/sslinfo.so
%attr(755,root,root) %{_pgmoduledir}/tcn.so
+%attr(755,root,root) %{_pgmoduledir}/tsm_system_rows.so
+%attr(755,root,root) %{_pgmoduledir}/tsm_system_time.so
%attr(755,root,root) %{_pgmoduledir}/unaccent.so
%attr(755,root,root) %{_pgmoduledir}/uuid-ossp.so
%{_pgsqldir}/adminpack--*.sql
%{_pgsqldir}/adminpack.control
+%{_pgsqldir}/bloom--*.sql
+%{_pgsqldir}/bloom.control
%{_pgsqldir}/btree_gin--*.sql
%{_pgsqldir}/btree_gin.control
%{_pgsqldir}/btree_gist--*.sql
%{_pgsqldir}/pg_prewarm.control
%{_pgsqldir}/pg_stat_statements--*.sql
%{_pgsqldir}/pg_stat_statements.control
+%{_pgsqldir}/pg_visibility--*.sql
+%{_pgsqldir}/pg_visibility.control
%{_pgsqldir}/pgrowlocks--*.sql
%{_pgsqldir}/pgrowlocks.control
%{_pgsqldir}/pgstattuple--*.sql
%{_pgsqldir}/sslinfo.control
%{_pgsqldir}/tcn--*.sql
%{_pgsqldir}/tcn.control
+%{_pgsqldir}/tsm_system_rows--*.sql
+%{_pgsqldir}/tsm_system_rows.control
+%{_pgsqldir}/tsm_system_time--*.sql
+%{_pgsqldir}/tsm_system_time.control
%{_pgsqldir}/unaccent--*.sql
%{_pgsqldir}/unaccent.control
%{_pgsqldir}/uuid-ossp--*.sql
%{_pgsqldir}/uuid-ossp.control
+%if %{with perl}
+%attr(755,root,root) %{_pgmoduledir}/hstore_plperl.so
+%{_pgsqldir}/hstore_plperl--*.sql
+%{_pgsqldir}/hstore_plperl.control
+%{_pgsqldir}/hstore_plperlu--*.sql
+%{_pgsqldir}/hstore_plperlu.control
+%endif
+%if %{with python}
+%attr(755,root,root) %{_pgmoduledir}/hstore_plpython2.so
+%attr(755,root,root) %{_pgmoduledir}/ltree_plpython2.so
+%{_pgsqldir}/hstore_plpythonu--*.sql
+%{_pgsqldir}/hstore_plpythonu.control
+%{_pgsqldir}/hstore_plpython2u--*.sql
+%{_pgsqldir}/hstore_plpython2u.control
+%{_pgsqldir}/hstore_plpython3u--*.sql
+%{_pgsqldir}/hstore_plpython3u.control
+%{_pgsqldir}/ltree_plpythonu--*.sql
+%{_pgsqldir}/ltree_plpythonu.control
+%{_pgsqldir}/ltree_plpython2u--*.sql
+%{_pgsqldir}/ltree_plpython2u.control
+%{_pgsqldir}/ltree_plpython3u--*.sql
+%{_pgsqldir}/ltree_plpython3u.control
+%endif
%{_mandir}/man1/oid2name.1*
%{_mandir}/man1/pg_standby.1*
%{_mandir}/man1/vacuumlo.1*