]> git.pld-linux.org Git - packages/postgresql.git/blobdiff - postgresql.spec
- fixed installation of contrib SQL files
[packages/postgresql.git] / postgresql.spec
index c6600cc79ba2210c34b32d81c9b5f408f4fa0df2..ae9cc83379c969d3479e1306e02f4fefce38a5ad 100644 (file)
@@ -1,17 +1,23 @@
 #
-# todo:
-# - support for multiple db clusters (implies postgresql.init and
-#   postgresql.sysconfig simplifications)
-# - fix postgresql-configure.patch (it puts html doc into /usr/share/info
+# - pg_autovacuum init support? look at its readme file, please
+# - pg_ctl uses psql again, current patch2 doesn't eliminate this
+# - remove postgresql-configure patch and create postgresql-doc patch,
+#   which will prevent documentation and manuals installation (the routine
+#   is bad and we install docs and mans manually, at all) or create good
+#   routine and send it to postgresql team...
 #
 # Conditional build:
-# _with_jdbc           - with JDBC driver
-#
+%bcond_without  tests                  # disable testing
+%bcond_without tcl                     # disables Tcl support
+%bcond_without kerberos5               # disable kerberos5 support
+%bcond_without perl                    # disable perl support
+%bcond_without python                  # disable python support
+%bcond_with            jdbc                    # enable JDBC driver
+%bcond_with    absolute_dbpaths        # enable absolute paths to create database
+                                                               # (disabled by default because it is a security risk)
 
 %include       /usr/lib/rpm/macros.python
-
-%define relc rc2
-
 Summary:       PostgreSQL Data Base Management System
 Summary(de):   PostgreSQL Datenbankverwaltungssystem
 Summary(es):   Gestor de Banco de Datos PostgreSQL
@@ -23,41 +29,53 @@ Summary(tr):        Veri Taban
 Summary(uk):   PostgreSQL - ÓÉÓÔÅÍÁ ËÅÒÕ×ÁÎÎÑ ÂÁÚÁÍÉ ÄÁÎÉÈ
 Summary(zh_CN):        PostgreSQL ¿Í»§¶Ë³ÌÐòºÍ¿âÎļþ
 Name:          postgresql
-Version:       7.3
-Release:       0.2.%{relc}
+Version:       7.4
+Release:       0.9
 License:       BSD
 Group:         Applications/Databases
-Source0:       ftp://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}%{relc}.tar.gz
+##Source0:     ftp://ftp.postgresql.org/pub/source/v%{version}/%{name}-%{version}.tar.bz2
+Source0:       ftp://ftp2.pl.postgresql.org/mirrors/ftp.postgresql.org/source/v%{version}/%{name}-%{version}.tar.bz2
+# Source0-md5: 9db7432c431d1570b1f605727daf27bc
 Source1:       %{name}.init
 Source2:       pgsql-Database-HOWTO-html.tar.gz
+# Source2-md5: 5b656ddf1db41965761f85204a14398e
 Source3:       %{name}.sysconfig
 Patch0:                %{name}-configure.patch
 Patch1:                %{name}-pg_ctl-silent.patch
 Patch2:                %{name}-pg_ctl-nopsql.patch
+Patch3:                %{name}-conf.patch
+Patch4:                %{name}-absolute_dbpaths.patch
+Patch5:                %{name}-link.patch
+Patch6:                %{name}-com_err.patch
+Patch7:                %{name}-ecpg_link.patch
+Patch8:                %{name}-ecpg-includedir.patch
+Patch9:                %{name}-contrib_install.patch
 Icon:          postgresql.xpm
 URL:           http://www.postgresql.org/
 BuildRequires: autoconf
 BuildRequires: automake
+BuildRequires: bison >= 1.875
+%{?with_kerberos5:BuildRequires:       heimdal-devel}
 BuildRequires: ncurses-devel >= 5.0
