| Revision 29 (by dpavlin, 2007/05/26 23:16:58) |
fine-tune script (old changes, not commited)
|
#!/bin/sh
sudo echo "Cache credentials for sudo..."
function check_upstream() {
what="$1"
upstream=`wget -O - http://${what}.sourceforge.net/ -o /dev/null | grep "Latest Source Package" | cut -d\" -f2`
echo "Upstream version of $what is $upstream"
if echo $upstream | grep 'http://' ; then
wget -nc -c $upstream
else
wget -nc -c http://${what}.sourceforge.net/$upstream
fi
upstream_ver=`echo $upstream | cut -d- -f2 | sed 's/\.tar.gz//'`
}
d=`pwd`
tmp="/tmp/est-latest"
function extract() {
arc="$1"
name=`echo $arc | cut -d- -f1`
ver=`echo $arc | cut -d- -f2 | sed 's/\.tar.gz//'`
if dpkg -l "$name" | grep "^ii" | grep "$ver" 2>&1 >/dev/null ; then
echo "Skipping $name [$ver], allready installed."
return
fi
mkdir $tmp
cd $tmp
opt=""
if [ "$name" == "qdbm" ] ; then
opt="--enable-gzip"
echo "remove current hyperestraier because we will rebuild qdbm..."
sudo apt-get remove -y hyperestraier
fi
echo "Extracting $name [$ver] to $tmp"
tar xvfz "$d/$arc"
cd *
./configure
make
sudo checkinstall -y
# build perl bindings?
test -d perlnative && (
echo "*** installing native perl bindings"
cd perlnative
./configure
make
sudo make install
)
cd $d
sudo rm -Rf $tmp
}
dpkg -l | awk '{ print $2 }' | egrep '^lib(estraier|qdbm)' | xargs sudo apt-get remove -y
qdbm_ver="$1"
est_ver="$2"
if [ -z "$qdbm_ver" ] ; then
check_upstream 'qdbm'
extract "qdbm-${upstream_ver}.tar.gz"
else
extract `ls -m qdbm-${qdbm_ver}.tar.gz | head -1`
fi
if [ -z "$est_ver" ] ; then
check_upstream 'hyperestraier'
extract "hyperestraier-${upstream_ver}.tar.gz"
else
extract `ls -m hyperestraier-${est_ver}.tar.gz | head -1`
fi