1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00
samba-mirror/install_with_python.sh
Adrian Cochrane c596ac60a5 install_with_python: Secure Python download with sha256 checks.
Includes a fallback using md5sum and a refactor to ensure files are cleaned up on failure.

Signed-off-by: Adrian Cochrane <adrianc@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Martin Schwenke <martin@meltin.net>

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri Jul 24 05:19:06 CEST 2015 on sn-devel-104
2015-07-24 05:19:05 +02:00

64 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
# this script installs a private copy of python in the same prefix as Samba
if [ $# -lt 1 ]; then
cat <<EOF
Usage: install_with_python.sh PREFIX [CONFIGURE OPTIONS]
EOF
exit 1;
fi
PREFIX="$1"
shift
LD_LIBRARY_PATH=$PREFIX/python/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
VERSION="Python-2.6.5"
do_install_python() {
set -e
mkdir -p python_install
rsync -avz samba.org::ftp/tridge/python/$VERSION.tar python_install
cd python_install
rm -rf $VERSION
# Verify that the download hasn't been corrupted
# This checks Python-2.6.5, while more hashes my be added later.
if command -v sha256sum
then
echo "2f1ec5e52d122bf1864529c1bbac7fe6afc10e3a083217b3a7bff5ded37efcc3 Python-2.6.5.tar" > checksums.sha256
sha256sum --status -c checksums.sha256
else
echo "c83cf77f32463c3949b85c94f661c090 Python-2.6.5.tar" > checksums.md5
md5sum --status -c checksums.md5
fi
tar -xf $VERSION.tar
cd $VERSION
./configure --prefix=$PREFIX/python --enable-shared --disable-ipv6
make
make install
cd ../..
rm -rf python_install
}
cleanup_install_python() {
rm -rf python_install
exit 1
}
if [ ! -d $PREFIX/python ]; then
trap "cleanup_install_python" 0
# needs to be installed
do_install_python
fi
PYTHON=$PREFIX/python/bin/python
export PYTHON
`dirname $0`/configure --prefix=$PREFIX $@ || exit 1
make -j || exit 1
make install || exit 1