-BuildRequires: openssl-devel >= 0.9.6a
-BuildRequires: perl-devel
-BuildRequires: python-devel >= 2.2.1
+BuildRequires: openssl-devel >= 0.9.7c
+BuildRequires: pam-devel
+%{?with_perl:BuildRequires:    perl-devel}
+%{?with_python:BuildRequires:  python-devel >= 2.3}
 BuildRequires: readline-devel >= 4.2
 BuildRequires: rpm-pythonprov
-BuildRequires: tcl-devel >= 8.3.2
-BuildRequires: tk-devel >= 8.3.2
-BuildRequires: XFree86-devel
+%{?with_tcl:BuildRequires:     tcl-devel >= 8.4.3}
+%{?with_tcl:BuildRequires:     tk-devel >= 8.4.3}
 BuildRequires: zlib-devel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-Prereq:                /sbin/chkconfig
-Prereq:                rc-scripts
-Prereq:                %{name}-clients = %{version}
-Prereq:                %{name}-libs = %{version}
+PreReq:                rc-scripts
+PreReq:                %{name}-clients = %{version}
+PreReq:                %{name}-libs = %{version}
 Requires(pre): /usr/bin/getgid
 Requires(pre): /bin/id
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
 Requires(pre): /usr/sbin/usermod
+Requires(post,preun):  /sbin/chkconfig
 Obsoletes:     postgresql-server
 Obsoletes:     postgresql-test
 
@@ -403,34 +421,6 @@ C++, PERL 
 ôÅÐÅÒ ÐÁËÅÔɠڠ¦Â̦ÏÔÅËÁÍÉ ÄÌÑ Ò¦ÚÎÉÈ ÍÏ× ÐÒÏÇÒÁÍÕ×ÁÎÎÑ (C, C++, PERL
 ¦ TCL) ÒÏÚĦÌÅΦ. ãÅÊ ÐÁËÅԠͦÓÔÉÔØ Ô¦ÌØËɠ¦Â̦ÏÔÅËÉ ÄÌÑ ÍÏ×É C.
 
-%package -n python-postgresql
-Summary:       The python-based client programs needed for accessing a PostgreSQL server
-Summary(es):   Módulo Python para acceder un servidor PostgreSQL
-Summary(pl):   Programy klienckie do dostêpu do serwera PostgreSQL napisane w Pythonie
-Summary(pt_BR):        Módulo Python para acesso ao servidor PostgreSQL
-Summary(zh_CN):        Python ³ÌÐò·ÃÎÊ PostgreSQL Êý¾Ý¿âËùÐèµÄ¿ª·¢Ä£¿é
-Group:         Libraries/Python
-Requires:      python >= 2.0
-Requires:      python-mx-DateTime
-Requires:      %{name}-libs = %{version}
-Obsoletes:     python-PyGreSQL
-Obsoletes:     postgresql-python
-
-%description -n python-postgresql
-postgresql-python includes the python-based client programs and client
-libraries that you'll need to access a PostgreSQL database management
-system server.
-
-%description -n python-postgresql -l es
-Módulo Python para acceder un servidor PostgreSQL
-
-%description -n python-postgresql -l pl
-Pakiet ten zawiera napisane w Pythonie programy i biblioteki klienckie
-do dostêpu do serwera baz danych PostgreSQL.
-
-%description -n python-postgresql -l pt_BR
-Módulo Python para acesso ao servidor PostgreSQL.
-
 %package doc
 Summary:       Documentation for PostgreSQL
 Summary(pl):   Dodatkowa dokumantacja dla PostgreSQL
@@ -449,7 +439,7 @@ Summary:    PostgreSQL libraries
 Summary(es):   Biblioteca compartida del PostgreSQL
 Summary(pl):   Biblioteki dzielone programu PostgreSQL
 Summary(pt_BR):        Biblioteca compartilhada do PostgreSQL
