]> git.pld-linux.org Git - packages/postgresql.git/blobdiff - postgresql.spec
- updated libselinux version
[packages/postgresql.git] / postgresql.spec
index 1e58aa1c84b3277be3ab9a783f0ea4970ac9c997..bd64973c29a352a117731a19459c8528d8858942 100644 (file)
@@ -1,21 +1,23 @@
 # TODO:
-# - init scripts for pgclusters lb and replicate
+# - python 3 and python 2 subpackages?
+# - consider dns_sd/Bonjour support (--with-bonjour)
+# - think about pg_upgrade integration (sysconfig variable to allow upgrade from 8.3+ without dump/restore?)
+# - test init script (db initialization)
 #
 # Conditional build:
+%bcond_without tests                   # disable testing
+%bcond_without tcl                     # disable Tcl support
 %bcond_without kerberos5               # disable kerberos5 support
-%bcond_without python                  # disable Python support
 %bcond_without perl                    # disable Perl support
-%bcond_without tcl                     # disables Tcl support
-%bcond_without tests                   # disable testing
+%bcond_without python                  # disable Python support
+%bcond_without ldap                    # disable LDAP support
+%bcond_without selinux                 # sepgsql contrib module
 %bcond_with    absolute_dbpaths        # enable absolute paths to create database
                                        # (disabled by default because it is a security risk)
-%bcond_with    pgcluster               # enable pgcluster support
-# Fails tests because of cluster turned off:
-%if %{with pgcluster}
-%undefine       with_tests
-%endif
+#
 
-# NOTE: merge from POSTGRESQL_8_3 branch when 8.3 arrives
+%define beta %{nil}
+%define mver 9.2
 
 Summary:       PostgreSQL Data Base Management System
 Summary(de.UTF-8):     PostgreSQL Datenbankverwaltungssystem
@@ -28,37 +30,44 @@ Summary(tr.UTF-8):  Veri Tabanı Yönetim Sistemi
 Summary(uk.UTF-8):     PostgreSQL - система керування базами даних
 Summary(zh_CN.UTF-8):  PostgreSQL 客户端程序和库文件
 Name:          postgresql
-Version:       8.2.6
-%define        pgcluster_version       1.7.0rc7
+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: 17b9049b4fcad42ee95410833c1db228
+# Source0-md5: 1cc388988e69bf75c6b55d59070100f6
 Source1:       %{name}.init
 Source2:       pgsql-Database-HOWTO-html.tar.gz
 # Source2-md5: 5b656ddf1db41965761f85204a14398e
 Source3:       %{name}.sysconfig
+Source5:       %{name}.upstart
+Source6:       %{name}-instance.upstart
 Patch0:                %{name}-conf.patch
 Patch1:                %{name}-absolute_dbpaths.patch
-Patch3:                %{name}-ecpg_link.patch
-Patch4:                %{name}-ecpg-includedir.patch
-Patch5:                %{name}-pg_ctl-fix.patch
-Patch6:                %{name}-ac_version.patch
-# Sources from: http://ftp.man.poznan.pl/postgresql/projects/pgFoundry/pgcluster/
-Patch7:                %{name}-pgcluster-%{pgcluster_version}.patch
+Patch2:                %{name}-ecpg-includedir.patch
+Patch3:                %{name}-ac_version.patch
+Patch4:                %{name}-disable_horology_test.patch
+Patch5:                %{name}-heimdal.patch
 URL:           http://www.postgresql.org/
 BuildRequires: autoconf
 BuildRequires: automake
-#BuildRequires:        bison >= 1.875  not needed for releases
-BuildRequires: flex
+# not needed for releases... but fixes something in snapshot
+BuildRequires: bison >= 1.875
+BuildRequires: docbook-dtd42-sgml
+BuildRequires: docbook-dtd42-xml
+BuildRequires: docbook-style-xsl
+BuildRequires: flex >= 2.5.31
 BuildRequires: gettext-devel
-%{?with_kerberos5:BuildRequires:       krb5-devel}
+%{?with_kerberos5:BuildRequires:       heimdal-devel}
+%{?with_selinux:BuildRequires: libselinux-devel >= 2.0.99}
 BuildRequires: libtool
-BuildRequires: libxml2-devel
+BuildRequires: libxml2-devel >= 2.6.23
 BuildRequires: libxslt-devel
