#!/bin/bash
# Script to make a expat .tcel from source.  Requires the compiletc.tce extensionl

#cflags and other stuff is set in bashrc.

NAME=expat
VERSION=2.0.1
DOWNLOAD=http://downloads.sourceforge.net/expat
SOURCE="$NAME"-"$VERSION".tar.gz
MD5SUM=ee8b492592568805593f81f8cdf2a04c
TMPDIR=/tmp/"$NAME"6548
PKG="$TMPDIR"/pkg
DEV="$TMPDIR"/dev
LIST="$TMPDIR"/"$NAME".list
LIST1="$TMPDIR"/"$NAME"1.list
SRCDIR=/tmp
DIALOG=dialog

download() {
cd "$SRCDIR"
if [ -e "$SOURCE" ]; then
if [ $(md5sum "$SOURCE" | cut -c1-32) != "$MD5SUM" ]; then
rm "$SOURCE"
fi
fi
if [ ! -e "$SOURCE" ]; then
wget "$DOWNLOAD"/"$SOURCE"
fi
if [ $(md5sum "$SOURCE" | cut -c1-32) = "$MD5SUM" ]; then
echo "md5sum passed."
else
echo "Download failed. aborting"
exit 1;
fi
}




build_source() {
tar xzvf "$SRCDIR"/"$SOURCE" -C "$TMPDIR"
cd "$TMPDIR"/"$NAME"-"$VERSION"
patch -p1 < /home/tc/Downloads/CVE-2009-3720.patch
patch -p1 < /home/tc/Downloads/expat-2.0.1-CVE-2009-3560-revised.patch
sleep 4
./configure --prefix=/usr/local
make
make DESTDIR="$PKG" install
rm -r "$PKG"/usr/local/man
cd "$PKG"
find . | xargs file | grep "executable" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip -g 2> /dev/null
}

split_extension() {
mkdir -p "$DEV"/usr/local/lib
mv "$PKG"/usr/local/bin "$DEV"/usr/local/
mv "$PKG"/usr/local/include "$DEV"/usr/local/
mv "$PKG"/usr/local/lib/{*.a,*.la} "$DEV"/usr/local/lib/
}

make_extension() {
sleep 2
}

if [ -e "$TMPDIR" ]; then
rm -rf "$TMPDIR" 
fi
mkdir -p "$PKG" || exit 1
mkdir -p "$DEV" || exit 1
download || exit 1
build_source || exit 1
split_extension || exit 1
#make_extension || exit 1
echo "Done."