-Summary(zh_CN):        PostgreSQL ¿Í»§ËùÐèÒªµÄ¹²Ïí¿â.
+Summary(zh_CN):        PostgreSQL ¿Í»§ËùÐèÒªµÄ¹²Ïí¿â
 Group:         Libraries
 
 %description libs
@@ -457,22 +447,45 @@ PostgreSQL shared libraries.
 
 %description libs -l es
 Este paquete contiene la biblioteca compartida para acceso al
-postgresql.
+PostgreSQL.
 
 %description libs -l pl
 Biblioteki dzielone programu PostgreSQL.
 
 %description libs -l pt_BR
 Este pacote contém a biblioteca compartilhada para acesso ao
-postgresql.
+PostgreSQL.
+
+%package ecpg
+Summary:       Embedded SQL in C interface
+Summary(pl):   Interfejs wbudowanego SQL-a w jêzyk C
+Group:         Libraries
+
+%description ecpg
+Embedded SQL in C interface.
+
+%description ecpg -l pl
+Interfejs wbudowanego SQL-a w jêzyk C.
+
+%package ecpg-devel
+Summary:       Embedded SQL in C interface files
+Summary(pl):   Pliki programistyczne interfejsu wbudowanego SQL-a w jêzyk C
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}
+
+%description ecpg-devel
+Embedded SQL in C interface files.
+
+%description ecpg-devel -l pl
+Pliki programistyczne interfejsu wbudowanego SQL-a w jêzyk C.
 
 %package static
 Summary:       PostgreSQL static libraries
 Summary(es):   Bibliotecas estaticas PostgreSQL
 Summary(pl):   Biblioteki statyczne programu PostgreSQL
 Summary(pt_BR):        Bibliotecas estáticas PostgreSQL
-Summary(ru):   óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó postgresql
-Summary(uk):   óÔÁÔÉÞΦ Â¦Â̦ÏÔÅËÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú postgresql
+Summary(ru):   óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó PostgreSQL
+Summary(uk):   óÔÁÔÉÞΦ Â¦Â̦ÏÔÅËÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú PostgreSQL
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}
 
@@ -501,81 +514,81 @@ PostgreSQL.
 %{name}-devel.
 
 %package tcl
-Summary:       tcl interface for PostgreSQL
-Summary(es):   Bibliotecas y shell TCL para acceder un servidor PostgreSQL
-Summary(pl):   Interfejs tcl dla PostgreSQL
-Summary(pt_BR):        Bibliotecas e shell para programas em TCL acessarem o servidor PostgreSQL
-Summary(ru):   âÉÂÌÉÏÔÅËÉ ÄÌÑ ÄÏÓÔÕÐÁ Ë postgresql ÉÚ tcl
-Summary(uk):   â¦Â̦ÏÔÅËÉ ÄÌÑ ÄÏÓÔÕÐÕ ÄÏ postgresql Ú tcl
+Summary:       Tcl interface for PostgreSQL
+Summary(es):   Bibliotecas y shell Tcl para acceder un servidor PostgreSQL
+Summary(pl):   Interfejs Tcl dla PostgreSQL
+Summary(pt_BR):        Bibliotecas e shell para programas em Tcl acessarem o servidor PostgreSQL
+Summary(ru):   âÉÂÌÉÏÔÅËÉ ÄÌÑ ÄÏÓÔÕÐÁ Ë PostgreSQL ÉÚ Tcl
+Summary(uk):   â¦Â̦ÏÔÅËÉ ÄÌÑ ÄÏÓÔÕÐÕ ÄÏ PostgreSQL Ú Tcl
 Summary(zh_CN):        Ò»¸ö Tcl ¿âºÍ PostgreSQL µÄ PL/Tcl ±à³ÌÓïÑÔ
 Group:         Development/Languages/Tcl
 Requires:      %{name}-libs = %{version}
 
 %description tcl