+BuildRequires: libxslt-progs
 BuildRequires: ncurses-devel >= 5.0
+%{?with_ldap:BuildRequires:    openldap-devel}
 BuildRequires: openssl-devel >= 0.9.7d
+BuildRequires: ossp-uuid-devel
 BuildRequires: pam-devel
 %{?with_perl:BuildRequires:    perl-devel}
 %if %{with python}
@@ -69,25 +78,35 @@ BuildRequires:      python-modules >= 1:2.3
 BuildRequires: readline-devel >= 4.2
 BuildRequires: rpmbuild(macros) >= 1.268
 %{?with_tcl:BuildRequires:     tcl-devel >= 8.4.3}
+%{?with_tests:BuildRequires:   tzdata}
 BuildRequires: zlib-devel
 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(pre): /usr/sbin/usermod
+Requires(triggerpostun):       /bin/id
+Requires(triggerpostun):       /usr/sbin/usermod
 Requires:      %{name}-clients = %{version}-%{release}
 Requires:      %{name}-libs = %{version}-%{release}
-Requires:      rc-scripts
+Requires:      rc-scripts >= 0.4.3.0
+Requires:      tzdata
+Obsoletes:     postgresql-module-plpgsql
+Obsoletes:     postgresql-module-tsearch2
 Obsoletes:     postgresql-server
 Obsoletes:     postgresql-test
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _pgmoduledir    %{_libdir}/postgresql
-%define                _pgsqldir       %{_datadir}/postgresql/contrib
+%define                _pgsqldir       %{_datadir}/postgresql/extension
 
 %define                _ulibdir        /usr/lib
 
+# omitted contribs:
+# dummy_seclabel, pg_test_fsync, spi and test_parser - 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
+
 %description
 PostgreSQL Data Base Management System (formerly known as Postgres,
 then as Postgres95).
@@ -310,6 +329,20 @@ 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
@@ -428,74 +461,6 @@ C++, Perl и Tcl) разделены. Этот пакет включает то
 Тепер пакети з бібліотеками для різних мов програмування (C, C++, Perl
 і Tcl) розділені. Цей пакет містить тільки бібліотеки для мови C.
 
-%if %{with pgcluster}
-%package lb
-Summary:       PGCluster - synchronous replication system of the multi-master composition for PostgreSQL
-Group:         Applications/Databases
-Requires:      %{name}-libs = %{version}-%{release}
-Requires:      pgcluster = %{pgcluster_version}
-Provides:      pgcluster-lb = %{pgcluster_version}
-
-%description lb
-PGCluster is the synchronous replication system of the multi-master
-composition for PostgreSQL.
-
-PGCluster is the replication system of the query base using
-PostgreSQL.
-
-- Since a replication system is a synchronous replication, delay does
-  not occur with the data duplicate between the Cluster DBs.
-- Since a server is multi-master composition, two or more the Cluster
-  DBs can receive access from a user simultaneously.
-
-PGCluster consists of three kinds of servers, a load balancer, Cluster
-DB, and a replication server.
-
-%package replicate
-Summary:       PGCluster - synchronous replication system of the multi-master composition for PostgreSQL
-Group:         Applications/Databases
-Requires:      %{name}-libs = %{version}-%{release}
-Requires:      pgcluster = %{pgcluster_version}
-Provides:      pgcluster-replicate = %{pgcluster_version}
-
-%description replicate
-PGCluster is the synchronous replication system of the multi-master
-composition for PostgreSQL.
-
-PGCluster is the replication system of the query base using
-PostgreSQL.
-
-- Since a replication system is a synchronous replication, delay does
-  not occur with the data duplicate between the Cluster DBs.
-- Since a server is multi-master composition, two or more the Cluster
-  DBs can receive access from a user simultaneously.
-
-PGCluster consists of three kinds of servers, a load balancer, Cluster
-DB, and a replication server.
-
-%package replicate-tools
-Summary:       PGCluster - synchronous replication system of the multi-master composition for PostgreSQL
-Group:         Applications/Databases
-Requires:      %{name}-libs = %{version}-%{release}
-Requires:      pgcluster = %{pgcluster_version}
-Provides:      pgcluster-replicate = %{pgcluster_version}
-
-%description replicate-tools
-PGCluster is the synchronous replication system of the multi-master
-composition for PostgreSQL.
-
-PGCluster is the replication system of the query base using
-PostgreSQL.
-
-- Since a replication system is a synchronous replication, delay does
-  not occur with the data duplicate between the Cluster DBs.
-- Since a server is multi-master composition, two or more the Cluster
-  DBs can receive access from a user simultaneously.
-
-PGCluster consists of three kinds of servers, a load balancer, Cluster
-DB, and a replication server.
-%endif
-
 %package doc
 Summary:       Documentation for PostgreSQL
 Summary(pl.UTF-8):     Dodatkowa dokumantacja dla PostgreSQL
