# (disabled by default because it is a security risk)
#
-%define beta %{nil}
-%define mver 12
+%define mver 14
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}.0
-Release: 0.1
+Version: %{mver}.5
+Release: 1
License: BSD
Group: Applications/Databases
Source0: http://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: 87545416ef021eee8621d31a93fcc899
+# Source0-md5: 1b319af2ece7fbf836d2d9533e91aa9b
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
+Patch3: ac.patch
-Patch4: %{name}-disable_horology_test.patch
Patch5: %{name}-heimdal.patch
Patch6: %{name}-link.patch
+Patch7: llvm15.patch
URL: http://www.postgresql.org/
BuildRequires: autoconf >= 2.69
BuildRequires: automake
%{?with_llvm:BuildRequires: clang >= 3.9}
BuildRequires: docbook-dtd42-xml
BuildRequires: docbook-style-xsl
+BuildRequires: docbook-style-xsl-nons
BuildRequires: flex >= 2.5.31
BuildRequires: gettext-tools
BuildRequires: gnome-doc-tools
%{?with_kerberos5:BuildRequires: heimdal-devel}
%{?with_selinux:BuildRequires: libselinux-devel >= 2.1.10}
BuildRequires: libtool
+BuildRequires: libuuid-devel
BuildRequires: libxml2-devel >= 1:2.6.23
BuildRequires: libxslt-devel
BuildRequires: libxslt-progs
BuildRequires: ncurses-devel >= 5.0
%{?with_ldap:BuildRequires: openldap-devel}
BuildRequires: openssl-devel >= 0.9.7d
-BuildRequires: ossp-uuid-devel
BuildRequires: pam-devel
-%{?with_perl:BuildRequires: perl-devel}
+%if %{with perl}
+BuildRequires: perl-Scalar-List-Utils
+BuildRequires: perl-devel
+%endif
%if %{with python}
BuildRequires: python >= 1:2.4
BuildRequires: python-devel >= 1:2.4
%{?with_tcl:BuildRequires: tcl-devel >= 8.4.3}
%{?with_tests:BuildRequires: tzdata}
BuildRequires: zlib-devel
+Requires(post): /bin/id
+Requires(post): /usr/sbin/usermod
Requires(post,preun): /sbin/chkconfig
Requires(pre): /bin/id
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
-Requires(triggerpostun): /bin/id
-Requires(triggerpostun): /usr/sbin/usermod
Requires: %{name}-clients >= %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: rc-scripts >= 0.4.3.0
%if %{with llvm}
Suggests: %{name}-module-llvmjit = %{version}-%{release}
%endif
-Obsoletes: postgresql-module-plpgsql
-Obsoletes: postgresql-module-tsearch2
+Obsoletes: postgresql-data < 6.5
+Obsoletes: postgresql-ln < 8.3.0
+Obsoletes: postgresql-module-datetime < 7.1
+Obsoletes: postgresql-module-plpgsql < 9.0.0-1
+Obsoletes: postgresql-module-tsearch2 < 8.3.0
+Obsoletes: postgresql-replicate < 8.3.0
+Obsoletes: postgresql-replicate-tools < 8.3.0
Obsoletes: postgresql-server
Obsoletes: postgresql-test
+Obsoletes: postgresql-upgrade < 9.2.1-1
+Obsoletes: postgresql-upstart < 9.4.1-2
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _pgmoduledir %{_libdir}/postgresql
# 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 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 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 pageinspect passwordcheck pg_buffercache pg_freespacemap pg_prewarm 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
+%patch3 -p1
-%patch4 -p1
%patch5 -p1
%patch6 -p1
+%patch7 -p1
# force rebuild of bison/flex files
find src -name \*.l -o -name \*.y | xargs touch
%{__autoconf}
%{__autoheader}
%configure \
- CFLAGS="%{rpmcflags} $march -DNEED_REENTRANT_FUNCS `uuid-config --cflags`" \
+ CFLAGS="%{rpmcflags} $march -DNEED_REENTRANT_FUNCS" \
CPPFLAGS="%{rpmcppflags} $march" \
CXXFLAGS="%{rpmcxxflags} $march" \
--disable-rpath \
for mod in %{contrib_modules}; do \
flags="%{rpmcflags} %{rpmcppflags} -DNEED_REENTRANT_FUNCS"
if [ $mod = "xml2" ]; then flags="$flags -I/usr/include/libxml2"; fi
- if [ $mod = "uuid-ossp" ]; then flags="$flags `uuid-config --cflags`"; fi
%{__make} -C contrib/$mod CFLAGS="$flags"
done
# find locales
for f in libpq5 pgscripts postgres psql initdb ecpg ecpglib6 \
plpgsql %{?with_perl:plperl} %{?with_python:plpython} \
- 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_waldump; do
+ 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_waldump pg_verifybackup; do
%find_lang $f-%{mver}
done
# merge locales
merge_lang pgscripts postgres plpgsql \
pg_basebackup pg_checksums 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
+ pg_amcheck pg_archivecleanup pg_ctl pg_dump pg_verifybackup > clients.lang
merge_lang ecpg ecpglib6 > ecpg.lang
%if %{with tcl}
%clean
rm -rf $RPM_BUILD_ROOT
-%pre
+%pretrans
PG_DB_CLUSTERS=""
if [ -f /etc/sysconfig/postgresql ]; then
. /etc/sysconfig/postgresql
echo "http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3"
exit 1
fi
+
+%pre
%groupadd -g 88 -r postgres
%useradd -M -o -r -u 88 -d /home/services/postgres -s /bin/sh -g postgres -c "PostgreSQL Server" postgres
-%triggerpostun -- %{name} < 7.2-2
+%triggerpostun -- %{name} < 9.3.3-2
+# < 7.2-2
if [ -n "`/bin/id -u postgres 2>/dev/null`" ]; then
/usr/sbin/usermod -d /home/services/postgres postgres
fi
+# < 9.3.3-2
+PG_DB_CLUSTERS=""
+[ -f /etc/sysconfig/postgresql ] && . /etc/sysconfig/postgresql
+for pgdir in $PG_DB_CLUSTERS; do
+ instance="$(echo "$pgdir" | sed -e 's/^\///;s/-/\\x2d/g;s/@/\\x40/g;s/\//-/g')"
+ /bin/systemctl --quiet enable "postgresql@$instance.service" || :
+done
+%systemd_trigger postgresql.service
%post
/sbin/chkconfig --add postgresql
%postun
%systemd_reload
-%triggerpostun -- %{name} < 9.3.3-2
-PG_DB_CLUSTERS=""
-[ -f /etc/sysconfig/postgresql ] && . /etc/sysconfig/postgresql
-for pgdir in $PG_DB_CLUSTERS; do
- instance="$(echo "$pgdir" | sed -e 's/^\///;s/-/\\x2d/g;s/@/\\x40/g;s/\//-/g')"
- /bin/systemctl --quiet enable "postgresql@$instance.service" || :
-done
-%systemd_trigger postgresql.service
-
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%attr(755,root,root) %{_bindir}/postgres
%attr(755,root,root) %{_bindir}/postmaster
-%attr(755,root,root) %{_pgmoduledir}/ascii_and_mic.so
%attr(755,root,root) %{_pgmoduledir}/cyrillic_and_mic.so
%attr(755,root,root) %{_pgmoduledir}/dict_int.so
%attr(755,root,root) %{_pgmoduledir}/dict_snowball.so
%dir %{_datadir}/postgresql
%{_datadir}/postgresql/*.bki
%{_datadir}/postgresql/*.sample
-%{_datadir}/postgresql/*.description
-%{_datadir}/postgresql/*.shdescription
%{_datadir}/postgresql/*.sql
%{_datadir}/postgresql/*.txt
%{_datadir}/postgresql/timezonesets
%attr(755,root,root) %{_bindir}/createuser
%attr(755,root,root) %{_bindir}/dropdb
%attr(755,root,root) %{_bindir}/dropuser
+%attr(755,root,root) %{_bindir}/pg_amcheck
%attr(755,root,root) %{_bindir}/pg_archivecleanup
%attr(755,root,root) %{_bindir}/pg_dump
%attr(755,root,root) %{_bindir}/pg_dumpall
%attr(755,root,root) %{_bindir}/pg_isready
%attr(755,root,root) %{_bindir}/pg_restore
+%attr(755,root,root) %{_bindir}/pg_verifybackup
%attr(755,root,root) %{_bindir}/psql
%attr(755,root,root) %{_bindir}/reindexdb
%attr(755,root,root) %{_bindir}/vacuumdb
%{_mandir}/man1/createuser.1*
%{_mandir}/man1/dropdb.1*
%{_mandir}/man1/dropuser.1*
+%{_mandir}/man1/pg_amcheck.1*
%{_mandir}/man1/pg_archivecleanup.1*
%{_mandir}/man1/pg_dump.1*
%{_mandir}/man1/pg_dumpall.1*
%{_mandir}/man1/pg_isready.1*
%{_mandir}/man1/pg_restore.1*
+%{_mandir}/man1/pg_verifybackup.1*
%{_mandir}/man1/psql.1*
%{_mandir}/man1/reindexdb.1*
%{_mandir}/man1/vacuumdb.1*
%defattr(644,root,root,755)
%doc contrib/README
%attr(755,root,root) %{_bindir}/oid2name
-%attr(755,root,root) %{_bindir}/pg_standby
%attr(755,root,root) %{_bindir}/vacuumlo
%attr(755,root,root) %{_pgmoduledir}/_int.so
%attr(755,root,root) %{_pgmoduledir}/adminpack.so
+%attr(755,root,root) %{_pgmoduledir}/amcheck.so
%attr(755,root,root) %{_pgmoduledir}/auth_delay.so
%attr(755,root,root) %{_pgmoduledir}/auto_explain.so
%attr(755,root,root) %{_pgmoduledir}/bloom.so
%{_pgmoduledir}/bitcode/_int.index.bc
%{_pgmoduledir}/bitcode/adminpack
%{_pgmoduledir}/bitcode/adminpack.index.bc
+%{_pgmoduledir}/bitcode/amcheck
+%{_pgmoduledir}/bitcode/amcheck.index.bc
%{_pgmoduledir}/bitcode/auth_delay
%{_pgmoduledir}/bitcode/auth_delay.index.bc
%{_pgmoduledir}/bitcode/auto_explain
%endif
%{_pgsqldir}/adminpack--*.sql
%{_pgsqldir}/adminpack.control
+%{_pgsqldir}/amcheck--*.sql
+%{_pgsqldir}/amcheck.control
%{_pgsqldir}/bloom--*.sql
%{_pgsqldir}/bloom.control
%{_pgsqldir}/btree_gin--*.sql
%{_pgsqldir}/uuid-ossp.control
%if %{with perl}
%attr(755,root,root) %{_pgmoduledir}/hstore_plperl.so
+%attr(755,root,root) %{_pgmoduledir}/jsonb_plperl.so
%{_pgsqldir}/hstore_plperl--*.sql
%{_pgsqldir}/hstore_plperl.control
%{_pgsqldir}/hstore_plperlu--*.sql
%{_pgsqldir}/hstore_plperlu.control
+%{_pgsqldir}/jsonb_plperl--*.sql
+%{_pgsqldir}/jsonb_plperl.control
+%{_pgsqldir}/jsonb_plperlu--*.sql
+%{_pgsqldir}/jsonb_plperlu.control
%if %{with llvm}
%{_pgmoduledir}/bitcode/hstore_plperl
%{_pgmoduledir}/bitcode/hstore_plperl.index.bc
+%{_pgmoduledir}/bitcode/jsonb_plperl
+%{_pgmoduledir}/bitcode/jsonb_plperl.index.bc
%endif
%endif
%if %{with python}
%attr(755,root,root) %{_pgmoduledir}/hstore_plpython2.so
+%attr(755,root,root) %{_pgmoduledir}/jsonb_plpython2.so
%attr(755,root,root) %{_pgmoduledir}/ltree_plpython2.so
%if %{with llvm}
%{_pgmoduledir}/bitcode/hstore_plpython2
%{_pgmoduledir}/bitcode/hstore_plpython2.index.bc
+%{_pgmoduledir}/bitcode/jsonb_plpython2
+%{_pgmoduledir}/bitcode/jsonb_plpython2.index.bc
%{_pgmoduledir}/bitcode/ltree_plpython2
%{_pgmoduledir}/bitcode/ltree_plpython2.index.bc
%endif
%{_pgsqldir}/hstore_plpython2u.control
%{_pgsqldir}/hstore_plpython3u--*.sql
%{_pgsqldir}/hstore_plpython3u.control
+%{_pgsqldir}/jsonb_plpythonu--*.sql
+%{_pgsqldir}/jsonb_plpythonu.control
+%{_pgsqldir}/jsonb_plpython2u--*.sql
+%{_pgsqldir}/jsonb_plpython2u.control
+%{_pgsqldir}/jsonb_plpython3u--*.sql
+%{_pgsqldir}/jsonb_plpython3u.control
%{_pgsqldir}/ltree_plpythonu--*.sql
%{_pgsqldir}/ltree_plpythonu.control
%{_pgsqldir}/ltree_plpython2u--*.sql
%{_pgsqldir}/ltree_plpython3u.control
%endif
%{_mandir}/man1/oid2name.1*
-%{_mandir}/man1/pg_standby.1*
%{_mandir}/man1/vacuumlo.1*