-tcl interface for PostgreSQL.
+Tcl interface for PostgreSQL.
 
 %description tcl -l es
-Bibliotecas y shell TCL para acceder un servidor PostgreSQL
+Bibliotecas y shell Tcl para acceder un servidor PostgreSQL
 
 %description tcl -l pl
-Interfejs tcl dla PostgreSQL.
+Interfejs Tcl dla PostgreSQL.
 
 %description tcl -l pt_BR
-Bibliotecas e shell para programas em TCL acessarem o servidor
-PostgreSQL
+Bibliotecas e shell para programas em Tcl acessarem o servidor
+PostgreSQL.
 
 %description tcl -l ru
-libpgtcl -- API ÄÌÑ ÄÏÓÔÕÐÁ Ë ÂÁÚÅ ÄÁÎÎÙÈ PostgreSQL ÉÚ ÑÚÙËÁ tcl.
+libpgtcl - API ÄÌÑ ÄÏÓÔÕÐÁ Ë ÂÁÚÅ ÄÁÎÎÙÈ PostgreSQL ÉÚ ÑÚÙËÁ Tcl.
 
 %description tcl -l uk
-libpgtcl -- API ÄÌÑ ÄÏÓÔÕÐÕ ÄÏ ÂÁÚÉ ÄÁÎÉÈ PostgreSQL Ú ÍÏ×É tcl.
+libpgtcl - API ÄÌÑ ÄÏÓÔÕÐÕ ÄÏ ÂÁÚÉ ÄÁÎÉÈ PostgreSQL Ú ÍÏ×É Tcl.
 
 %package tcl-devel
-Summary:       Development part of tcl interface for PostgreSQL
-Summary(pl):   Czê¶æ dla programistów interfejsu tcl dla PostgreSQL
-Summary(ru):   èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÒÁÚÒÁÂÏÔÏË Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ libpgtcl (tcl ÉÎÔÅÒÆÅÊÓ ÄÌÑ postgresql)
-Summary(uk):   èÅÄÅÒÉ ÔÁ Â¦Â̦ÏÔÅËÉ ÄÌÑ ÒÏÚÒÏÂÏË Ú ×ÉËÏÒÉÓÔÁÎÎÑÍ libpgtcl (tcl-¦ÎÔÅÒÆÅÊÓ ÄÌÑ postgresql)
+Summary:       Development part of Tcl interface for PostgreSQL
+Summary(pl):   Czê¶æ dla programistów interfejsu Tcl dla PostgreSQL
+Summary(ru):   èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÒÁÚÒÁÂÏÔÏË Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ libpgtcl (Tcl ÉÎÔÅÒÆÅÊÓ ÄÌÑ PostgreSQL)
+Summary(uk):   èÅÄÅÒÉ ÔÁ Â¦Â̦ÏÔÅËÉ ÄÌÑ ÒÏÚÒÏÂÏË Ú ×ÉËÏÒÉÓÔÁÎÎÑÍ libpgtcl (Tcl-¦ÎÔÅÒÆÅÊÓ ÄÌÑ PostgreSQL)
 Group:         Development/Languages/Tcl
 Requires:      %{name}-tcl = %{version}
 Requires:      %{name}-devel = %{version}
 
 %description tcl-devel
-Development part of tcl interface for PostgreSQL.
+Development part of Tcl interface for PostgreSQL.
 
 %description tcl-devel -l pl
-Czê¶æ interfejsu tcl dla PostgreSQL przeznaczona dla programistów.
+Czê¶æ interfejsu Tcl dla PostgreSQL przeznaczona dla programistów.
 
 %description tcl-devel -l ru
 üÔÏ ÐÁËÅÔ ÒÁÚÒÁÂÏÔÞÉËÁ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó libpgtcl. ïΠ×ËÌÀÞÁÅÔ
 ÈÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ × ÐÒÏÇÒÁÍÍÁÈ, ËÏÔÏÒÙÅ ÉÓÐÏÌØÚÕÀÔ
