# TODO:
-# - python 3 and python 2 subpackages?
-# - consider dns_sd/Bonjour support (--with-bonjour)
+# - 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)
%bcond_without tests # disable testing
%bcond_without tcl # disable Tcl support
%bcond_without kerberos5 # disable kerberos5 support
+%bcond_with llvm # disable llvm based JIT support
%bcond_without perl # disable Perl support
%bcond_without python # disable Python support
+%bcond_with bonjour # Bonjour/DNS_SD support
%bcond_without ldap # disable LDAP support
%bcond_without selinux # sepgsql contrib module
+%bcond_without systemd # systemd (notify) support
+%bcond_with systemtap # systemtap/dtrace probes
%bcond_with absolute_dbpaths # enable absolute paths to create database
# (disabled by default because it is a security risk)
#
-%define beta %{nil}
-%define mver 9.2
+%define mver 15
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}.4
+Version: %{mver}.6
Release: 1
License: BSD
Group: Applications/Databases
-Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: 6ee5bb53b97da7c6ad9cb0825d3300dd
+Source0: https://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2
+# Source0-md5: 666511aeb53bd4ac029e236e35b42ca8
Source1: %{name}.init
Source2: pgsql-Database-HOWTO-html.tar.gz
# Source2-md5: 5b656ddf1db41965761f85204a14398e
Source3: %{name}.sysconfig
-Source5: %{name}.upstart
-Source6: %{name}-instance.upstart
+Source4: %{name}@.service
+Source5: %{name}.service
+Source6: %{name}.target
Patch0: %{name}-conf.patch
Patch1: %{name}-absolute_dbpaths.patch
Patch2: %{name}-ecpg-includedir.patch
-Patch3: %{name}-ac_version.patch
-Patch4: %{name}-disable_horology_test.patch
+Patch3: ac.patch
Patch5: %{name}-heimdal.patch
-URL: http://www.postgresql.org/
-BuildRequires: autoconf
+Patch6: %{name}-link.patch
+URL: https://www.postgresql.org/
+BuildRequires: autoconf >= 2.69
BuildRequires: automake
+%{?with_bonjour:BuildRequires: avahi-compat-libdns_sd-devel}
# not needed for releases... but fixes something in snapshot
BuildRequires: bison >= 1.875
-BuildRequires: docbook-dtd42-sgml
-BuildRequires: docbook-dtd42-xml
+%{?with_llvm:BuildRequires: clang >= 3.9}
+BuildRequires: docbook-dtd45-xml
BuildRequires: docbook-style-xsl
+BuildRequires: docbook-style-xsl-nons
BuildRequires: flex >= 2.5.31
-BuildRequires: gettext-devel
+BuildRequires: gettext-tools
+BuildRequires: gnome-doc-tools
%{?with_kerberos5:BuildRequires: heimdal-devel}
-%{?with_selinux:BuildRequires: libselinux-devel >= 2.0.99}
+%{?with_selinux:BuildRequires: libselinux-devel >= 2.1.10}
BuildRequires: libtool
-BuildRequires: libxml2-devel >= 2.6.23
+BuildRequires: libuuid-devel
+BuildRequires: libxml2-devel >= 1:2.6.23
BuildRequires: libxslt-devel
BuildRequires: libxslt-progs
+%{?with_llvm:BuildRequires: llvm-devel >= 3.9}
BuildRequires: ncurses-devel >= 5.0
%{?with_ldap:BuildRequires: openldap-devel}
-BuildRequires: openssl-devel >= 0.9.7d
-BuildRequires: ossp-uuid-devel
+BuildRequires: openssl-devel >= 1.1.1
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.3
-BuildRequires: python-devel >= 1:2.3
-BuildRequires: python-modules >= 1:2.3
+BuildRequires: python3 >= 1:3.2
+BuildRequires: python3-devel >= 1:3.2
+BuildRequires: python3-modules >= 1:3.2
%endif
BuildRequires: readline-devel >= 4.2
-BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 1.671
+%{?with_systemd:BuildRequires: systemd-devel >= 1:209}
+%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
%{?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}-clients >= %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: rc-scripts >= 0.4.3.0
+Requires: systemd-units >= 38
Requires: tzdata
-Obsoletes: postgresql-module-plpgsql
-Obsoletes: postgresql-module-tsearch2
+%if %{with llvm}
+Suggests: %{name}-module-llvmjit = %{version}-%{release}
+%endif
+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
%define _ulibdir /usr/lib
+%define filterout_c -fvar-tracking-assignments
+%define filterout_cxx -fvar-tracking-assignments
+
# omitted contribs:
-# dummy_seclabel, pg_test_fsync, spi and test_parser - 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_archivecleanup pg_buffercache pg_freespacemap pg_standby pg_stat_statements pg_trgm pg_upgrade pg_upgrade_support pgbench pgcrypto pgrowlocks pgstattuple seg %{?with_selinux:sepgsql} sslinfo tablefunc 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,
PostgreSQL працює на Solaris, SunOS, HPUX, AIX, Linux, Irix, FreeBSD
та більшості інших різновидів Unix.
-%package upstart
-Summary: Upstart job description for PostgreSQL server
-Summary(pl.UTF-8): Opis zadania Upstart dla serwera PostgreSQL
-Group: Daemons
-Requires: %{name} = %{version}-%{release}
-Requires: upstart >= 0.6
-Conflicts: syslog-ng < 3.2.4-1
-
-%description upstart
-Upstart job description for PostgreSQL.
-
-%description upstart -l pl.UTF-8
-Opis zadania Upstart dla PostgreSQL.
-
%package devel
Summary: PostgreSQL development header files and libraries
Summary(de.UTF-8): PostgreSQL-Entwicklungs-Header-Dateien und Libraries
Summary: Documentation for PostgreSQL
Summary(pl.UTF-8): Dodatkowa dokumantacja dla PostgreSQL
Group: Applications/Databases
+BuildArch: noarch
%description doc
This package includes documentation and HOWTO for programmer, admin
Summary(pt_BR.UTF-8): Biblioteca compartilhada do PostgreSQL
Summary(zh_CN.UTF-8): PostgreSQL 客户所需要的共享库
Group: Libraries
+Requires: openssl%{?_isa} >= 1.1.1
%description libs
PostgreSQL shared libraries.
Це окремий пакет зі статичними бібліотеками, які більш не входять в
%{name}-devel.
+%package module-llvmjit
+Summary: LLVM JIT module for PostgreSQL
+Summary(pl.UTF-8): Moduł LLVM JIT dla PostgreSQL-a
+Group: Applications/Databases
+Requires: %{name} = %{version}-%{release}
+
+%description module-llvmjit
+LLVM JIT module for PostgreSQL.
+
+%description module-llvmjit -l pl.UTF-8
+Moduł LLVM JIT dla PostgreSQL-a.
+
%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
%description module-plpython
From PostgreSQL documentation:
Summary(pl.UTF-8): Zewnętrzny moduł bezpieczeństwa PostgreSQL-a wykorzystujący SELinuksa
Group: Applications/Databases
Requires: %{name} = %{version}-%{release}
-Requires: libselinux >= 2.0.99
+Requires: libselinux >= 2.1.10
%description module-sepgsql
PostgreSQL external security provider using SELinux.
Summary(pl.UTF-8): Funkcje do obsługi XML-a dla PostgreSQL-a
Group: Applications/Databases
Requires: %{name} = %{version}-%{release}
+Requires: libxml2 >= 1:2.6.23
%description module-xml2
Module with XML functions provides both XPath querying and XSLT
%{?with_absolute_dbpaths:%patch1 -p1}
%patch2 -p1
%patch3 -p1
-%patch4 -p1
%patch5 -p1
+%patch6 -p1
# force rebuild of bison/flex files
find src -name \*.l -o -name \*.y | xargs touch
#find contrib -type d -name CVS -exec rm -rf {} \;
%build
+%ifarch x32
+march="-mx32"
+%endif
%{__aclocal} -I config
%{__autoconf}
+%{__autoheader}
%configure \
- CFLAGS="%{rpmcflags} -DNEED_REENTRANT_FUNCS `uuid-config --cflags`" \
+ CFLAGS="%{rpmcflags} $march -DNEED_REENTRANT_FUNCS" \
+ CPPFLAGS="%{rpmcppflags} $march" \
+ CXXFLAGS="%{rpmcxxflags} $march" \
+ BITCODE_CFLAGS="%{rpmcflags}" \
+ BITCODE_CXXFLAGS="%{rpmcxxflags}" \
--disable-rpath \
--enable-depend \
+ %{?with_systemtap:--enable-dtrace} \
--enable-integer-datetimes \
- --with-system-tzdata=%{_datadir}/zoneinfo \
--enable-nls \
--enable-thread-safety \
+ %{?with_bonjour:--with-bonjour} \
%{?with_kerberos5:--with-gssapi} \
- %{?with_kerberos5:--with-krb5} \
%{?with_ldap:--with-ldap} \
- --with-openssl \
- --with-pam \
+ %{?with_llvm:--with-llvm} \
--with-libxml \
--with-libxslt \
+ --with-openssl \
+ --with-pam \
%{?with_perl:--with-perl} \
%{?with_python:--with-python} \
%{?with_selinux:--with-selinux} \
+ --with-system-tzdata=%{_datadir}/zoneinfo \
+ %{?with_systemd:--with-systemd} \
%{?with_tcl:--with-tcl --with-tclconfig=%{_ulibdir}} \
- --with-ossp-uuid \
+ --with-uuid=e2fs
%{__make}
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
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig,init/%{name}}} \
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
$RPM_BUILD_ROOT{/var/{lib/pgsql,log},%{_pgsqldir}} \
$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
$RPM_BUILD_ROOT%{_mandir} \
+ $RPM_BUILD_ROOT{%{systemdunitdir},/etc/systemd/system/%{name}.target.requires} \
$RPM_BUILD_ROOT/home/services/postgres
install src/tutorial/*.sql $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/postgresql
install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/postgresql
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/init/%{name}.conf
-install %{SOURCE6} $RPM_BUILD_ROOT/etc/init/%{name}/instance.conf
+install %{SOURCE4} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}@.service
+install %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
+install %{SOURCE6} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.target
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}
-%endif
-
# find locales
-for f in libpq5 pg_basebackup pg_controldata pg_dump pg_resetxlog 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_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
-cat pgscripts-%{mver}.lang pg_resetxlog-%{mver}.lang \
- postgres-%{mver}.lang pg_controldata-%{mver}.lang \
- plpgsql-%{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_checksums pg_controldata pg_resetwal pg_rewind pg_upgrade pg_test_fsync pg_test_timing pg_waldump > main.lang
+merge_lang psql initdb \
+ pg_amcheck pg_archivecleanup pg_ctl pg_dump pg_verifybackup > 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
%clean
rm -rf $RPM_BUILD_ROOT
-%pre
+%pretrans
PG_DB_CLUSTERS=""
if [ -f /etc/sysconfig/postgresql ]; then
. /etc/sysconfig/postgresql
foundold=0
for pgdir in $PG_DB_CLUSTERS; do
if [ -f $pgdir/PG_VERSION ]; then
- if [ $(cat $pgdir/PG_VERSION) != '9.2' ]; then
+ if [ $(cat $pgdir/PG_VERSION) != '%{mver}' ]; then
echo "Found database(s) in older, incompatible format in cluster $pgdir."
foundold=1
fi
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"
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
%service postgresql restart "postgresql server"
+if [ "$1" -eq "1" ]; then
+ PG_DB_CLUSTERS=""
+ [ -f /etc/sysconfig/postgresql ] && . /etc/sysconfig/postgresql
+ export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog
+ 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
+fi
+%systemd_post postgresql.service
%preun
if [ "$1" = "0" ]; then
%service postgresql stop
/sbin/chkconfig --del postgresql
-fi
-%post upstart
-%upstart_post postgresql
+ PG_DB_CLUSTERS=""
+ [ -f /etc/sysconfig/postgresql ] && . /etc/sysconfig/postgresql
+ export SYSTEMD_LOG_LEVEL=warning SYSTEMD_LOG_TARGET=syslog
+ for pgdir in $PG_DB_CLUSTERS; do
+ instance="$(echo "$pgdir" | sed -e 's/^\///;s/-/\\x2d/g;s/@/\\x40/g;s/\//-/g')"
+ /bin/systemctl --quiet disable "postgresql@$instance.service" || :
+ done
+fi
+%systemd_preun postgresql.service
-%postun upstart
-%upstart_postun postgresql
+%postun
+%systemd_reload
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%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}
+%doc COPYRIGHT README HISTORY doc/{KNOWN_BUGS,MISSING_FEATURES,TODO}
%attr(754,root,root) /etc/rc.d/init.d/postgresql
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/postgresql
+%{systemdunitdir}/%{name}.service
+%{systemdunitdir}/%{name}@.service
+%{systemdunitdir}/%{name}.target
+%dir /etc/systemd/system/%{name}.target.requires
%attr(755,root,root) %{_bindir}/initdb
%attr(755,root,root) %{_bindir}/pg_basebackup
+%attr(755,root,root) %{_bindir}/pg_checksums
%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_waldump
+%attr(755,root,root) %{_bindir}/pgbench
%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
%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}/pg_upgrade_support.so
+%attr(755,root,root) %{_pgmoduledir}/pgoutput.so
%attr(755,root,root) %{_pgmoduledir}/plpgsql.so
%attr(755,root,root) %{_pgmoduledir}/utf8_and_*.so
-
%dir %{_pgsqldir}
%{_pgsqldir}/plpgsql--*.sql
%{_pgsqldir}/plpgsql.control
%dir %{_datadir}/postgresql
%{_datadir}/postgresql/*.bki
%{_datadir}/postgresql/*.sample
-%{_datadir}/postgresql/*.description
-%{_datadir}/postgresql/*.shdescription
%{_datadir}/postgresql/*.sql
%{_datadir}/postgresql/*.txt
%{_datadir}/postgresql/timezonesets
%{_mandir}/man1/initdb.1*
%{_mandir}/man1/pg_basebackup.1*
+%{_mandir}/man1/pg_checksums.1*
%{_mandir}/man1/pg_controldata.1*
%{_mandir}/man1/pg_ctl.1*
-%{_mandir}/man1/pg_resetxlog.1*
+%{_mandir}/man1/pg_resetwal.1*
+%{_mandir}/man1/pg_receivewal.1*
+%{_mandir}/man1/pg_recvlogical.1*
+%{_mandir}/man1/pg_rewind.1*
+%{_mandir}/man1/pg_waldump.1*
+%{_mandir}/man1/pg_test_fsync.1*
+%{_mandir}/man1/pg_test_timing.1*
+%{_mandir}/man1/pg_upgrade.1*
+%{_mandir}/man1/pgbench.1*
%{_mandir}/man1/postgres.1*
%{_mandir}/man1/postmaster.1*
-%{_mandir}/man1/oid2name.1.gz
-%{_mandir}/man1/pg_archivecleanup.1.gz
-%{_mandir}/man1/pg_receivexlog.1.gz
-%{_mandir}/man1/pg_standby.1.gz
-%{_mandir}/man1/pg_test_fsync.1.gz
-%{_mandir}/man1/pg_test_timing.1.gz
-%{_mandir}/man1/pgbench.1.gz
-%{_mandir}/man1/vacuumlo.1.gz
-
-
-%if "%{pld_release}" != "ti"
-%files upstart
-%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) /etc/init/postgresql.conf
-%dir /etc/init/postgresql
-%config(noreplace) %verify(not md5 mtime size) /etc/init/postgresql/instance.conf
-%endif
%files doc
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libpq.so.*.*
%attr(755,root,root) %ghost %{_libdir}/libpq.so.5
%dir %{_pgmoduledir}
+%if %{with llvm}
+%dir %{_pgmoduledir}/bitcode
+%endif
%files ecpg -f ecpg.lang
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libecpg_compat.so
%attr(755,root,root) %{_libdir}/libpgtypes.so
%{_includedir}/ecpg*
+%{_pkgconfigdir}/libecpg.pc
+%{_pkgconfigdir}/libecpg_compat.pc
+%{_pkgconfigdir}/libpgtypes.pc
%files devel -f pg_config-%{mver}.lang
%defattr(644,root,root,755)
%{_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/fe-auth-sasl.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
+%{_pkgconfigdir}/libpq.pc
%{_mandir}/man1/pg_config.1*
%files backend-devel
%{_libdir}/libecpg.a
%{_libdir}/libecpg_compat.a
%{_libdir}/libpq.a
+%{_libdir}/libpgcommon.a
+%{_libdir}/libpgfeutils.a
%{_libdir}/libpgtypes.a
%{_libdir}/libpgport.a
+%{_libdir}/libpgcommon_shlib.a
+%{_libdir}/libpgport_shlib.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_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/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_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_upgrade.1.gz
+%{_mandir}/man1/pg_verifybackup.1*
%{_mandir}/man1/psql.1*
%{_mandir}/man1/reindexdb.1*
%{_mandir}/man1/vacuumdb.1*
%{_mandir}/man7/*.7*
+%if %{with llvm}
+%files module-llvmjit
+%defattr(644,root,root,755)
+%doc src/backend/jit/README
+%attr(755,root,root) %{_pgmoduledir}/llvmjit.so
+%{_pgmoduledir}/llvmjit_types.bc
+# base postgres bitcode
+%{_pgmoduledir}/bitcode/postgres
+%{_pgmoduledir}/bitcode/postgres.index.bc
+# base modules bitcode
+%{_pgmoduledir}/bitcode/dict_int
+%{_pgmoduledir}/bitcode/dict_int.index.bc
+%{_pgmoduledir}/bitcode/dict_xsyn
+%{_pgmoduledir}/bitcode/dict_xsyn.index.bc
+%endif
+
%if %{with perl}
%files module-plperl -f plperl-%{mver}.lang
%defattr(644,root,root,755)
%if %{with python}
%files module-plpython -f plpython-%{mver}.lang
%defattr(644,root,root,755)
-%attr(755,root,root) %{_pgmoduledir}/plpython2.so
+%attr(755,root,root) %{_pgmoduledir}/plpython3.so
%{_pgsqldir}/plpython*--*.sql
%{_pgsqldir}/plpython*.control
%endif
%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
%files module-dblink
%defattr(644,root,root,755)
%attr(755,root,root) %{_pgmoduledir}/dblink.so
+%if %{with llvm}
+%{_pgmoduledir}/bitcode/dblink
+%{_pgmoduledir}/bitcode/dblink.index.bc
+%endif
%{_pgsqldir}/dblink--*.sql
%{_pgsqldir}/dblink.control
%{_mandir}/man3/dblink*.3*
%files module-lo
%defattr(644,root,root,755)
%attr(755,root,root) %{_pgmoduledir}/lo.so
+%if %{with llvm}
+%{_pgmoduledir}/bitcode/lo
+%{_pgmoduledir}/bitcode/lo.index.bc
+%endif
%{_pgsqldir}/lo--*.sql
%{_pgsqldir}/lo.control
%files module-pg_trgm
%defattr(644,root,root,755)
%attr(755,root,root) %{_pgmoduledir}/pg_trgm.so
+%if %{with llvm}
+%{_pgmoduledir}/bitcode/pg_trgm
+%{_pgmoduledir}/bitcode/pg_trgm.index.bc
+%endif
%{_pgsqldir}/pg_trgm--*.sql
%{_pgsqldir}/pg_trgm.control
%files module-pgcrypto
%defattr(644,root,root,755)
%attr(755,root,root) %{_pgmoduledir}/pgcrypto.so
+%if %{with llvm}
+%{_pgmoduledir}/bitcode/pgcrypto
+%{_pgmoduledir}/bitcode/pgcrypto.index.bc
+%endif
%{_pgsqldir}/pgcrypto--*.sql
%{_pgsqldir}/pgcrypto.control
+%if %{with selinux}
%files module-sepgsql
%defattr(644,root,root,755)
%attr(755,root,root) %{_pgmoduledir}/sepgsql.so
+%if %{with llvm}
+%{_pgmoduledir}/bitcode/sepgsql
+%{_pgmoduledir}/bitcode/sepgsql.index.bc
+%endif
%{_pgsqldir}/sepgsql.sql
+%endif
%files module-tablefunc
%defattr(644,root,root,755)
%attr(755,root,root) %{_pgmoduledir}/tablefunc.so
+%if %{with llvm}
+%{_pgmoduledir}/bitcode/tablefunc
+%{_pgmoduledir}/bitcode/tablefunc.index.bc
+%endif
%{_pgsqldir}/*tablefunc--*.sql
%{_pgsqldir}/*tablefunc.control
%files module-xml2
%defattr(644,root,root,755)
%attr(755,root,root) %{_pgmoduledir}/pgxml.so
+%if %{with llvm}
+%{_pgmoduledir}/bitcode/pgxml
+%{_pgmoduledir}/bitcode/pgxml.index.bc
+%endif
%{_pgsqldir}/xml2--*.sql
%{_pgsqldir}/xml2.control
%defattr(644,root,root,755)
%doc contrib/README
%attr(755,root,root) %{_bindir}/oid2name
-%attr(755,root,root) %{_bindir}/pg_archivecleanup
-%attr(755,root,root) %{_bindir}/pg_standby
-%attr(755,root,root) %{_bindir}/pgbench
%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
%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}/citext.so
%attr(755,root,root) %{_pgmoduledir}/cube.so
%attr(755,root,root) %{_pgmoduledir}/earthdistance.so
%attr(755,root,root) %{_pgmoduledir}/passwordcheck.so
%attr(755,root,root) %{_pgmoduledir}/pg_buffercache.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
+%if %{with llvm}
+%{_pgmoduledir}/bitcode/_int
+%{_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
+%{_pgmoduledir}/bitcode/auto_explain.index.bc
+%{_pgmoduledir}/bitcode/bloom
+%{_pgmoduledir}/bitcode/bloom.index.bc
+%{_pgmoduledir}/bitcode/btree_gin
+%{_pgmoduledir}/bitcode/btree_gin.index.bc
+%{_pgmoduledir}/bitcode/btree_gist
+%{_pgmoduledir}/bitcode/btree_gist.index.bc
+%{_pgmoduledir}/bitcode/citext
+%{_pgmoduledir}/bitcode/citext.index.bc
+%{_pgmoduledir}/bitcode/cube
+%{_pgmoduledir}/bitcode/cube.index.bc
+%{_pgmoduledir}/bitcode/earthdistance
+%{_pgmoduledir}/bitcode/earthdistance.index.bc
+%{_pgmoduledir}/bitcode/file_fdw
+%{_pgmoduledir}/bitcode/file_fdw.index.bc
+%{_pgmoduledir}/bitcode/fuzzystrmatch
+%{_pgmoduledir}/bitcode/fuzzystrmatch.index.bc
+%{_pgmoduledir}/bitcode/hstore
+%{_pgmoduledir}/bitcode/hstore.index.bc
+%{_pgmoduledir}/bitcode/isn
+%{_pgmoduledir}/bitcode/isn.index.bc
+%{_pgmoduledir}/bitcode/ltree
+%{_pgmoduledir}/bitcode/ltree.index.bc
+%{_pgmoduledir}/bitcode/pageinspect
+%{_pgmoduledir}/bitcode/pageinspect.index.bc
+%{_pgmoduledir}/bitcode/passwordcheck
+%{_pgmoduledir}/bitcode/passwordcheck.index.bc
+%{_pgmoduledir}/bitcode/pg_buffercache
+%{_pgmoduledir}/bitcode/pg_buffercache.index.bc
+%{_pgmoduledir}/bitcode/pg_freespacemap
+%{_pgmoduledir}/bitcode/pg_freespacemap.index.bc
+%{_pgmoduledir}/bitcode/pg_prewarm
+%{_pgmoduledir}/bitcode/pg_prewarm.index.bc
+%{_pgmoduledir}/bitcode/pg_stat_statements
+%{_pgmoduledir}/bitcode/pg_stat_statements.index.bc
+%{_pgmoduledir}/bitcode/pg_visibility
+%{_pgmoduledir}/bitcode/pg_visibility.index.bc
+%{_pgmoduledir}/bitcode/pgrowlocks
+%{_pgmoduledir}/bitcode/pgrowlocks.index.bc
+%{_pgmoduledir}/bitcode/pgstattuple
+%{_pgmoduledir}/bitcode/pgstattuple.index.bc
+%{_pgmoduledir}/bitcode/postgres_fdw
+%{_pgmoduledir}/bitcode/postgres_fdw.index.bc
+%{_pgmoduledir}/bitcode/seg
+%{_pgmoduledir}/bitcode/seg.index.bc
+%{_pgmoduledir}/bitcode/sslinfo
+%{_pgmoduledir}/bitcode/sslinfo.index.bc
+%{_pgmoduledir}/bitcode/tcn
+%{_pgmoduledir}/bitcode/tcn.index.bc
+%{_pgmoduledir}/bitcode/tsm_system_rows
+%{_pgmoduledir}/bitcode/tsm_system_rows.index.bc
+%{_pgmoduledir}/bitcode/tsm_system_time
+%{_pgmoduledir}/bitcode/tsm_system_time.index.bc
+%{_pgmoduledir}/bitcode/unaccent
+%{_pgmoduledir}/bitcode/unaccent.index.bc
+%{_pgmoduledir}/bitcode/uuid-ossp
+%{_pgmoduledir}/bitcode/uuid-ossp.index.bc
+%endif
%{_pgsqldir}/adminpack--*.sql
%{_pgsqldir}/adminpack.control
+%{_pgsqldir}/amcheck--*.sql
+%{_pgsqldir}/amcheck.control
+%{_pgsqldir}/bloom--*.sql
+%{_pgsqldir}/bloom.control
%{_pgsqldir}/btree_gin--*.sql
%{_pgsqldir}/btree_gin.control
%{_pgsqldir}/btree_gist--*.sql
%{_pgsqldir}/btree_gist.control
-%{_pgsqldir}/chkpass--*.sql
-%{_pgsqldir}/chkpass.control
%{_pgsqldir}/citext--*.sql
%{_pgsqldir}/citext.control
%{_pgsqldir}/cube--*.sql
%{_pgsqldir}/pg_buffercache.control
%{_pgsqldir}/pg_freespacemap--*.sql
%{_pgsqldir}/pg_freespacemap.control
+%{_pgsqldir}/pg_prewarm--*.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}/pgstattuple.control
+%{_pgsqldir}/postgres_fdw--*.sql
+%{_pgsqldir}/postgres_fdw.control
%{_pgsqldir}/seg--*.sql
%{_pgsqldir}/seg.control
%{_pgsqldir}/sslinfo--*.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
+%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_plpython3.so
+%attr(755,root,root) %{_pgmoduledir}/jsonb_plpython3.so
+%attr(755,root,root) %{_pgmoduledir}/ltree_plpython3.so
+%if %{with llvm}
+%{_pgmoduledir}/bitcode/hstore_plpython3
+%{_pgmoduledir}/bitcode/hstore_plpython3.index.bc
+%{_pgmoduledir}/bitcode/jsonb_plpython3
+%{_pgmoduledir}/bitcode/jsonb_plpython3.index.bc
+%{_pgmoduledir}/bitcode/ltree_plpython3
+%{_pgmoduledir}/bitcode/ltree_plpython3.index.bc
+%endif
+%{_pgsqldir}/hstore_plpython3u--*.sql
+%{_pgsqldir}/hstore_plpython3u.control
+%{_pgsqldir}/jsonb_plpython3u--*.sql
+%{_pgsqldir}/jsonb_plpython3u.control
+%{_pgsqldir}/ltree_plpython3u--*.sql
+%{_pgsqldir}/ltree_plpython3u.control
+%endif
+%{_mandir}/man1/oid2name.1*
+%{_mandir}/man1/vacuumlo.1*