]> git.pld-linux.org Git - packages/postgresql.git/blobdiff - postgresql.spec
up to 15.6 (fixes CVE-2024-0985)
[packages/postgresql.git] / postgresql.spec
index 7a594402ce36515a287143052f458fb909a10ef6..e7695dcef3367dce06000f613a3337376b69cd46 100644 (file)
@@ -1,5 +1,4 @@
 # 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
@@ -9,7 +8,7 @@
 %bcond_without tests                   # disable testing
 %bcond_without tcl                     # disable Tcl support
 %bcond_without kerberos5               # disable kerberos5 support
-%bcond_without llvm                    # disable llvm based JIT 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
@@ -21,8 +20,7 @@
                                        # (disabled by default because it is a security risk)
 #
 
-%define beta %{nil}
-%define mver 12
+%define mver 15
 
 Summary:       PostgreSQL Data Base Management System
 Summary(de.UTF-8):     PostgreSQL Datenbankverwaltungssystem
@@ -35,12 +33,12 @@ Summary(tr.UTF-8):  Veri Tabanı Yönetim Sistemi
 Summary(uk.UTF-8):     PostgreSQL - система керування базами даних
 Summary(zh_CN.UTF-8):  PostgreSQL 客户端程序和库文件
 Name:          postgresql
-Version:       %{mver}.2
-Release:       0.1
+Version:       %{mver}.6
+Release:       1
 License:       BSD
 Group:         Applications/Databases
-Source0:       http://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: a88ceea8ecf2741307f663e4539b58b7
+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
@@ -51,57 +49,58 @@ Source6:    %{name}.target
 Patch0:                %{name}-conf.patch
 Patch1:                %{name}-absolute_dbpaths.patch
 Patch2:                %{name}-ecpg-includedir.patch
-
-Patch4:                %{name}-disable_horology_test.patch
+Patch3:                ac.patch
 Patch5:                %{name}-heimdal.patch
 Patch6:                %{name}-link.patch
-URL:           http://www.postgresql.org/
+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
 %{?with_llvm:BuildRequires:    clang >= 3.9}
-BuildRequires: docbook-dtd42-xml
+BuildRequires: docbook-dtd45-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
 %{?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
 %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
-BuildRequires: python-modules >= 1:2.4
+BuildRequires: python3 >= 1:3.2
+BuildRequires: python3-devel >= 1:3.2
+BuildRequires: python3-modules >= 1:3.2
 %endif
 BuildRequires: readline-devel >= 4.2
+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}-libs = %{version}-%{release}
 Requires:      rc-scripts >= 0.4.3.0
@@ -110,10 +109,17 @@ Requires: tzdata
 %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
@@ -121,10 +127,13 @@ BuildRoot:        %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _ulibdir        /usr/lib
 
+%define          filterout_c     -fvar-tracking-assignments
+%define          filterout_cxx   -fvar-tracking-assignments
+
 # omitted contribs:
 # spi, test_decoding, worker_spi - examples/tests
 # tsearch2 - old module for compatibility only
-%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_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,
@@ -470,6 +479,7 @@ C++, Perl и Tcl) разделены. Этот пакет включает то
 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
@@ -486,6 +496,7 @@ 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:      openssl%{?_isa} >= 1.1.1
 
 %description libs
 PostgreSQL shared libraries.
@@ -611,7 +622,6 @@ 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
 
 %description module-plpython
 From PostgreSQL documentation:
@@ -790,8 +800,7 @@ Różne moduły dołączone do PostgreSQL-a.
 %patch0 -p1
 %{?with_absolute_dbpaths:%patch1 -p1}
 %patch2 -p1
-
-%patch4 -p1
+%patch3 -p1
 %patch5 -p1
 %patch6 -p1
 
@@ -809,9 +818,11 @@ march="-mx32"
 %{__autoconf}
 %{__autoheader}
 %configure \
-       CFLAGS="%{rpmcflags} $march -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} \
@@ -839,7 +850,6 @@ march="-mx32"
 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
 
@@ -888,15 +898,11 @@ 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 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
@@ -906,7 +912,7 @@ merge_lang() {
 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}
@@ -967,10 +973,19 @@ fi
 %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
@@ -1004,15 +1019,6 @@ fi
 %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
 
@@ -1046,7 +1052,6 @@ done
 %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
@@ -1065,8 +1070,6 @@ done
 %dir %{_datadir}/postgresql
 %{_datadir}/postgresql/*.bki
 %{_datadir}/postgresql/*.sample
-%{_datadir}/postgresql/*.description
-%{_datadir}/postgresql/*.shdescription
 %{_datadir}/postgresql/*.sql
 %{_datadir}/postgresql/*.txt
 %{_datadir}/postgresql/timezonesets
@@ -1144,6 +1147,7 @@ done
 %{_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
@@ -1180,11 +1184,13 @@ done
 %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
@@ -1194,11 +1200,13 @@ done
 %{_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*
@@ -1233,7 +1241,7 @@ done
 %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
@@ -1322,7 +1330,6 @@ done
 %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
@@ -1510,36 +1517,23 @@ done
 %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
+%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_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
+%{_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_plpythonu--*.sql
-%{_pgsqldir}/hstore_plpythonu.control
-%{_pgsqldir}/hstore_plpython2u--*.sql
-%{_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_plpython2u.control
 %{_pgsqldir}/ltree_plpython3u--*.sql
 %{_pgsqldir}/ltree_plpython3u.control
 %endif
 %{_mandir}/man1/oid2name.1*
-%{_mandir}/man1/pg_standby.1*
 %{_mandir}/man1/vacuumlo.1*
This page took 0.045986 seconds and 4 git commands to generate.