-ËÏÄ ÉÌÉ API libtcl (tcl ÉÎÔÅÒÆÅÊÓ ÄÌÑ postgresql).
+ËÏÄ ÉÌÉ API libtcl (Tcl ÉÎÔÅÒÆÅÊÓ ÄÌÑ PostgreSQL).
 
 %description tcl-devel -l uk
 ãÅ ÐÁËÅÔ ÐÒÏÇÒÁͦÓÔÁ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú libpgtcl. ÷¦Î Í¦ÓÔÉÔØ ÈÅÄÅÒÉ
 ÔÁ Â¦Â̦ÏÔÅËÉ ÄÌÑ ×ÉËÏÒÉÓÔÁÎÎÑ × ÐÒÏÇÒÁÍÁÈ, Ñ˦ ×ÉËÏÒÉÓÔÏ×ÕÀÔØ ËÏÄ ÁÂÏ
-API libtcl (tcl-¦ÎÔÅÒÆÅÊÓÕ ÄÌÑ postgresql).
+API libtcl (Tcl-¦ÎÔÅÒÆÅÊÓÕ ÄÌÑ PostgreSQL).
 
 %package tcl-static
-Summary:       Static libraries of tcl interface for PostgreSQL
-Summary(pl):   Biblioteki statyczne interfejsu tcl dla PostgreSQL
+Summary:       Static libraries of Tcl interface for PostgreSQL
+Summary(pl):   Biblioteki statyczne interfejsu Tcl dla PostgreSQL
 Summary(ru):   óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó libpgtcl
 Summary(uk):   óÔÁÔÉÞΦ Â¦Â̦ÏÔÅËÉ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú libpgtcl
 Group:         Development/Languages/Tcl
 Requires:      %{name}-tcl-devel = %{version}
 
 %description tcl-static
-Static libraries of tcl interface for PostgreSQL.
+Static libraries of Tcl interface for PostgreSQL.
 
 %description tcl-static -l pl
-Biblioteki statyczne interfejsu tcl dla PostgreSQL.
+Biblioteki statyczne interfejsu Tcl dla PostgreSQL.
 
 %description tcl-static -l ru
 üÔÏ ÏÔÄÅÌØÎÙÊ ÐÁËÅÔ ÓÏ ÓÔÁÔÉÞÅÓËÉÍÉ ÂÉÂÌÉÏÔÅËÁÍÉ, ËÏÔÏÒÙÅ ÂÏÌØÛÅ ÎÅ
-×ÈÏÄÑÔ × %{_name}-tcl-devel.
+×ÈÏÄÑÔ × postgresql-tcl-devel.
 
 %description tcl-static -l uk
 ãÅ ÏËÒÅÍÉÊ ÐÁËÅÔ Ú¦ ÓÔÁÔÉÞÎÉÍɠ¦Â̦ÏÔÅËÁÍÉ, ÝϠ¦ÌØÛÅ ÎÅ ×ÈÏÄÑÔØ ÄÏ
-%{name}-tcl-devel.
+postgresql-tcl-devel.
 
 %package module-plpgsql
 Summary:       PL/pgSQL - PostgreSQL procedural language
@@ -616,7 +629,7 @@ Summary:    PL/perl - PostgreSQL procedural language
 Summary(pl):   PL/perl jêzyk proceduralny bazy danych PostgreSQL
 Group:         Applications/Databases
 Requires:      %{name} = %{version}
-%requires_eq   perl
+%requires_eq   perl-base
 
 %description module-plperl
 From PostgreSQL documentation.
@@ -715,11 +728,30 @@ potrzeby.
 Za pomoc± komendy createlang mo¿na dodaæ wsparcie dla jêzyka
 proceduralnego PL/TCL dla swojej bazy danych.
 
