]> git.pld-linux.org Git - packages/postgresql.git/blobdiff - postgresql.spec
- fix old version detection in pre script
[packages/postgresql.git] / postgresql.spec
index 99490549fbb5398921f5e5b6355e64d97e9f4d9b..81080c954d32ede61429f5b8e6a0aba7912771cd 100644 (file)
@@ -19,7 +19,7 @@
 #
 
 %define beta %{nil}
-%define mver 9.3
+%define mver 9.4
 
 Summary:       PostgreSQL Data Base Management System
 Summary(de.UTF-8):     PostgreSQL Datenbankverwaltungssystem
@@ -32,24 +32,26 @@ 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}.5
 Release:       1
 License:       BSD
 Group:         Applications/Databases
 Source0:       ftp://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: c003d871f712d4d3895956b028a96e74
+# Source0-md5: 8b2e3472a8dc786649b4d02d02e039a0
 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
 Patch5:                %{name}-heimdal.patch
+Patch6:                %{name}-ossp_uuid.patch
 URL:           http://www.postgresql.org/
 BuildRequires: autoconf
 BuildRequires: automake
@@ -59,7 +61,8 @@ BuildRequires:        docbook-dtd42-sgml
 BuildRequires: docbook-dtd42-xml
 BuildRequires: docbook-style-xsl
 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.1.10}
 BuildRequires: libtool
@@ -78,7 +81,7 @@ BuildRequires:        python-devel >= 1:2.3
 BuildRequires: python-modules >= 1:2.3
 %endif
 BuildRequires: readline-devel >= 4.2
-BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: rpmbuild(macros) >= 1.671
 %{?with_tcl:BuildRequires:     tcl-devel >= 8.4.3}
 %{?with_tests:BuildRequires:   tzdata}
 BuildRequires: zlib-devel
@@ -89,9 +92,10 @@ 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
@@ -105,9 +109,9 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                _ulibdir        /usr/lib
 
 # omitted contribs:
-# dummy_seclabel, pg_test_fsync, spi and test_parser - examples/tests
+# dummy_seclabel, pg_test_fsync, pg_test_timing, spi, test_parser, 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 pg_xlogdump pgbench pgcrypto pgrowlocks pgstattuple seg %{?with_selinux:sepgsql} sslinfo tablefunc unaccent uuid-ossp vacuumlo xml2
+%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_prewarm pg_standby pg_stat_statements pg_trgm pg_upgrade pg_upgrade_support pg_xlogdump pgbench pgcrypto pgrowlocks pgstattuple postgres_fdw seg %{?with_selinux:sepgsql} sslinfo tablefunc tcn unaccent uuid-ossp vacuumlo xml2
 
 %description
 PostgreSQL Data Base Management System (formerly known as Postgres,
@@ -331,20 +335,6 @@ California, Berkeley.
 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
@@ -778,6 +768,7 @@ Różne moduły dołączone do PostgreSQL-a.
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 
 # force rebuild of bison/flex files
 find src -name \*.l -o -name \*.y | xargs touch
@@ -788,6 +779,7 @@ find src -name \*.l -o -name \*.y | xargs touch
 %build
 %{__aclocal} -I config
 %{__autoconf}
+%{__autoheader}
 %configure \
        CFLAGS="%{rpmcflags} -DNEED_REENTRANT_FUNCS `uuid-config --cflags`" \
        --disable-rpath \
@@ -797,7 +789,6 @@ find src -name \*.l -o -name \*.y | xargs touch
        --enable-nls \
        --enable-thread-safety \
        %{?with_kerberos5:--with-gssapi} \
-       %{?with_kerberos5:--with-krb5} \
        %{?with_ldap:--with-ldap} \
        --with-openssl \
        --with-pam \
@@ -807,7 +798,7 @@ find src -name \*.l -o -name \*.y | xargs touch
        %{?with_python:--with-python} \
        %{?with_selinux:--with-selinux} \
        %{?with_tcl:--with-tcl --with-tclconfig=%{_ulibdir}} \
-       --with-ossp-uuid \
+       --with-uuid=ossp
 
 %{__make}
 
@@ -827,10 +818,11 @@ 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}
@@ -855,8 +847,9 @@ touch $RPM_BUILD_ROOT/var/log/pgsql
 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
@@ -891,6 +884,9 @@ mv $RPM_BUILD_ROOT{%{_datadir}/postgresql/contrib,%{_pgsqldir}}/sepgsql.sql
 
 install src/pl/plperl/ppport.h $RPM_BUILD_ROOT%{_includedir}/postgresql/server/
 
+# unpackaged contribs
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{pg_test_fsync,pg_test_timing}.1
+
 # package it...?  nah, why bother.
 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/doc/postgresql/html
 
@@ -908,7 +904,7 @@ fi
 foundold=0
 for pgdir in $PG_DB_CLUSTERS; do
        if [ -f $pgdir/PG_VERSION ]; then
-               if [ $(cat $pgdir/PG_VERSION) != '9.3' ]; then
+               if [ $(cat $pgdir/PG_VERSION) != '%{mver}' ]; then
                        echo "Found database(s) in older, incompatible format in cluster $pgdir."
                        foundold=1
                fi
@@ -945,18 +941,43 @@ fi
 %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
+
+       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
 
-%post upstart
-%upstart_post postgresql
+%postun
+%systemd_reload
 
-%postun upstart
-%upstart_postun postgresql
+%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
@@ -969,6 +990,10 @@ fi
 %doc COPYRIGHT README HISTORY doc/{bug.template,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
@@ -976,6 +1001,7 @@ fi
 %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_recvlogical
 %attr(755,root,root) %{_bindir}/pg_upgrade
 %attr(755,root,root) %{_bindir}/postgres
 %attr(755,root,root) %{_bindir}/postmaster
@@ -1018,25 +1044,10 @@ fi
 %{_mandir}/man1/pg_controldata.1*
 %{_mandir}/man1/pg_ctl.1*
 %{_mandir}/man1/pg_resetxlog.1*
+%{_mandir}/man1/pg_receivexlog.1*
+%{_mandir}/man1/pg_recvlogical.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)
@@ -1197,10 +1208,12 @@ fi
 %{_pgsqldir}/pgcrypto--*.sql
 %{_pgsqldir}/pgcrypto.control
 
+%if %{with selinux}
 %files module-sepgsql
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_pgmoduledir}/sepgsql.so
 %{_pgsqldir}/sepgsql.sql
+%endif
 
 %files module-tablefunc
 %defattr(644,root,root,755)
@@ -1242,11 +1255,14 @@ fi
 %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}/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}/unaccent.so
 %attr(755,root,root) %{_pgmoduledir}/uuid-ossp.so
 %{_pgsqldir}/adminpack--*.sql
@@ -1287,18 +1303,29 @@ fi
 %{_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}/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}/unaccent--*.sql
 %{_pgsqldir}/unaccent.control
 %{_pgsqldir}/uuid-ossp--*.sql
 %{_pgsqldir}/uuid-ossp.control
+%{_mandir}/man1/oid2name.1*
+%{_mandir}/man1/pg_archivecleanup.1*
+%{_mandir}/man1/pg_standby.1*
 %{_mandir}/man1/pg_xlogdump.1*
+%{_mandir}/man1/pgbench.1*
+%{_mandir}/man1/vacuumlo.1*
This page took 0.098724 seconds and 4 git commands to generate.