@@ -516,7 +481,6 @@ 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
-%{?with_pgcluster:Provides:    pgcluster = %{pgcluster_version}}
 
 %description libs
 PostgreSQL shared libraries.
@@ -591,46 +555,11 @@ PostgreSQL.
 Це окремий пакет зі статичними бібліотеками, які більш не входять в
 %{name}-devel.
 
-%package module-plpgsql
-Summary:       PL/pgSQL - PostgreSQL procedural language
-Summary(pl.UTF-8):     PL/pgSQL - język proceduralny bazy danych PostgreSQL
-Group:         Applications/Databases
-Requires:      %{name} = %{version}-%{release}
-
-%description module-plpgsql
-From PostgreSQL documentation:
-
-Postgres supports the definition of procedural languages. In the case
-of a function or trigger procedure defined in a procedural language,
-the database has no built-in knowledge about how to interpret the
-function's source text. Instead, the task is passed to a handler that
-knows the details of the language. The handler itself is a special
-programming language function compiled into a shared object and loaded
-on demand.
-
-To enable PL/pgSQL procedural language for your database you have to
-run createlang command.
-
-%description module-plpgsql -l pl.UTF-8
-Z dokumentacji PostgreSQL:
-
-Postgres ma wsparcie dla języków proceduralnych. W przypadku, kiedy
-programista zdefiniuje procedurę wyzwalacza lub funkcję w języku
-proceduralnym, baza danych nie ma pojęcia jak interpretować tego typu
-funkcję. Funkcja lub procedura ta jest przekazywana do interpretera,
-który wie jak ją wykonać. Interpreter jest odpowiednią, specjalną
-funkcją, która jest skompilowana w obiekt dzielony i ładowany w razie
-potrzeby.
-
-Za pomocą polecenia createlang można dodać obsługę języka
-proceduralnego PL/pgSQL dla swojej bazy danych.
-
 %package module-plperl
 Summary:       PL/perl - PostgreSQL procedural language
 Summary(pl.UTF-8):     PL/perl - język proceduralny bazy danych PostgreSQL
 Group:         Applications/Databases
 Requires:      %{name} = %{version}-%{release}
-Requires:      perl(DynaLoader) = %(%{__perl} -MDynaLoader -e 'print DynaLoader->VERSION')
 
 %description module-plperl
 From PostgreSQL documentation:
@@ -759,6 +688,20 @@ Moduł Large Objects dla PostgreSQL-a dodaje nowy typ danych 'lo',
 kilka funkcji pomocniczych i wyzwalacz rozwiązujący problem
 osieroconych obiektów.
 
+%package module-pg_trgm
+Summary:       Trigram matching for PostgreSQL
+Summary(pl.UTF-8):     Dopasowanie trigramowe dla PostgreSQL-a
+Group:         Applications/Databases
+Requires:      %{name} = %{version}-%{release}
+
+%description module-pg_trgm
+This module provides functions and index classes for determining the
+similarity of text based on trigram matching.
+
+%description module-pg_trgm -l pl.UTF-8
+Ten moduł dostarcza funkcje i klasy do rozpoznawania podobnych tekstów
+w oparciu o dopasowywanie trigramowe (trigram matching).
+
 %package module-pgcrypto
 Summary:       Cryptographic functions for PostgreSQL
 Summary(pl.UTF-8):     Funkcje kryptograficzne dla PostgreSQL-a
@@ -771,6 +714,19 @@ Cryptographic functions for PostgreSQL.
 %description module-pgcrypto -l pl.UTF-8
 Funkcje kryptograficzne dla PostgreSQL.
 
