#!/bin/sh
#

PATHMIN=${PWD%.*}
MINOR=${PATHMIN##*.}

EXT=postgresql-9.$MINOR
PGDIR=pgsql9$MINOR
TCZ=/tmp/$EXT/TCZ

sudo rm -rf /tmp/$EXT

DEPS="openssl-dev libxml2-dev libxslt-dev gettext perl5 python-dev python tzdata tcl8.6-dev tcl8.6"

NOTFOUND=""
for a in compiletc bash file squashfs-tools $DEPS
         do tce-load -i $a || tce-load -iwl $a || NOTFOUND=x
done
test -z "$NOTFOUND" || exit

#sudo ln -s $(which python3) /usr/local/bin/python

for a in $(grep -l -r 'define NAMEDATALEN' *); do
	sed -i -e 's/define NAMEDATALEN .*$/define NAMEDATALEN 128/' $a
done

#make clean
./configure \
	--prefix=/usr/local/$PGDIR \
	--localstatedir=/var \
	--disable-rpath \
	--with-openssl \
	--with-uuid=e2fs \
	--with-libxml \
	--with-libxslt \
	--with-perl \
	--with-python \
	--with-tcl \
	--enable-nls \
	--with-system-tzdata=/usr/local/share/zoneinfo \
	|| exit

make && make install-strip DESTDIR=$TCZ || exit
cd contrib && make && make install-strip DESTDIR=$TCZ && cd .. || exit

mkdir -p $TCZ-dev/usr/local/$PGDIR/bin
mkdir -p $TCZ-dev/usr/local/$PGDIR/lib
mkdir -p $TCZ-client/usr/local/$PGDIR/bin
mkdir -p $TCZ-client/usr/local/$PGDIR/lib

mv $TCZ/usr/local/$PGDIR/include $TCZ-dev/usr/local/$PGDIR
mv $TCZ/usr/local/$PGDIR/lib/pgxs $TCZ-dev/usr/local/$PGDIR/lib
mv $TCZ/usr/local/$PGDIR/lib/pkgconfig $TCZ-dev/usr/local/$PGDIR/lib
mv $TCZ/usr/local/$PGDIR/lib/*.a $TCZ-dev/usr/local/$PGDIR/lib
cp -a $TCZ/usr/local/$PGDIR/lib $TCZ-dev/usr/local/$PGDIR
mv $TCZ/usr/local/$PGDIR/bin/pg_config $TCZ-dev/usr/local/$PGDIR/bin

cp $TCZ/usr/local/$PGDIR/bin/psql $TCZ-client/usr/local/$PGDIR/bin
cp -a $TCZ/usr/local/$PGDIR/lib/libpq.so* $TCZ-client/usr/local/$PGDIR/lib

sudo chown -R root.root $TCZ*

mksquashfs $TCZ /tmp/$EXT/$EXT.tcz -noappend
mksquashfs $TCZ-dev /tmp/$EXT/$EXT-dev.tcz -noappend
mksquashfs $TCZ-client /tmp/$EXT/$EXT-client.tcz -noappend