+%package module-pgcrypto
+Summary:       Cryptographic functions for PostgreSQL
+Summary(pl):   Funkcje kryptograficzne dla PostgreSQL
+Group:         Applications/Databases
+Requires:       %{name} = %{version}
+
+%description module-pgcrypto
+Cryptographic functions for PostgreSQL.
+
+%description module-pgcrypto -l pl
+Funkcje kryptograficzne dla PostgreSQL.
+
 %prep
-%setup  -q -n %{name}-%{version}%{relc}
+%setup  -q
 %patch0 -p1
 %patch1 -p1
 %patch2 -p0
+%patch3 -p1
+%{?with_absolute_dbpaths:%patch4 -p1}
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
 
 tar xzf doc/man*.tar.gz
 
@@ -727,33 +759,39 @@ mkdir doc/unpacked
 tar zxf doc/postgres.tar.gz -C doc/unpacked
 
 # Erase all CVS dir
-rm -fR `find contrib/ -type d -name CVS`
+find contrib -type d -name CVS -exec rm -rf {} \;
 
 %build
-#rm -f config/libtool.m4
+rm -f config/libtool.m4
 %{__aclocal} -I config
 %{__autoconf}
-%configure \
+%configure CFLAGS="%{rpmcflags} -DNEED_REENTRANT_FUNCS"\
        %{!?_without_pgsql_locale:--enable-locale} \
        %{!?_without_pgsql_multibyte:--enable-multibyte} \
        --disable-rpath \
+       --enable-nls \
+       --enable-thread-safety \
+       --enable-integer-datetimes \
        --enable-depend \
        --enable-recode \
        --enable-syslog \
+       --with-pam \
        --enable-unicode-conversion \
        --with-CXX \
-       --with-tcl \
-       --with-tk \
-       --with-pam \
-       --with-perl \
-       --with-python \
+       %{?with_tcl:--with-tcl} \
+       %{?with_tcl:--with-tk} \
+       %{?with_perl:--with-perl} \
+       %{?with_python:--with-python} \
+       %{?with_kerberos5:--with-krb5=%{_prefix}} \
        --with-openssl \
        --with-x \
 %{?_with_jdbc: --with-java}
 
 %{__make}
+%{__make} -C contrib/pg_autovacuum
+%{__make} -C contrib/pgcrypto
 %ifnarch sparc sparcv9 sparc64 alpha ppc
-%{!?_without_tests: %{__make} check }
+%{?with_tests:%{__make} check}
 %endif
 
 %install
@@ -766,7 +804,12 @@ install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig}} \
 %{__make} install install-all-headers \
        DESTDIR=$RPM_BUILD_ROOT
 
-%{__make} install -C src/pl/plperl \
+%{?with_perl:%{__make} install -C src/pl/plperl DESTDIR=$RPM_BUILD_ROOT}
+
+%{__make} -C contrib/pg_autovacuum install \
+       DESTDIR=$RPM_BUILD_ROOT
+
+%{__make} -C contrib/pgcrypto install \
        DESTDIR=$RPM_BUILD_ROOT
 
 touch $RPM_BUILD_ROOT/var/log/pgsql
@@ -787,21 +830,51 @@ install -d howto
 %py_comp $RPM_BUILD_ROOT%{py_libdir}
 %py_ocomp $RPM_BUILD_ROOT%{py_libdir}
 
