The following OpenPKG Contribution Area operation occurred.
uploaded RPM specfile "postgresql7.spec" accepted -- moved to contrib area.
No action is required on your part.

Information about postgresql7.spec follows:
| ##
| ##  postgresql7.spec -- OpenPKG RPM Specification
| ##  Copyright (c) 2000-2005 The OpenPKG Project <http://www.openpkg.org/>
| ##  Copyright (c) 2000-2005 Ralf S. Engelschall <[EMAIL PROTECTED]>
| ##  Copyright (c) 2000-2005 Cable & Wireless <http://www.cw.com/>
| ##
| ##  Permission to use, copy, modify, and distribute this software for
| ##  any purpose with or without fee is hereby granted, provided that
| ##  the above copyright notice and this permission notice appear in all
| ##  copies.
| ##
| ##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
| ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
| ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
| ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
| ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
| ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
| ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
| ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
| ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
| ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
| ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
| ##  SUCH DAMAGE.
| ##
| 
| #   package versions
| %define       V_postgresql      7.4.7
| %define       V_libpqpp         4.0
| %define       V_libpqxx         2.5.0
| %define       V_pgperl          2.0.2
| %define       V_psqlodbc        08.00.0101
| %define       V_slony1          1.0.5
| %define       V_pgpool          2.5.2
| 
| #   package information
| Name:         postgresql7
| Summary:      PostgreSQL Database
| URL:          http://www.postgresql.org/
| Vendor:       PostgreSQL Group
| Packager:     The OpenPKG Project
| Distribution: OpenPKG
| Class:        PLUS
| Group:        Database
| License:      GPL
| Version:      %{V_postgresql}
| Release:      20050407
| 
| #   package options
| %option       with_server   yes
| %option       with_cxx      no
| %option       with_perl     no
| %option       with_odbc     no
| %option       with_compat   no
| %option       with_tcl      no
| %option       with_slony1   no
| %option       with_pgpool   no
| 
| #   list of sources
| Source0:      
ftp://ftp.postgresql.org/pub/source/v%{V_postgresql}/postgresql-%{V_postgresql}.tar.bz2
| Source1:      
ftp://gborg.postgresql.org/pub/libpqpp/stable/libpq++-%{V_libpqpp}.tar.gz
| Source2:      
ftp://gborg.postgresql.org/pub/libpqxx/stable/libpqxx-%{V_libpqxx}.tar.gz
| Source3:      
ftp://gborg.postgresql.org/pub/pgperl/stable/pgperl-%{V_pgperl}.tar.gz
| Source4:      
ftp://ftp.postgresql.org/pub/odbc/versions/src/psqlodbc-%{V_psqlodbc}.tar.gz
| Source5:      
http://developer.postgresql.org/~wieck/slony1/download/slony1-%{V_slony1}.tar.gz
| Source6:      
http://www2b.biglobe.ne.jp/~caco/pgpool/pgpool-%{V_pgpool}.tar.gz
| Source7:      rc.postgresql
| Source8:      pg_migrate
| Patch0:       postgresql7.patch
| 
| #   build information
| Prefix:       %{l_prefix}
| BuildRoot:    %{l_buildroot}
| BuildPreReq:  OpenPKG, openpkg >= 20040130, make, gcc, flex, bison, gzip
| PreReq:       OpenPKG, openpkg >= 20040130
| BuildPreReq:  readline, zlib, openssl, getopt
| PreReq:       readline, zlib, openssl, getopt
| %if "%{with_perl}" == "yes"
| BuildPreReq:  perl, perl-openpkg >= 5.8.3-20040126
| PreReq:       perl
| %endif
| %if "%{with_odbc}" == "yes"
| BuildPreReq:  unixodbc
| PreReq:       unixodbc
| %endif
| %if "%{with_tcl}" == "yes"
| BuildPreReq:  tcl, tcl::with_x11 = yes, X11
| PreReq:       tcl, tcl::with_x11 = yes, X11
| %endif
| AutoReq:      no
| AutoReqProv:  no
| Provides:     postgresql = %{version}
| 
| %description
|     PostgreSQL is a sophisticated Object-Relational DBMS, supporting
|     almost all SQL constructs, including subselects, transactions,
|     and user-defined types and functions. It is the most advanced
|     open-source database available anywhere.
| 
| %track
|     prog postgresql7 = {
|         version   = %{V_postgresql}
|         url       = ftp://ftp.postgresql.org/pub/source/
|         regex     = v(7\.\d+(\.\d+)*)(?!beta)
|         url       = ftp://ftp.postgresql.org/pub/source/v__NEWVER__/
|         regex     = postgresql-(\d+\.\d+(\.\d+)*)\.tar\.(?:gz|bz2)
|     }
|     prog postgresql7:libpq++ = {
|         version   = %{V_libpqpp}
|         url       = ftp://gborg.postgresql.org/pub/libpqpp/stable/
|         regex     = libpq\+\+-(__VER__)\.tar\.gz
|     }
|     prog postgresql7:libpqxx = {
|         version   = %{V_libpqxx}
|         url       = ftp://gborg.postgresql.org/pub/libpqxx/stable/
|         regex     = libpqxx-(__VER__)\.tar\.gz
|     }
|     prog postgresql7:pgperl = {
|         version   = %{V_pgperl}
|         url       = ftp://gborg.postgresql.org/pub/pgperl/stable/
|         regex     = pgperl-(__VER__)\.tar\.gz
|     }
|     prog postgresql7:psqlodbc = {
|         version   = %{V_psqlodbc}
|         url       = ftp://ftp.postgresql.org/pub/odbc/versions/src/
|         regex     = psqlodbc-(\d{2}\.\d{2}\.\d{4})\.tar\.gz
|     }
|     prog postgresql7:slony1 = {
|         version   = %{V_slony1}
|         url       = http://developer.postgresql.org/~wieck/slony1/download/
|         regex     = slony1-(__VER__)\.tar\.gz
|     }
|     prog postgresql7:pgpool = {
|         version   = %{V_pgpool}
|         url       = http://www2b.biglobe.ne.jp/~caco/pgpool/
|         regex     = pgpool-(__VER__)\.tar\.gz
|     }
| 
| %prep
|     %setup -q -n postgresql-%{V_postgresql}
|     %patch -p0
| %if "%{with_cxx}" == "yes"
|     %setup -q -n postgresql-%{V_postgresql} -T -D -a 1
|     %setup -q -n postgresql-%{V_postgresql} -T -D -a 2
| %endif
| %if "%{with_perl}" == "yes"
|     %setup -q -n postgresql-%{V_postgresql} -T -D -a 3
| %endif
| %if "%{with_odbc}" == "yes"
|     %setup -q -n postgresql-%{V_postgresql} -T -D -a 4
| %endif
| %if "%{with_slony1}" == "yes"
|     %setup -q -n postgresql-%{V_postgresql} -T -D -a 5
| %endif
| %if "%{with_pgpool}" == "yes"
|     %setup -q -n postgresql-%{V_postgresql} -T -D -a 6
| %endif
| 
|     #   adjust source tree
|     %{l_shtool} subst \
|         -e 
's;\(#define.*DEFAULT_PGSOCKET_DIR[^"]*"\)/tmp\("\);\1%{l_prefix}/var/postgresql/run\2;'
 \
