1 |
dpavlin |
22 |
#!/bin/sh |
2 |
|
|
|
3 |
|
|
sudo echo "Cache credentials for sudo..." |
4 |
|
|
|
5 |
|
|
function check_upstream() { |
6 |
|
|
what="$1" |
7 |
|
|
upstream=`wget -O - http://${what}.sourceforge.net/ -o /dev/null | grep "Latest Source Package" | cut -d\" -f2` |
8 |
|
|
|
9 |
|
|
echo "Upstream version of $what is $upstream" |
10 |
|
|
|
11 |
dpavlin |
23 |
if echo $upstream | grep 'http://' ; then |
12 |
dpavlin |
22 |
wget -nc -c $upstream |
13 |
|
|
else |
14 |
|
|
wget -nc -c http://${what}.sourceforge.net/$upstream |
15 |
|
|
fi |
16 |
dpavlin |
29 |
|
17 |
|
|
upstream_ver=`echo $upstream | cut -d- -f2 | sed 's/\.tar.gz//'` |
18 |
dpavlin |
22 |
} |
19 |
|
|
|
20 |
|
|
d=`pwd` |
21 |
|
|
tmp="/tmp/est-latest" |
22 |
|
|
|
23 |
|
|
function extract() { |
24 |
|
|
arc="$1" |
25 |
|
|
|
26 |
|
|
name=`echo $arc | cut -d- -f1` |
27 |
|
|
ver=`echo $arc | cut -d- -f2 | sed 's/\.tar.gz//'` |
28 |
|
|
|
29 |
dpavlin |
24 |
if dpkg -l "$name" | grep "^ii" | grep "$ver" 2>&1 >/dev/null ; then |
30 |
dpavlin |
22 |
echo "Skipping $name [$ver], allready installed." |
31 |
|
|
return |
32 |
|
|
fi |
33 |
|
|
|
34 |
|
|
mkdir $tmp |
35 |
|
|
cd $tmp |
36 |
|
|
|
37 |
dpavlin |
29 |
opt="" |
38 |
|
|
if [ "$name" == "qdbm" ] ; then |
39 |
|
|
opt="--enable-gzip" |
40 |
|
|
echo "remove current hyperestraier because we will rebuild qdbm..." |
41 |
|
|
sudo apt-get remove -y hyperestraier |
42 |
|
|
fi |
43 |
|
|
|
44 |
dpavlin |
22 |
echo "Extracting $name [$ver] to $tmp" |
45 |
|
|
tar xvfz "$d/$arc" |
46 |
|
|
cd * |
47 |
|
|
./configure |
48 |
|
|
make |
49 |
|
|
sudo checkinstall -y |
50 |
dpavlin |
27 |
|
51 |
|
|
# build perl bindings? |
52 |
|
|
test -d perlnative && ( |
53 |
|
|
echo "*** installing native perl bindings" |
54 |
|
|
cd perlnative |
55 |
|
|
./configure |
56 |
|
|
make |
57 |
|
|
sudo make install |
58 |
|
|
) |
59 |
|
|
|
60 |
dpavlin |
22 |
cd $d |
61 |
|
|
sudo rm -Rf $tmp |
62 |
|
|
} |
63 |
|
|
|
64 |
dpavlin |
29 |
dpkg -l | awk '{ print $2 }' | egrep '^lib(estraier|qdbm)' | xargs sudo apt-get remove -y |
65 |
dpavlin |
24 |
|
66 |
dpavlin |
26 |
qdbm_ver="$1" |
67 |
|
|
est_ver="$2" |
68 |
dpavlin |
22 |
|
69 |
dpavlin |
26 |
if [ -z "$qdbm_ver" ] ; then |
70 |
|
|
check_upstream 'qdbm' |
71 |
dpavlin |
29 |
extract "qdbm-${upstream_ver}.tar.gz" |
72 |
dpavlin |
26 |
else |
73 |
dpavlin |
29 |
extract `ls -m qdbm-${qdbm_ver}.tar.gz | head -1` |
74 |
dpavlin |
26 |
fi |
75 |
dpavlin |
22 |
|
76 |
dpavlin |
26 |
if [ -z "$est_ver" ] ; then |
77 |
|
|
check_upstream 'hyperestraier' |
78 |
dpavlin |
29 |
extract "hyperestraier-${upstream_ver}.tar.gz" |
79 |
dpavlin |
26 |
else |
80 |
dpavlin |
29 |
extract `ls -m hyperestraier-${est_ver}.tar.gz | head -1` |
81 |
dpavlin |
26 |
fi |