+# find locales
+for f in libpq pg_controldata pg_dump pg_resetxlog pgscripts postgres psql; do
+       %find_lang $f
+done
+# merge locales
+cat pgscripts.lang pg_resetxlog.lang postgres.lang pg_controldata.lang > main.lang
+cat pg_dump.lang psql.lang > clients.lang
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %pre
-echo "If you are upgrading from *pre* 7.3 version,"
-echo "then please downgrade and dump your databases."
-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 "in dump file before restore."
-echo
-echo "Warning for upgrade from version *before* 7.3."
-echo "Reading following webpage is encouraged:"
-echo "http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3."
+PG_DB_CLUSTERS=""
+if [ -f /etc/sysconfig/postgresql ]; then
+       . /etc/sysconfig/postgresql
+       if [ -z "$PG_DB_CLUSTERS" -a -n "$POSTGRES_DATA_DIR" ]; then
+               PG_DB_CLUSTERS="$POSTGRES_DATA_DIR"
+       fi
+fi
+foundold=0
+for pgdir in $PG_DB_CLUSTERS; do
+       if [ -f $pgdir/PG_VERSION ]; then
+               if [ `cat $pgdir/PG_VERSION` != '7.4' ]; then
+                       echo "Found database(s) in older, incompatible format in cluster $pgdir."
+                       foundold=1
+               fi
+       fi
+done
+if [ "$foundold" = "1" ]; then
+       echo
+       echo "Dump all data from clusters mentioned above (using pg_dump or pg_dumpall)"
+       echo "and clean (or rename) those directories; then upgrade postgresql and"
+       echo "restore all data (using pg_restore or psql)."
+       echo "Remember to stop the daemon before upgrading!"
+       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 "in dump file before restore."
+       echo
+       echo "Warning for upgrade from version *before* 7.3."
+       echo "Reading following webpage is encouraged:"
+       echo "http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3."
+       exit 1
+fi
 
 getgid postgres >/dev/null 2>&1 || /usr/sbin/groupadd -g 88 -r -f postgres
 if id postgres >/dev/null 2>&1 ; then
@@ -814,9 +887,8 @@ fi
 
 %post
 /sbin/chkconfig --add postgresql
-
 if [ -f /var/lock/subsys/postgresql ]; then
-       /etc/rc.d/init.d/postgresql restart >&2
+       /etc/rc.d/init.d/postgresql restart >&2 || :
 else
        echo "Run \"/etc/rc.d/init.d/postgresql start\" to start postgresql server."
 fi
@@ -832,11 +904,15 @@ fi
 %post   libs -p /sbin/ldconfig
 %postun libs -p /sbin/ldconfig
 
+%post   ecpg -p /sbin/ldconfig
+%postun ecpg -p /sbin/ldconfig
+
 %post   tcl -p /sbin/ldconfig
 %postun tcl -p /sbin/ldconfig
 
-%files
+%files -f main.lang
 %defattr(644,root,root,755)