+%package module-sepgsql
+Summary:       PostgreSQL external security provider using SELinux
+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
+
+%description module-sepgsql
+PostgreSQL external security provider using SELinux.
+
+%description module-sepgsql -l pl.UTF-8
+Zewnętrzny moduł bezpieczeństwa PostgreSQL-a wykorzystujący SELinuksa.
+
 %package module-tablefunc
 Summary:       crosstab functions for PostgreSQL
 Summary(pl.UTF-8):     Funkcje crosstab dla PostgreSQL-a
@@ -783,37 +739,6 @@ crosstab functions for PostgreSQL.
 %description module-tablefunc -l pl.UTF-8
 Funkcje crosstab dla PostgreSQL-a.
 
-%package module-tsearch2
-Summary:       Full text extension for PostgreSQL
-Summary(pl.UTF-8):     Rozszerzenie pełnotekstowe dla PostgreSQL-a
-Group:         Applications/Databases
-Requires:      %{name} = %{version}-%{release}
-
-%description module-tsearch2
-Implementation of a new data type tsvector - a searchable data type
-with indexed access:
-http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/
-
-%description module-tsearch2 -l pl.UTF-8
-Implementacja nowego typu danych tsvector - typu danych podlegającego
-przeszukiwaniu z dostępem poprzez indeksy:
-http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/
-
-%package module-pg_trgm
-Summary:       Trigram matching for PostgreSQL
-Summary(pl.UTF-8):     Dopasowanie trigramowe dla PostgreSQL-a
-Group:         Applications/Databases
-Requires:      %{name} = %{version}-%{release}
-
-%description module-pg_trgm
-This module provides functions and index classes for determining the
-similarity of text based on trigram matching.
-
-%description module-pg_trgm -l pl.UTF-8
-Ten moduł dostarcza funkcje i klasy do rozpoznawania podobnych tekstów
-w oparciu o dopasowywanie trigramowe (trigram matching).
-
-
 %package module-xml2
 Summary:       XML-handling functions for PostgreSQL
 Summary(pl.UTF-8):     Funkcje do obsługi XML-a dla PostgreSQL-a
@@ -830,20 +755,29 @@ Moduł z funkcjami XML zapewniającymi obsługę zapytań XPath oraz
 funkcjonalność XSLT. Jest także nowa funkcja tabelowa pozwalająca na
 bezpośrednie zwracanie wielu wyników XML.
 
+%package contrib
+Summary:       Miscellaneous PostgreSQL contrib modules
+Summary(pl.UTF-8):     Różne moduły dołączone do PostgreSQL-a
+Group:         Applications/Databases
+Requires:      %{name} = %{version}-%{release}
+
+%description contrib
+Miscellaneous PostgreSQL contrib modules.
+
+%description contrib -l pl.UTF-8
+Różne moduły dołączone do PostgreSQL-a.
+
 %prep
 %setup -q
 %patch0 -p1
 %{?with_absolute_dbpaths:%patch1 -p1}
+%patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
-%patch6 -p1
-%{?with_pgcluster:%patch7 -p1}
-
-tar xzf doc/man*.tar.gz
 
-mkdir doc/unpacked
-tar zxf doc/postgres.tar.gz -C doc/unpacked
+# force rebuild of bison/flex files
+find src -name \*.l -o -name \*.y | xargs touch
 
 # Erase all CVS dirs
 #find contrib -type d -name CVS -exec rm -rf {} \;
@@ -852,38 +786,45 @@ tar zxf doc/postgres.tar.gz -C doc/unpacked
 %{__aclocal} -I config
 %{__autoconf}
 %configure \
-       CFLAGS="%{rpmcflags} -DNEED_REENTRANT_FUNCS" \
+       CFLAGS="%{rpmcflags} -DNEED_REENTRANT_FUNCS `uuid-config --cflags`" \
        --disable-rpath \
        --enable-depend \
        --enable-integer-datetimes \
+       --with-system-tzdata=%{_datadir}/zoneinfo \
        --enable-nls \
        --enable-thread-safety \
+       %{?with_kerberos5:--with-gssapi} \
        %{?with_kerberos5:--with-krb5} \
+       %{?with_ldap:--with-ldap} \
        --with-openssl \
        --with-pam \
+       --with-libxml \
+       --with-libxslt \
        %{?with_perl:--with-perl} \
        %{?with_python:--with-python} \
