#!/bin/bash
idir=/home/`whoami`/Repository/postgres
mkdir -p $idir
cd $idir
ifile=/home/`whoami`/.cvspass
if [ ! -e "$ifile" ] ; then
echo "enter any password other than blank.."
cvs -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot login
cvs -z3 -d :pserver:anoncvs@anoncvs.postgresql.org:/projects/cvsroot co -P pgsql
fi
cd pgsql
cvs -z3 update -d -P
idir=/home/`whoami`/Software/PostgreSQL-9
./configure --with-pam --with-openssl --with-libxml --with-libxslt --prefix=$idir && make && make install
mkdir -p $idir
sudo chown postgres $idir
sudo su -p postgres -c "$idir/bin/initdb -D $idir/data"
ifile=$idir/data/postgresql.conf
param="s/#listen_addresses = 'localhost'/listen_addresses = 'localhost'/"
sudo sed -i "$param" $ifile
param='s/#port = 5432/port = 5432/'
sudo sed -i "$param" $ifile
param="s/#unix_socket_directory = ''/unix_socket_directory = '\/tmp'/"
sudo sed -i "$param" $ifile
param='s/#ssl = off/ssl = true/'
sudo sed -i "$param" $ifile
param='s/#password_encryption = on/password_encryption = on/'
sudo sed -i "$param" $ifile
ifile=$idir/data/server
if [ "`sudo ls $ifile.key`" != "$ifile.key" ] ; then
sudo openssl req -new -text -out $ifile.req
sudo openssl rsa -in privkey.pem -out $ifile.key
sudo rm privkey.pem
sudo openssl req -x509 -in $ifile.req -text -key $ifile.key -out $ifile.crt
sudo chmod og-rwx $ifile.key
sudo chown postgres:postgres $ifile.key
echo 'NOTE: start PostgreSQL9 before entering password using this command on another terminal session:'
echo "sudo su -p postgres -c '$idir/bin/postgres -D $idir/data'"
sudo su -p postgres -c 'createuser -esP $SUDO_USER && createdb -eO $SUDO_USER $SUDO_USER'
fi
ifile=/usr/local/lib
for x in `ls $idir/lib` ; do
sudo rm -f $ifile/$x
sudo ln -s $idir/lib/$x $ifile/
done
ifile=/usr/local/bin
for x in `ls $idir/bin` ; do
sudo rm -f $ifile/$x
sudo ln -s $idir/bin/$x $ifile/
done