bootstrap/config.py: add a hind how to rebuild generated files
[garming/samba-autobuild/.git] / install_with_python.sh
1 #!/bin/sh
2
3 # this script installs a private copy of python in the same prefix as Samba
4
5 if [ $# -lt 1 ]; then
6 cat <<EOF
7 Usage: install_with_python.sh PREFIX [CONFIGURE OPTIONS]
8 EOF
9 exit 1;
10 fi
11
12 PREFIX="$1"
13 shift
14
15 LD_LIBRARY_PATH=$PREFIX/python/lib:$LD_LIBRARY_PATH
16 export LD_LIBRARY_PATH
17
18 VERSION="Python-2.6.5"
19
20 do_install_python() {
21        set -e
22        mkdir -p python_install
23        rsync -avz samba.org::ftp/tridge/python/$VERSION.tar python_install
24        cd python_install
25        rm -rf $VERSION
26
27        # Verify that the download hasn't been corrupted
28        # This checks Python-2.6.5, while more hashes my be added later.
29        if command -v sha256sum
30        then
31             echo "2f1ec5e52d122bf1864529c1bbac7fe6afc10e3a083217b3a7bff5ded37efcc3  Python-2.6.5.tar" > checksums.sha256
32             sha256sum --status -c checksums.sha256
33        else
34             echo "c83cf77f32463c3949b85c94f661c090  Python-2.6.5.tar" > checksums.md5
35             md5sum --status -c checksums.md5
36        fi
37
38        tar -xf $VERSION.tar
39        cd $VERSION
40        ./configure --prefix=$PREFIX/python --enable-shared --disable-ipv6
41        make
42        make install
43        cd ../..
44        rm -rf python_install
45 }
46
47 cleanup_install_python() {
48        rm -rf python_install
49        exit 1
50 }
51
52 if [ ! -d $PREFIX/python ]; then
53    trap "cleanup_install_python" 0
54    # needs to be installed
55    do_install_python
56 fi
57
58 PYTHON=$PREFIX/python/bin/python
59 export PYTHON
60
61 `dirname $0`/configure --prefix=$PREFIX $@ || exit 1
62 make -j || exit 1
63 make install || exit 1