From 5e86bde66b513fe5ccfc11a9efcfe49cd38a5478 Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Sun, 11 Mar 2018 15:57:06 +0000 Subject: [PATCH] - merged 10.2 from PLD --- postgresql-link.patch | 12 +++- postgresql-ossp_uuid.patch | 34 ------------ postgresql.init | 2 +- postgresql.spec | 109 ++++++++++++++++++++++++------------- 4 files changed, 81 insertions(+), 76 deletions(-) delete mode 100644 postgresql-ossp_uuid.patch diff --git a/postgresql-link.patch b/postgresql-link.patch index 1e89ba1..032f381 100644 --- a/postgresql-link.patch +++ b/postgresql-link.patch @@ -1,10 +1,16 @@ ---- postgresql-9.5.0/configure.in.orig 2016-01-14 18:59:41.640973653 +0100 -+++ postgresql-9.5.0/configure.in 2016-01-14 21:10:21.783977990 +0100 -@@ -1192,7 +1192,9 @@ +--- postgresql-9.5.0/configure.in.orig 2018-02-21 03:23:25.335399998 +0100 ++++ postgresql-9.5.0/configure.in 2018-02-21 03:28:24.392066743 +0100 +@@ -1203,6 +1203,7 @@ if test "$with_bonjour" = yes ; then AC_CHECK_HEADER(dns_sd.h, [], [AC_MSG_ERROR([header file is required for Bonjour])]) + AC_CHECK_LIB(dns_sd, DNSServiceRegister, [BONJOUR_LIBS=-ldns_sd]) + dnl At some point we might add something like + dnl AC_SEARCH_LIBS(DNSServiceRegister, dns_sd) + dnl but right now, what that would mainly accomplish is to encourage +@@ -1210,6 +1211,7 @@ + dnl If you want to use Apple's own Bonjour code on another platform, + dnl just add -ldns_sd to LIBS manually. fi +AC_SUBST([BONJOUR_LIBS]) diff --git a/postgresql-ossp_uuid.patch b/postgresql-ossp_uuid.patch deleted file mode 100644 index b5b2dfa..0000000 --- a/postgresql-ossp_uuid.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- postgresql-9.4.0/configure.in.orig 2015-01-05 23:55:32.000000000 +0100 -+++ postgresql-9.4.0/configure.in 2015-01-06 00:03:58.433386714 +0100 -@@ -1166,13 +1166,13 @@ - [AC_MSG_ERROR([header file does not match E2FS UUID library])])], - [AC_MSG_ERROR([header file or is required for E2FS UUID])])]) - elif test "$with_uuid" = ossp ; then -- AC_CHECK_HEADERS(ossp/uuid.h, -- [AC_EGREP_HEADER([uuid_export], ossp/uuid.h, [], -- [AC_MSG_ERROR([header file does not match OSSP UUID library])])], -+ AC_CHECK_HEADERS(ossp-uuid/uuid.h, -+ [AC_EGREP_HEADER([uuid_export], ossp-uuid/uuid.h, [], -+ [AC_MSG_ERROR([header file does not match OSSP UUID library])])], - [AC_CHECK_HEADERS(uuid.h, - [AC_EGREP_HEADER([uuid_export], uuid.h, [], - [AC_MSG_ERROR([header file does not match OSSP UUID library])])], -- [AC_MSG_ERROR([header file or is required for OSSP UUID])])]) -+ [AC_MSG_ERROR([header file or is required for OSSP UUID])])]) - fi - - if test "$PORTNAME" = "win32" ; then ---- postgresql-9.4.1/contrib/uuid-ossp/uuid-ossp.c.org 2015-03-23 10:41:24.000000000 +0100 -+++ postgresql-9.4.1/contrib/uuid-ossp/uuid-ossp.c 2015-03-23 10:54:29.403373571 +0100 -@@ -29,8 +29,8 @@ - #ifdef HAVE_UUID_H - #include - #endif --#ifdef HAVE_OSSP_UUID_H --#include -+#ifdef HAVE_OSSP_UUID_UUID_H -+#include - #endif - #ifdef HAVE_UUID_UUID_H - #include - diff --git a/postgresql.init b/postgresql.init index d3476e2..647f2ec 100644 --- a/postgresql.init +++ b/postgresql.init @@ -76,7 +76,7 @@ pgstatus() { output=$(LC_ALL=C TMPDIR=/tmp su postgres -c "/usr/bin/pg_ctl -D $1 status") status=$? - if [ $status -eq 1 ]; then + if [ $status -eq 3 ]; then PG_STATUS="not running" elif [ $status -eq 0 ]; then PG_STATUS="running" diff --git a/postgresql.spec b/postgresql.spec index 9b4cadf..64c4443 100644 --- a/postgresql.spec +++ b/postgresql.spec @@ -1,5 +1,6 @@ # 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) @@ -19,7 +20,7 @@ # %define beta %{nil} -%define mver 9.6 +%define mver 10 Summary: PostgreSQL Data Base Management System Summary(de.UTF-8): PostgreSQL Datenbankverwaltungssystem @@ -32,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}.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 @@ -45,12 +46,12 @@ Source3: %{name}.sysconfig 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 @@ -107,9 +108,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 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, @@ -763,10 +764,10 @@ Różne moduły dołączone do PostgreSQL-a. %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 @@ -797,8 +798,9 @@ 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} @@ -855,29 +857,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_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 @@ -910,7 +913,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" @@ -946,7 +949,7 @@ fi %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 @@ -956,14 +959,14 @@ fi %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 @@ -977,6 +980,7 @@ fi %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 @@ -1004,11 +1008,11 @@ fi %{_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* @@ -1089,14 +1093,12 @@ fi %{_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 @@ -1109,10 +1111,8 @@ fi %{_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* @@ -1145,9 +1145,7 @@ fi %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 @@ -1206,6 +1204,7 @@ fi %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 @@ -1223,16 +1222,21 @@ fi %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 @@ -1273,6 +1277,8 @@ fi %{_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 @@ -1285,10 +1291,37 @@ fi %{_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* -- 2.46.0