|         src/include/pg_config_manual.h
|     %{l_shtool} subst \
|         -e 's;^\(sqlmansect *=\).*$;\1 7;' \
|         src/makefiles/Makefile.solaris
|     %{l_shtool} subst \
|         -e 's;$(INSTALL_SHLIB);#$(INSTALL_SHLIB);g' \
|         src/backend/utils/mb/conversion_procs/proc.mk
|     %{l_shtool} subst \
|         -e 's;# Shared library stuff;enable_shared = yes;g' \
|         src/pl/plpgsql/src/Makefile
| 
| %build
|     rm -rf $RPM_BUILD_ROOT
| 
|     #   configure package
|     CC="%{l_cc}" \
| %if "%{with_slony1}" == "yes"
|     CFLAGS="%{l_cflags -O} -pthread" \
| %else
|     CFLAGS="%{l_cflags -O}" \
| %endif
| %if "%{with_tcl}" == "yes"
|     CPPFLAGS="%{l_cppflags readline tcl} -DOPENSSL_DISABLE_OLD_DES_SUPPORT" \
|     LDFLAGS="%{l_ldflags} -L`%{l_rc} --query x11_libdir`" \
| %else
|     CPPFLAGS="%{l_cppflags readline} -DOPENSSL_DISABLE_OLD_DES_SUPPORT" \
|     LDFLAGS="%{l_ldflags}" \
| %endif
|     TAR="%{l_tar}" \
|     YACC="bison -y" \
|     ./configure \
|         --cache-file=./config.cache \
|         --prefix=%{l_prefix} \
|         --includedir=%{l_prefix}/include/postgresql \
|         --with-openssl=%{l_prefix} \
|         --with-readline \
|         --with-zlib \
| %if "%{with_tcl}" == "yes"
|         --with-tcl \
|         --with-tclconfig="%{l_prefix}/lib" \
|         --with-tkconfig="%{l_prefix}/lib" \
| %endif
| %if "%{with_slony1}" == "yes"
|         --enable-thread-safety \
| %endif
|         --disable-syslog \
|         --disable-shared
| 
|     #   build package
|     %{l_make} %{l_mflags}
| 
|     #   build C++ bindings (both old and new one)
| %if "%{with_cxx}" == "yes"
|     ( cd libpq++-%{V_libpqpp}
|       CXX="%{l_cxx}"
|       CFLAGS="%{l_cflags -O}"
|       CPPFLAGS="-DHAVE_NAMESPACE_STD -DHAVE_CXX_STRING_HEADER -DDLLIMPORT= "
|       CPPFLAGS="$CPPFLAGS -I. -I../src/interfaces/libpq -I../src/interfaces"
|       CPPFLAGS="$CPPFLAGS -I../src/include %{l_cppflags}"
|       LDFLAGS="%{l_ldflags}"
|       OBJS="pgconnection.o pgdatabase.o pgtransdb.o pgcursordb.o pglobject.o"
|       for o in $OBJS; do
|           $CXX $CFLAGS $CPPFLAGS $LDFLAGS -c -o $o `echo $o | sed -e 
's;\.o$;.cc;'`
|       done
|       rm -f libpq++.a
|       ar rc libpq++.a $OBJS
|     ) || exit $?
|     ln -s `pwd`/src/interfaces/libpq/*.h src/include/
|     ( cd libpqxx-%{V_libpqxx}
|       %{l_shtool} subst \
|           -e 's;\(cut\)\( .*/configitems\)\( -f [0-9]\);\1\3\2;g' \
|           configure
|       ( echo "#!/bin/sh"
|         echo "case \"\$1\" in"
|         echo "   --includedir ) echo \"`pwd`/../src/include\" ;;"
|         echo "   --libdir     ) echo \"`pwd`/../src/interfaces/libpq\" ;;"
|         echo "esac"
|       ) >pg_config
|       chmod a+x pg_config
|       export PG_CONFIG=`pwd`/pg_config
|       export CC="%{l_cc}"
|       export CXX="%{l_cxx}"
|       export CFLAGS="%{l_cflags -O}"
|       export CXXFLAGS="%{l_cxxflags -O}"
|       export CPPFLAGS="-I`pwd`/../src/include %{l_cppflags}"
|       export LDFLAGS="%{l_ldflags}"
|       export LIBS="-lssl -lcrypto -lcrypt"
|       ./configure \
|           --disable-shared
|       %{l_make} %{l_mflags -O}
|     ) || exit $?
| %endif
| 
|     #   build Perl bindings
| %if "%{with_perl}" == "yes"
|     %{l_prefix}/bin/perl-openpkg prepare
|     ( cd Pg-%{V_pgperl}
|       export POSTGRES_INCLUDE=dummy
|       export POSTGRES_LIB=dummy
|       %{l_shtool} subst \
|           -e 's;-I$POSTGRES_INCLUDE;-I../src/interfaces/libpq 
-I../src/include;' \
|           -e 's;-L$POSTGRES_LIB;-L../src/interfaces/libpq;' \
|           -e 's;-lpq;-lpq %{l_ldflags} -lssl -lcrypto -lcrypt;' \
|           Makefile.PL
|     ) || exit $?
|     ( export POSTGRES_INCLUDE=dummy
|       export POSTGRES_LIB=dummy
|       %{l_prefix}/bin/perl-openpkg -d Pg-%{V_pgperl} configure build
|     ) || exit $?
| %endif
| 
|     #   build ODBC driver
| %if "%{with_odbc}" == "yes"
|     ( cd psqlodbc-%{V_psqlodbc}
|       export CC="%{l_cc}"
|       export CXX="%{l_cxx}"
|       export CFLAGS="%{l_cflags -O}"
|       export CXXFLAGS="%{l_cxxflags -O}"
|       export CPPFLAGS="-I`pwd`/../src/include"
|       CPPFLAGS="$CPPFLAGS -I`pwd`/../src/interfaces 
-I`pwd`/../src/interfaces/libpq"
|       CPPFLAGS="$CPPFLAGS %{l_cppflags}"
|       export LDFLAGS="-L`pwd`/../src/interfaces/libpq %{l_ldflags}"
|       ./configure \
|           --prefix=%{l_prefix} \
|           --with-unixodbc \
|           --with-odbcinst=%{l_prefix}/etc/unixodbc
|       %{l_make} %{l_mflags -O}
|     ) || exit $?
| %endif
| 
|     #   build Slony-1 replication engine
| %if "%{with_slony1}" == "yes"
|     ( cd slony1-%{V_slony1}
|       %{l_shtool} subst \
|           -e 's;-lpq;-lpq -lssl -lcrypto -lcrypt;' \
|           src/slon/Makefile src/slonik/Makefile
|       export CC="%{l_cc}"
|       export CFLAGS="%{l_cflags -O}"
|       export CPPFLAGS="%{l_cppflags}"
|       ./configure \
|           --prefix=%{l_prefix} \
|           --with-pgsourcetree=`pwd`/..
|       %{l_make} %{l_mflags -O}
|     ) || exit $?
| %endif
| 
|     #   build pgpool frontend
| %if "%{with_pgpool}" == "yes"
|     ( cd pgpool-%{V_pgpool}
|       export CC="%{l_cc}"
|       export CFLAGS="%{l_cflags -O} %{l_cppflags}"
|       export LDFLAGS="%{l_ldflags}"
|       export LIBS="-lgetopt"
|       ./configure \
|           --prefix=%{l_prefix} \
|           --sysconfdir=%{l_prefix}/etc/postgresql \
|           --with-pgsrc=/dummy
|       %{l_make} %{l_mflags}
|     ) || exit $?
| %endif
| 
| %install
|     rm -rf $RPM_BUILD_ROOT
| 
|     #   perform standard installation procedure
|     cp /dev/null register.txt
|     %{l_make} %{l_mflags} install install-all-headers DESTDIR=$RPM_BUILD_ROOT
| 
|     #   strip down installation
|     rm -rf $RPM_BUILD_ROOT%{l_prefix}/doc
|     strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
|     rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/pgaccess.1
|     rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/pgtclsh.1
|     rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man1/pgtksh.1
| 
|     #   namespace adjustments to installation
|     for prog in \
|         createdb createlang createuser dropdb droplang clusterdb \
|         dropuser initdb initlocation ipcclean vacuumdb; do
| %if "%{with_compat}" == "yes"
|         cmd="ln"
| %else
|         cmd="mv"
| %endif
|         $cmd $RPM_BUILD_ROOT%{l_prefix}/bin/$prog \
|              $RPM_BUILD_ROOT%{l_prefix}/bin/pg_$prog
|         $cmd $RPM_BUILD_ROOT%{l_prefix}/man/man1/$prog.1 \
|              $RPM_BUILD_ROOT%{l_prefix}/man/man1/pg_$prog.1
|     done
|     ( cd $RPM_BUILD_ROOT%{l_prefix}/man/man7
|       for man in *.7; do
|           mv $man pg_$man
|       done
|     ) || exit $?
| 
|     #   create additional directories
|     %{l_shtool} mkdir -f -p -m 755 \
|         $RPM_BUILD_ROOT%{l_prefix}/etc/postgresql \
|         $RPM_BUILD_ROOT%{l_prefix}/var/postgresql/db \
|         $RPM_BUILD_ROOT%{l_prefix}/var/postgresql/run
| 
|     #   install migration utility
| %if "%{with_compat}" == "yes"
|     l_pguser="postgres"
|     l_pgpass="postgres"
| %else
|     l_pguser="postgresql"
|     l_pgpass="postgresql"
| %endif
|     %{l_shtool} install -c -m 755 %{l_value -s -a} \
|         -e "s;@l_pguser@;${l_pguser};g" \
|         -e "s;@l_pgpass@;${l_pgpass};g" \
|         %{SOURCE pg_migrate} \
|         $RPM_BUILD_ROOT%{l_prefix}/bin/
| 
|     #   install C++ bindings (both old and new one)
| %if "%{with_cxx}" == "yes"
|     ( cd libpq++-%{V_libpqpp}
|       %{l_shtool} mkdir -f -p -m 755 \
|           $RPM_BUILD_ROOT%{l_prefix}/include/libpq++
|       %{l_shtool} install -c -m 644 \
|           libpq++.h pgconnection.h pgdatabase.h pgtransdb.h pgcursordb.h 
pglobject.h \
|           $RPM_BUILD_ROOT%{l_prefix}/include/libpq++/
|       %{l_shtool} install -c -m 644 \
|           libpq++.a \
|           $RPM_BUILD_ROOT%{l_prefix}/lib/
|     ) || exit $?
|     ( cd libpqxx-%{V_libpqxx}
|       %{l_shtool} mkdir -f -p -m 755 \
|           $RPM_BUILD_ROOT%{l_prefix}/include/pqxx
|       %{l_shtool} install -c -m 644 \
|           include/pqxx/*.h \
|           $RPM_BUILD_ROOT%{l_prefix}/include/pqxx/
|       %{l_shtool} install -c -m 644 \
|           src/.libs/libpqxx.a \
|           $RPM_BUILD_ROOT%{l_prefix}/lib/
|     ) || exit $?
| %endif
| 
|     #   install Perl binding
| %if "%{with_perl}" == "yes"
|     ( export POSTGRES_INCLUDE=dummy
|       export POSTGRES_LIB=dummy
|       %{l_prefix}/bin/perl-openpkg -d Pg-%{V_pgperl} install
|     ) || exit $?
|     %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
| %else
|     >perl-openpkg-files
| %endif
| 
|     #   install ODBC driver
| %if "%{with_odbc}" == "yes"
|     ( cd psqlodbc-%{V_psqlodbc}
|       %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
|     ) || exit $?
| %endif
| 
|     #   install Slony-1 replication engine
| %if "%{with_slony1}" == "yes"
|     ( cd slony1-%{V_slony1}
|       %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
|       rm -f $RPM_BUILD_ROOT%{l_prefix}/share/postgresql/slony1*v7[34].sql
|       rm -f $RPM_BUILD_ROOT%{l_prefix}/share/postgresql/xxid.v73.sql
|       mv $RPM_BUILD_ROOT%{l_prefix}/share/postgresql/xxid.v74.sql \
|          $RPM_BUILD_ROOT%{l_prefix}/share/postgresql/xxid.sql
|       ( echo "#   Slony-1 configuration for replication engine slon(1)"
|         echo "SLON_CLUSTER_NAME=\"example\""
|         echo "SLON_CONNECT_DBNAME=\"example\""
|         echo "SLON_CONNECT_USER=\"postgresql\""
|         echo "SLON_CONNECT_PASS=\"postgresql\""
|         echo "SLON_CONNECT_HOST=\"localhost\""
|         echo "SLON_SYNC_INTERVAL=\"10000\""
|         echo "SLON_SYNC_TIMEOUT=\"60000\""
|         echo "SLON_SYNC_GROUPSIZE=\"6\""
|         echo "SLON_SYNC_LOGLEVEL=\"1\""
|       ) >$RPM_BUILD_ROOT%{l_prefix}/etc/postgresql/slony1.conf
|     ) || exit $?
| %endif
| 
|     #   install pgpool frontend
| %if "%{with_pgpool}" == "yes"
|     ( cd pgpool-%{V_pgpool}
|       %{l_shtool} install -c -s -m 755 \
|           pgpool $RPM_BUILD_ROOT%{l_prefix}/bin/
|       %{l_shtool} install -c -m 644 \
|           -e "s;\(socket_dir = \).*;\1'%{l_prefix}/var/postgresql/run';" \
|           -e "s;\(backend_socket_dir = 
\).*;\1'%{l_prefix}/var/postgresql/run';" \
|           -e "s;\(logdir = \).*;\1'%{l_prefix}/var/postgresql/run';" \
|           pgpool.conf.sample 
$RPM_BUILD_ROOT%{l_prefix}/etc/postgresql/pgpool.conf
|     ) || exit $?
| %endif
| 
|     #   install run-command script
|     %{l_shtool} mkdir -f -p -m 755 \
|         $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
|     %{l_shtool} install -c -m 755 %{l_value -s -a} \
|         %{SOURCE rc.postgresql} \
|         $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
| 
|     #   optionally strip down to client-only installation
| %if "%{with_server}" != "yes"
|     rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/pg_[a-bd-z]*
|     rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/pg_c[a-np-z]*
|     rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/pg_controldata
|     rm -f  $RPM_BUILD_ROOT%{l_prefix}/bin/post*
|     rm -f  $RPM_BUILD_ROOT%{l_prefix}/man/man1/pg_[a-bd-z]*
|     rm -f  $RPM_BUILD_ROOT%{l_prefix}/man/man1/pg_c[a-np-z]*
|     rm -f  $RPM_BUILD_ROOT%{l_prefix}/man/man1/pg_controldata.1
|     rm -f  $RPM_BUILD_ROOT%{l_prefix}/man/man1/post*
|     rm -rf $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
|     rm -rf $RPM_BUILD_ROOT%{l_prefix}/include/postgresql/server
|     rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/postgresql
|     rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/postgresql
|     rm -rf $RPM_BUILD_ROOT%{l_prefix}/var/postgresql
| %endif
| 
|     #   determine installation files
|     %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
| %if "%{with_server}" == "yes"
|         %{l_files_std} `cat perl-openpkg-files` \
|         '%config %{l_prefix}/etc/postgresql/*' \
|         '%attr(700,%{l_rusr},%{l_rgrp}) %dir %{l_prefix}/var/postgresql/db' \
|         '%attr(755,%{l_rusr},%{l_rgrp}) %dir %{l_prefix}/var/postgresql/run' \
|         '%config %{l_prefix}/var/postgresql/db/*.conf'
| %else
|         %{l_files_std} `cat perl-openpkg-files`
| %endif
| 
| %files -f files
| 
| %clean
|     rm -rf $RPM_BUILD_ROOT
| 
| %pre
| %if "%{with_server}" == "yes"
|     #   before upgrade, check migration dump, save status and stop service
|     [ $1 -eq 2 ] || exit 0
|     if [ -f $RPM_INSTALL_PREFIX/var/postgresql/db/PG_VERSION -a \
|          -f $RPM_INSTALL_PREFIX/bin/pg_migrate ]; then
|         #   database migration dumping hint
|         v_old_all=`cat $RPM_INSTALL_PREFIX/var/postgresql/db/PG_VERSION`
|         v_old_maj=`echo "$v_old_all" | sed -e 's/^\([0-9]*\.[0-9]*\).*/\1/'`
|         v_new_all="%{V_postgresql}"
|         v_new_maj=`echo "$v_new_all" | sed -e 's/^\([0-9]*\.[0-9]*\).*/\1/'`
|         if [ ".$v_old_maj" != ".$v_new_maj" ]; then
|            if [ ! -f $RPM_INSTALL_PREFIX/var/postgresql/db.dump.sql.bz2 -a 
".$RPM_POSTGRESQL_MIGRATE" != .ignore ]; then
|                 ( echo "You are upgrading from PostgreSQL $v_old_all to 
PostgresSQL $v_new_all,"
|                   echo "which is a major version change. We expect a database 
incompatibility,"
|                   echo "so we strongly recommend that you backup your 
existing database"
|                   echo "($RPM_INSTALL_PREFIX/var/postgresql/db/) first by 
running:"
|                   echo "    \$ $RPM_INSTALL_PREFIX/bin/pg_migrate dump"
|                   echo "If this fails for some reasons, try to dump your data 
manually:"
|                   echo "    \$ $RPM_INSTALL_PREFIX/bin/pg_dumpall -U 
postgresql -o | \\ "
|                   echo "      $RPM_INSTALL_PREFIX/lib/openpkg/bzip2 -9 \\ "
|                   echo "      
>$RPM_INSTALL_PREFIX/var/postgresql/db.dump.sql.bz2"
|                   echo "Alternatively, if you want to force this package to 
be installed without"
|                   echo "performing a database dump, run the following command 
before upgrading:"
|                   echo "    \$ RPM_POSTGRESQL_MIGRATE=ignore; export 
RPM_POSTGRESQL_MIGRATE"
|                 ) | %{l_rpmtool} msg -b -t error
|                 exit 1
|             fi
|         fi
|     fi
|     eval `%{l_rc} postgresql status 2>/dev/null | tee %{l_tmpfile}`
|     %{l_rc} postgresql stop 2>/dev/null
|     exit 0
| %endif
| 
| %post
| %if "%{with_server}" == "yes"
|     if [ $1 -eq 1 ]; then
|         #   create initial database
| %if "%{with_compat}" == "yes"
|         l_pguser="postgres"
|         l_pgpass="postgres"
| %else
|         l_pguser="postgresql"
|         l_pgpass="postgresql"
| %endif
|         su - %{l_rusr} -c \
|             "LC_CTYPE=C; export LC_CTYPE; umask 022; \
|             (echo $l_pguser; echo $l_pgpass) |\
|             $RPM_INSTALL_PREFIX/bin/pg_initdb \
|                 -U $l_pguser -W -D $RPM_INSTALL_PREFIX/var/postgresql/db" 
2>&1 |\
|         $RPM_INSTALL_PREFIX/lib/openpkg/shtool prop \
|             -p "Creating initial PostgreSQL DB in 
$RPM_INSTALL_PREFIX/var/postgresql/db"
| 
|         #   adjust initial authentication configuration
|         cp $RPM_INSTALL_PREFIX/var/postgresql/db/pg_hba.conf \
|            $RPM_INSTALL_PREFIX/var/postgresql/db/pg_hba.conf.old
|         ( cat $RPM_INSTALL_PREFIX/var/postgresql/db/pg_hba.conf.old |\
|           sed -e 's;^\([^#]\);# \1;' -e 's;^$;#;'
|           echo ""
|           echo "#   OpenPKG PostgreSQL default access policy"
|           echo "local all all                           md5"
|           echo "host  all all 127.0.0.1 255.255.255.255 md5"
|           echo ""
|         ) >$RPM_INSTALL_PREFIX/var/postgresql/db/pg_hba.conf
|         rm -f $RPM_INSTALL_PREFIX/var/postgresql/db/pg_hba.conf.old
| 
|         #   display information about next steps
|         ( echo "An initial PostgreSQL DB was created with the two standard"
|           echo "databases 'template0' and 'template1'. The owner of both"
|           echo "is the DB user '$l_pguser'. Its initial password is 
'$l_pgpass'."
|           echo "After starting PostgreSQL you should change this as soon as"
|           echo "possible with the following command:"
|           echo "\$ $RPM_INSTALL_PREFIX/bin/psql -U $l_pguser -d template1 \\"
|           echo "  -c \"ALTER USER $l_pguser WITH PASSWORD '<new-password>'\""
|         ) | %{l_rpmtool} msg -b -t notice
| 
|         #   optionally link into unixODBC
| %if "%{with_odbc}" == "yes"
|         ( echo "[PostgreSQL]"
|           echo "Description     = PostgreSQL ODBC driver"
|           echo "Driver          = $RPM_INSTALL_PREFIX/lib/psqlodbc.so"
|           echo "Threading       = 2"
|         ) | $RPM_INSTALL_PREFIX/bin/odbcinst -i -d -r
| %endif
|     fi
|     if [ $1 -eq 2 ]; then
|         #   after upgrade, restore status
|         { eval `cat %{l_tmpfile}`; rm -f %{l_tmpfile}; true; } >/dev/null 2>&1
|         [ ".$postgresql_active" = .yes ] && %{l_rc} postgresql start
|         if [ -f $RPM_INSTALL_PREFIX/var/postgresql/db/PG_VERSION -a 
".$PG_MIGRATE" != .ignore ]; then
|             #   database migration restoring hint
|             v_old_all=`cat $RPM_INSTALL_PREFIX/var/postgresql/db/PG_VERSION`
|             v_old_maj=`echo "$v_old_all" | sed -e 
's/^\([0-9]*\.[0-9]*\).*/\1/'`
|             v_new_all="%{V_postgresql}"
|             v_new_maj=`echo "$v_new_all" | sed -e 
's/^\([0-9]*\.[0-9]*\).*/\1/'`
|             if [ ".$v_old_maj" != ".$v_new_maj" ]; then
|                 ( echo "You upgraded from PostgreSQL $v_old_all to 
PostgresSQL $v_new_all,"
|                   echo "which is a major version upgrade. We expect a 
database incompatibility,"
|                   echo "so we strongly recommend you to recreate the existing 
database under"
|                   echo "$RPM_INSTALL_PREFIX/var/postgresql/db/ by running the 
following command:"
|                   echo "    \$ $RPM_INSTALL_PREFIX/bin/pg_migrate restore"
|                   echo "If this fails for some reasons, try to restore your 
data manually:"
|                   echo "    \$ $RPM_INSTALL_PREFIX/lib/openpkg/bzip2 -d -c \\ 
"
|                   echo "      
$RPM_INSTALL_PREFIX/var/postgresql/db.dump.sql.bz2 | \\ "
|                   echo "      $RPM_INSTALL_PREFIX/bin/psql -U postgresql -d 
template1"
|                 ) | %{l_rpmtool} msg -b -t warn
|             fi
|         fi
|     fi
|     exit 0
| %endif
| 
| %preun
| %if "%{with_server}" == "yes"
|     #   before erase, stop service and remove log files
|     [ $1 -eq 0 ] || exit 0
|     %{l_rc} postgresql stop 2>/dev/null
|     rm -f $RPM_INSTALL_PREFIX/var/postgresql/run/* >/dev/null 2>&1 || true
|     exit 0
| %endif
______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
Developer Communication List                   openpkg-dev@openpkg.org

Reply via email to