+%doc contrib/pg_autovacuum/README*
 %attr(754,root,root) /etc/rc.d/init.d/*
 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/*
 
@@ -850,7 +926,7 @@ fi
 %attr(755,root,root) %{_bindir}/initdb
 %attr(755,root,root) %{_bindir}/initlocation
 %attr(755,root,root) %{_bindir}/ipcclean
-%attr(755,root,root) %{_bindir}/pg_config
+%attr(755,root,root) %{_bindir}/pg_autovacuum
 %attr(755,root,root) %{_bindir}/pg_controldata
 %attr(755,root,root) %{_bindir}/pg_ctl
 %attr(755,root,root) %{_bindir}/pg_encoding
@@ -866,10 +942,12 @@ fi
 
 %dir %{_pgsqldir}
 %dir %{_pgmoduledir}
+%dir %{_datadir}/postgresql
 %{_datadir}/postgresql/*.bki
 %{_datadir}/postgresql/*.sample
 %{_datadir}/postgresql/*.description
 %{_datadir}/postgresql/*.sql
+%{_datadir}/postgresql/*.txt
 
 %attr(700,postgres,postgres) /home/services/postgres
 %attr(700,postgres,postgres) %dir /var/lib/pgsql
@@ -885,7 +963,6 @@ fi
 %{_mandir}/man1/initdb.1*
 %{_mandir}/man1/initlocation.1*
 %{_mandir}/man1/ipcclean.1*
-%{_mandir}/man1/pg_config.1*
 %{_mandir}/man1/pg_controldata.1*
 %{_mandir}/man1/pg_ctl.1*
 %{_mandir}/man1/pg_resetxlog.1*
@@ -903,27 +980,35 @@ fi
 %doc doc/unpacked/*
 %doc howto
 
-%files libs
+%files libs -f libpq.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libpq.so.*.*
-%attr(755,root,root) %{_libdir}/libecpg.so.*.*
 %attr(755,root,root) %{_bindir}/pg_id
 
-%files devel
+%files ecpg
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/ecpg
+%attr(755,root,root) %{_libdir}/libecpg.so.*.*
+%attr(755,root,root) %{_libdir}/libecpg_compat.so.*.*
+%attr(755,root,root) %{_libdir}/libpgtypes.so.*.*
+%{_mandir}/man1/ecpg.1*
+
+%files ecpg-devel
+%defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libecpg.so
+%attr(755,root,root) %{_libdir}/libecpg_compat.so
+%attr(755,root,root) %{_libdir}/libpgtypes.so
+%{_includedir}/ecpg
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/pg_config
 %attr(755,root,root) %{_libdir}/libpq.so
 %dir %{_includedir}/postgresql
+%{_includedir}/libpq-fe.h
 %{_includedir}/pg_config.h
 %{_includedir}/pg_config_os.h
-%{_includedir}/ecpgerrno.h
-%{_includedir}/ecpglib.h
-%{_includedir}/ecpgtype.h
-%{_includedir}/libpq-fe.h
 %{_includedir}/postgres_ext.h
-%{_includedir}/sql3types.h
-%{_includedir}/sqlca.h
 %dir %{_includedir}/postgresql/internal
 %{_includedir}/postgresql/internal/c.h
 %{_includedir}/postgresql/internal/libpq-int.h
@@ -932,7 +1017,7 @@ fi
 %{_includedir}/postgresql/internal/lib
 %{_includedir}/postgresql/internal/libpq
 %{_includedir}/libpq
-%{_mandir}/man1/ecpg.1*
+%{_mandir}/man1/pg_config.1*
 
 %files backend-devel
 %defattr(644,root,root,755)
@@ -941,9 +1026,11 @@ fi
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libecpg.a
+%{_libdir}/libecpg_compat.a
 %{_libdir}/libpq.a
+%{_libdir}/libpgtypes.a
 
-%files clients
+%files clients -f clients.lang
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/pg_dump
 %attr(755,root,root) %{_bindir}/pg_dumpall
@@ -958,13 +1045,7 @@ fi
 %{_mandir}/man1/vacuumdb.1*
 %{_mandir}/manl/*.l*
 
-%files -n python-postgresql
-%defattr(644,root,root,755)
-%doc src/interfaces/python/{README*,ChangeLog}
-%{py_sitedir}/*.pyc
-%{py_sitedir}/*.pyo
-%attr(755,root,root) %{py_sitedir}/*.so
-
+%if %{with tcl}
 %files tcl
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libpgtcl.so
@@ -981,20 +1062,33 @@ fi
 %files tcl-static
 %defattr(644,root,root,755)
 %{_libdir}/libpgtcl.a
+%endif
 
 %files module-plpgsql
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_pgmoduledir}/plpgsql.so
 
+%if %{with perl}
 %files module-plperl
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_pgmoduledir}/plperl.so
+%endif
 
+%if %{with python}
 %files module-plpython
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_pgmoduledir}/plpython.so
+%endif
 
+%if %{with tcl}
 %files module-pltcl
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/pltcl_*
 %attr(755,root,root) %{_pgmoduledir}/pltcl.so
+%endif
+
+%files module-pgcrypto
+%defattr(644,root,root,755)
+%doc contrib/pgcrypto/README*
+%attr(755,root,root) %{_pgmoduledir}/pgcrypto.so
+%{_datadir}/%{name}/pgcrypto.sql
This page took 0.122886 seconds and 4 git commands to generate.