]> git.pld-linux.org Git - packages/postgresql.git/blobdiff - postgresql.spec
- llvm bcond
[packages/postgresql.git] / postgresql.spec
index 006faeb03ef292cbe45796340c82d929ca1c2d30..231c3e0635f371a05557e04a5ffc993f3b5d1d26 100644 (file)
@@ -1,7 +1,7 @@
 # TODO:
+# - can jit files go to subpackage?
 # - python 3 and python 2 subpackages?
-# - consider dns_sd/Bonjour support (--with-bonjour)
-# - --enable-dtrace (is it systemtap-compatible?)
+# - 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_without 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.5
+%define mver 11
 
 Summary:       PostgreSQL Data Base Management System
 Summary(de.UTF-8):     PostgreSQL Datenbankverwaltungssystem
@@ -36,8 +40,8 @@ Version:      %{mver}.0
 Release:       0.1
 License:       BSD
 Group:         Applications/Databases
-Source0:       ftp://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: e58fffe9359e311ead94490a06b7147c
+Source0:       http://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2
+# Source0-md5: 338ede84c0443db02ff6e8c4c8cbc5e9
 Source1:       %{name}.init
 Source2:       pgsql-Database-HOWTO-html.tar.gz
 # Source2-md5: 5b656ddf1db41965761f85204a14398e
@@ -48,15 +52,17 @@ 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
 Patch5:                %{name}-heimdal.patch
-Patch6:                %{name}-ossp_uuid.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
 BuildRequires: bison >= 1.875
+%{?with_llvm:BuildRequires:    clang}
 BuildRequires: docbook-dtd42-sgml
 BuildRequires: docbook-dtd42-xml
 BuildRequires: docbook-style-xsl
@@ -69,6 +75,7 @@ BuildRequires:        libtool
 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
@@ -76,12 +83,14 @@ BuildRequires:      ossp-uuid-devel
 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: python >= 1:2.4
+BuildRequires: python-devel >= 1:2.4
+BuildRequires: python-modules >= 1:2.4
 %endif
 BuildRequires: readline-devel >= 4.2
 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
@@ -109,9 +118,9 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %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 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,
@@ -765,7 +774,7 @@ Różne moduły dołączone do PostgreSQL-a.
 %patch0 -p1
 %{?with_absolute_dbpaths:%patch1 -p1}
 %patch2 -p1
-%patch3 -p1
+
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
@@ -784,21 +793,25 @@ find src -name \*.l -o -name \*.y | xargs touch
        CFLAGS="%{rpmcflags} -DNEED_REENTRANT_FUNCS `uuid-config --cflags`" \
        --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_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-uuid=ossp
+       --with-uuid=e2fs
 
 %{__make}
 
@@ -860,29 +873,30 @@ tar zxf %{SOURCE2} -C howto
 %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_verify_checksums 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_verify_checksums 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
@@ -915,7 +929,7 @@ if [ "$foundold" = "1" ]; then
        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"
@@ -982,7 +996,7 @@ done
 %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
@@ -996,14 +1010,15 @@ done
 %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_verify_checksums
+%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
@@ -1017,8 +1032,15 @@ done
 %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
+%if %{with llvm}
+%{_pgmoduledir}/bitcode
+%attr(755,root,root) %{_pgmoduledir}/llvmjit.so
+%{_pgmoduledir}/llvmjit_types.bc
+%endif
+
 
 %dir %{_pgsqldir}
 %{_pgsqldir}/plpgsql--*.sql
@@ -1044,14 +1066,15 @@ done
 %{_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*
+%{_mandir}/man1/pg_verify_checksums.1*
 %{_mandir}/man1/pgbench.1*
 %{_mandir}/man1/postgres.1*
 %{_mandir}/man1/postmaster.1*
@@ -1125,17 +1148,16 @@ done
 %{_libdir}/libecpg_compat.a
 %{_libdir}/libpq.a
 %{_libdir}/libpgcommon.a
+%{_libdir}/libpgfeutils.a
 %{_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
@@ -1148,10 +1170,8 @@ done
 
 %{_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*
@@ -1184,9 +1204,7 @@ done
 %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
@@ -1245,9 +1263,9 @@ done
 %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}/citext.so
 %attr(755,root,root) %{_pgmoduledir}/cube.so
 %attr(755,root,root) %{_pgmoduledir}/earthdistance.so
@@ -1262,22 +1280,25 @@ done
 %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}/btree_gist.control
-%{_pgsqldir}/chkpass--*.sql
-%{_pgsqldir}/chkpass.control
 %{_pgsqldir}/citext--*.sql
 %{_pgsqldir}/citext.control
 %{_pgsqldir}/cube--*.sql
@@ -1312,6 +1333,8 @@ done
 %{_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
@@ -1324,10 +1347,37 @@ done
 %{_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*
This page took 0.241011 seconds and 4 git commands to generate.