+       %{?with_selinux:--with-selinux} \
        %{?with_tcl:--with-tcl --with-tclconfig=%{_ulibdir}} \
-       --without-docdir
+       --with-ossp-uuid \
 
 %{__make}
-%{__make} -C contrib/dblink
-%{__make} -C contrib/lo
-%{__make} -C contrib/pgcrypto
-%{__make} -C contrib/tablefunc
-%{__make} -C contrib/tsearch2
-%{__make} -C contrib/pg_trgm
-%{__make} -C contrib/xml2
+
+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
+
 %{__make} -C src/tutorial \
        NO_PGXS=1
 
 %ifnarch sparc sparcv9 sparc64 alpha
-%{?with_tests:%{__make} check}
+%{?with_tests:%{__make} -j1 check}
 %endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig,init/%{name}}} \
        $RPM_BUILD_ROOT{/var/{lib/pgsql,log},%{_pgsqldir}} \
        $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
        $RPM_BUILD_ROOT%{_mandir} \
@@ -893,59 +834,63 @@ install src/tutorial/*.sql $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
+%{__make} -C doc/src/sgml install-man \
+       DESTDIR=$RPM_BUILD_ROOT
 
 %if %{with perl}
 %{__make} install -C src/pl/plperl \
        DESTDIR=$RPM_BUILD_ROOT
 %endif
 
-%{__make} -C contrib/dblink install \
-       DESTDIR=$RPM_BUILD_ROOT
-
-%{__make} -C contrib/lo install \
-       DESTDIR=$RPM_BUILD_ROOT
-
-%{__make} -C contrib/pgcrypto install \
-       DESTDIR=$RPM_BUILD_ROOT
-
-%{__make} -C contrib/tablefunc install \
-       DESTDIR=$RPM_BUILD_ROOT
-
-%{__make} -C contrib/tsearch2 install \
-       DESTDIR=$RPM_BUILD_ROOT
-
-%{__make} -C contrib/pg_trgm install \
-       DESTDIR=$RPM_BUILD_ROOT
-
-%{__make} -C contrib/xml2 install \
-       DESTDIR=$RPM_BUILD_ROOT
+for mod in %{contrib_modules}; do \
+       %{__make} -C contrib/$mod install \
+               DESTDIR=$RPM_BUILD_ROOT
+done
 
 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 -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 libpq pg_controldata pg_dump pg_resetxlog pgscripts postgres psql initdb pg_ctl pg_config; do
-       %find_lang $f
+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
+       %find_lang $f-%{mver}
 done
 # merge locales
-cat pgscripts.lang pg_resetxlog.lang postgres.lang pg_controldata.lang > main.lang
-cat pg_dump.lang psql.lang initdb.lang pg_ctl.lang > clients.lang
-
-# Remove Contrib documentation. We use macro %doc
-rm -rf $RPM_BUILD_ROOT/contrib
+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
 
+%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
+%endif
 
 install 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
 
@@ -960,7 +905,7 @@ fi
 foundold=0
 for pgdir in $PG_DB_CLUSTERS; do
        if [ -f $pgdir/PG_VERSION ]; then
-               if [ `cat $pgdir/PG_VERSION` != '8.2' ]; then
+               if [ $(cat $pgdir/PG_VERSION) != '9.2' ]; then
                        echo "Found database(s) in older, incompatible format in cluster $pgdir."
                        foundold=1
                fi
@@ -973,9 +918,12 @@ if [ "$foundold" = "1" ]; then
        echo "restore all data (using pg_restore or psql)."
        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
        echo "Warning for upgrade from version *before* 7.2."
        echo "Please note, that postgresql module path changed from"
-       echo "/usr/lib/pgsql/module to /usr/lib/postgresql. Change the path"
+       echo "%{_libdir}/pgsql/module to %{_libdir}/postgresql. Change the path"
        echo "in dump file before restore."
        echo
        echo "Warning for upgrade from version *before* 7.3."
@@ -983,10 +931,10 @@ if [ "$foundold" = "1" ]; then
        echo "http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3"
        exit 1
 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
 if [ -n "`/bin/id -u postgres 2>/dev/null`" ]; then
        /usr/sbin/usermod -d /home/services/postgres postgres
 fi
@@ -1001,33 +949,51 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del postgresql
 fi
 
+%post upstart
+%upstart_post postgresql
+
+%postun upstart
+%upstart_postun postgresql
+
 %post  libs -p /sbin/ldconfig
 %postun        libs -p /sbin/ldconfig
 
 %post  ecpg -p /sbin/ldconfig
 %postun        ecpg -p /sbin/ldconfig
 
-%files -f main.lang
+%files -f main-%{mver}.lang
 %defattr(644,root,root,755)
-%doc COPYRIGHT README HISTORY doc/{FAQ*,README*,bug.template}
+%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
 
 %attr(755,root,root) %{_bindir}/initdb
-%attr(755,root,root) %{_bindir}/ipcclean
+%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_upgrade
 %attr(755,root,root) %{_bindir}/postgres
 %attr(755,root,root) %{_bindir}/postmaster
 
-%attr(755,root,root) %{_pgmoduledir}/ascii*
-%attr(755,root,root) %{_pgmoduledir}/cyrillic*
-%attr(755,root,root) %{_pgmoduledir}/euc*
-%attr(755,root,root) %{_pgmoduledir}/latin*
-%attr(755,root,root) %{_pgmoduledir}/utf*
+%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}/dict_xsyn.so
+%attr(755,root,root) %{_pgmoduledir}/euc*.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}/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
@@ -1035,41 +1001,60 @@ fi
 %{_datadir}/postgresql/*.shdescription
 %{_datadir}/postgresql/*.sql
 %{_datadir}/postgresql/*.txt
-%{_datadir}/postgresql/timezone
 %{_datadir}/postgresql/timezonesets
+%{_datadir}/postgresql/tsearch_data
+
+%dir %{_datadir}/postgresql/contrib
 
 %attr(700,postgres,postgres) /home/services/postgres
 %attr(700,postgres,postgres) %dir /var/lib/pgsql
 %attr(640,postgres,postgres) %config(noreplace) %verify(not md5 mtime size) /var/log/pgsql
 
 %{_mandir}/man1/initdb.1*
-%{_mandir}/man1/ipcclean.1*
+%{_mandir}/man1/pg_basebackup.1*
 %{_mandir}/man1/pg_controldata.1*
 %{_mandir}/man1/pg_ctl.1*
 %{_mandir}/man1/pg_resetxlog.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)
-%doc doc/unpacked/* doc/src/FAQ howto
+%doc doc/src/sgml/html howto
 %{_examplesdir}/%{name}-%{version}
 
-%files libs -f libpq.lang
+%files libs -f libpq5-%{mver}.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libpq.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libpq.so.5
 %dir %{_pgmoduledir}
 
-%files ecpg
+%files ecpg -f ecpg.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/ecpg
 %attr(755,root,root) %{_libdir}/libecpg.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libecpg.so.5
+%attr(755,root,root) %ghost %{_libdir}/libecpg.so.6
 %attr(755,root,root) %{_libdir}/libecpg_compat.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libecpg_compat.so.2
+%attr(755,root,root) %ghost %{_libdir}/libecpg_compat.so.3
 %attr(755,root,root) %{_libdir}/libpgtypes.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpgtypes.so.2
+%attr(755,root,root) %ghost %{_libdir}/libpgtypes.so.3
 %{_mandir}/man1/ecpg.1*
 
 %files ecpg-devel
@@ -1079,11 +1064,12 @@ fi
 %attr(755,root,root) %{_libdir}/libpgtypes.so
 %{_includedir}/ecpg*
 
-%files devel -f pg_config.lang
+%files devel -f pg_config-%{mver}.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/pg_config
 %attr(755,root,root) %{_libdir}/libpq.so
 %dir %{_includedir}/postgresql
+%{_includedir}/libpq-events.h
 %{_includedir}/libpq-fe.h
 %{_includedir}/pg_config.h
 %{_includedir}/pg_config_manual.h
@@ -1105,6 +1091,7 @@ fi
 %dir %{_pgmoduledir}/pgxs
 %attr(755,root,root) %{_pgmoduledir}/pgxs/config
 %{_pgmoduledir}/pgxs/src
+%{_mandir}/man3/SPI_*.3*
 
 %files static
 %defattr(644,root,root,755)
@@ -1114,7 +1101,7 @@ fi
 %{_libdir}/libpgtypes.a
 %{_libdir}/libpgport.a
 
-%files clients -f clients.lang
+%files clients -f clients-%{mver}.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/clusterdb
 %attr(755,root,root) %{_bindir}/createdb
 %{_mandir}/man1/pg_dump.1*
 %{_mandir}/man1/pg_dumpall.1*
 %{_mandir}/man1/pg_restore.1*
+%{_mandir}/man1/pg_upgrade.1.gz
 %{_mandir}/man1/psql.1*
 %{_mandir}/man1/reindexdb.1*
 %{_mandir}/man1/vacuumdb.1*
 %{_mandir}/man7/*.7*
 
-%if %{with pgcluster}
-%files lb
-%defattr(644,root,root,755)
-%doc INSTALL_PGCLUSTER src/pgcluster/pglb/AUTHORS src/pgcluster/pglb/pglb.conf.sample
-%attr(755,root,root) %{_bindir}/pglb
-
-%files replicate
-%defattr(644,root,root,755)
-%doc INSTALL_PGCLUSTER src/pgcluster/pgrp/AUTHORS src/pgcluster/pgrp/pgreplicate.conf.sample
-%attr(755,root,root) %{_bindir}/pgreplicate
-
-%files replicate-tools
-%defattr(644,root,root,755)
-%doc src/pgcluster/tool/pgcbench.sh src/pgcluster/tool/README.jp src/pgcluster/tool/tpc-b_like.sql
-%attr(755,root,root) %{_bindir}/pgcbench
-%endif
-
-%files module-plpgsql
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_pgmoduledir}/plpgsql.so
-
 %if %{with perl}
-%files module-plperl
+%files module-plperl -f plperl-%{mver}.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_pgmoduledir}/plperl.so
+%{_pgsqldir}/plperl--*.sql
+%{_pgsqldir}/plperl.control
+%{_pgsqldir}/plperlu--*.sql
+%{_pgsqldir}/plperlu.control
 %endif
 
 %if %{with python}
-%files module-plpython
+%files module-plpython -f plpython-%{mver}.lang
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_pgmoduledir}/plpython.so
+%attr(755,root,root) %{_pgmoduledir}/plpython2.so
+%{_pgsqldir}/plpython*--*.sql
+%{_pgsqldir}/plpython*.control
 %endif
 
 %if %{with tcl}
-%files module-pltcl
+%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)
-%doc contrib/dblink/README.dblink
 %attr(755,root,root) %{_pgmoduledir}/dblink.so
-%{_pgsqldir}/*dblink.sql
+%{_pgsqldir}/dblink--*.sql
+%{_pgsqldir}/dblink.control
+%{_mandir}/man3/dblink*.3*
 
 %files module-lo
 %defattr(644,root,root,755)
-%doc contrib/lo/README.lo
 %attr(755,root,root) %{_pgmoduledir}/lo.so
-%{_pgsqldir}/*lo.sql
+%{_pgsqldir}/lo--*.sql
+%{_pgsqldir}/lo.control
+
+%files module-pg_trgm
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_pgmoduledir}/pg_trgm.so
+%{_pgsqldir}/pg_trgm--*.sql
+%{_pgsqldir}/pg_trgm.control
 
 %files module-pgcrypto
 %defattr(644,root,root,755)
-%doc contrib/pgcrypto/README*
 %attr(755,root,root) %{_pgmoduledir}/pgcrypto.so
-%{_pgsqldir}/*pgcrypto.sql
+%{_pgsqldir}/pgcrypto--*.sql
+%{_pgsqldir}/pgcrypto.control
+
+%files module-sepgsql
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_pgmoduledir}/sepgsql.so
+%{_pgsqldir}/sepgsql.sql
 
 %files module-tablefunc
 %defattr(644,root,root,755)
-%doc contrib/tablefunc/README.tablefunc
 %attr(755,root,root) %{_pgmoduledir}/tablefunc.so
-%{_pgsqldir}/*tablefunc.sql
+%{_pgsqldir}/*tablefunc--*.sql
+%{_pgsqldir}/*tablefunc.control
 
-%files module-tsearch2
+%files module-xml2
 %defattr(644,root,root,755)
-%doc contrib/tsearch2/README*
-%attr(755,root,root) %{_pgmoduledir}/tsearch2.so
-%{_pgsqldir}/*tsearch2.sql
-%{_pgsqldir}/russian.stop.utf8
-%{_pgsqldir}/thesaurus
-%{_pgsqldir}/*.stop
+%attr(755,root,root) %{_pgmoduledir}/pgxml.so
+%{_pgsqldir}/xml2--*.sql
+%{_pgsqldir}/xml2.control
 
-%files module-pg_trgm
+%files contrib
 %defattr(644,root,root,755)
-%doc contrib/pg_trgm/README*
-%attr(755,root,root) %{_pgmoduledir}/pg_trgm.so
-%{_pgsqldir}/*pg_trgm.sql
+%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}/auth_delay.so
+%attr(755,root,root) %{_pgmoduledir}/auto_explain.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}/file_fdw.so
+%attr(755,root,root) %{_pgmoduledir}/fuzzystrmatch.so
+%attr(755,root,root) %{_pgmoduledir}/hstore.so
+%attr(755,root,root) %{_pgmoduledir}/isn.so
+%attr(755,root,root) %{_pgmoduledir}/ltree.so
+%attr(755,root,root) %{_pgmoduledir}/pageinspect.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_stat_statements.so
+%attr(755,root,root) %{_pgmoduledir}/pgrowlocks.so
+%attr(755,root,root) %{_pgmoduledir}/pgstattuple.so
+%attr(755,root,root) %{_pgmoduledir}/seg.so
+%attr(755,root,root) %{_pgmoduledir}/sslinfo.so
+%attr(755,root,root) %{_pgmoduledir}/unaccent.so
+%attr(755,root,root) %{_pgmoduledir}/uuid-ossp.so
+%{_pgsqldir}/adminpack--*.sql
+%{_pgsqldir}/adminpack.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}/cube.control
+%{_pgsqldir}/dict_int--*.sql
+%{_pgsqldir}/dict_int.control
+%{_pgsqldir}/dict_xsyn--*.sql
+%{_pgsqldir}/dict_xsyn.control
+%{_pgsqldir}/earthdistance--*.sql
+%{_pgsqldir}/earthdistance.control
+%{_pgsqldir}/file_fdw--*.sql
+%{_pgsqldir}/file_fdw.control
+%{_pgsqldir}/fuzzystrmatch--*.sql
+%{_pgsqldir}/fuzzystrmatch.control
+%{_pgsqldir}/hstore--*.sql
+%{_pgsqldir}/hstore.control
+%{_pgsqldir}/intarray--*.sql
+%{_pgsqldir}/intarray.control
+%{_pgsqldir}/intagg--*.sql
+%{_pgsqldir}/intagg.control
+%{_pgsqldir}/isn--*.sql
+%{_pgsqldir}/isn.control
+%{_pgsqldir}/ltree--*.sql
+%{_pgsqldir}/ltree.control
+%{_pgsqldir}/pageinspect--*.sql
+%{_pgsqldir}/pageinspect.control
+%{_pgsqldir}/pg_buffercache--*.sql
+%{_pgsqldir}/pg_buffercache.control
+%{_pgsqldir}/pg_freespacemap--*.sql
+%{_pgsqldir}/pg_freespacemap.control
+%{_pgsqldir}/pg_stat_statements--*.sql
+%{_pgsqldir}/pg_stat_statements.control
+%{_pgsqldir}/pgrowlocks--*.sql
+%{_pgsqldir}/pgrowlocks.control
+%{_pgsqldir}/pgstattuple--*.sql
+%{_pgsqldir}/pgstattuple.control
+%{_pgsqldir}/seg--*.sql
+%{_pgsqldir}/seg.control
+%{_pgsqldir}/sslinfo--*.sql
+%{_pgsqldir}/sslinfo.control
+%{_pgsqldir}/unaccent--*.sql
+%{_pgsqldir}/unaccent.control
+%{_pgsqldir}/uuid-ossp--*.sql
+%{_pgsqldir}/uuid-ossp.control
 
-%files module-xml2
-%defattr(644,root,root,755)
-%doc contrib/xml2/README*
-%attr(755,root,root) %{_pgmoduledir}/pgxml.so
-%{_pgsqldir}/*pgxml.sql
This page took 0.075722 seconds and 4 git commands to generate.