[tor-commits] [ooni-probe/master] fix checking if commands exist, other minor changes
art at torproject.org
art at torproject.org
Fri Apr 29 09:42:23 UTC 2016
commit 0e975d3c47a1a6d9cdbe028b2c3ce08aca6431ce
Author: juga0 <juga>
Date: Wed Dec 23 19:50:07 2015 +0000
fix checking if commands exist, other minor changes
* fix checking if commands exist
* only install virtualenv if it is needed to create a new one
* add/change debug ouput
---
scripts/psiphon_install.sh | 50 ++++++++++++++++++++++++++++------------------
1 file changed, 31 insertions(+), 19 deletions(-)
diff --git a/scripts/psiphon_install.sh b/scripts/psiphon_install.sh
index 117c823..12086c8 100755
--- a/scripts/psiphon_install.sh
+++ b/scripts/psiphon_install.sh
@@ -20,8 +20,10 @@ sh_c='sh -c'
if [ "$user" != 'root' ]; then
if command_exists sudo; then
sh_c='sudo sh -c -E'
+ echo "[D] using sudo"
elif command_exists su; then
sh_c='su -c --preserve-environment'
+ echo "[D] using su"
else
echo >&2 'Error: this installer needs the ability to run commands as root.'
echo >&2 'We are unable to find either "sudo" or "su" available to make this happen.'
@@ -29,42 +31,49 @@ if [ "$user" != 'root' ]; then
fi
fi
-echo "installing dependencies"
+echo "[D] installing dependencies"
$sh_c "apt-get -y install zlib1g-dev libssl-dev"
-if [ ! "command_exists hg" ]; then
+if ! command_exists hg; then
+ echo "[D] installing mercurial"
$sh_c "apt-get -y install mercurial"
fi
+echo "[D] mercurial installed"
cd $PSIPHON_PATH
if [ ! -d "psiphon-circumvention-system" ]; then
- echo "cloning psiphon repository"
+ echo "[D] cloning psiphon repository"
hg clone $PSIPHON_REPO_URL
fi
-echo "psiphon repository cloned"
+echo "[D] psiphon repository cloned"
# optional, compile their ssh
if [ ! -f "$PSIPHON_PYCLIENT_PATH/ssh" ]; then
- echo "compiling psiphon ssh"
+ echo "[D] compiling psiphon ssh"
cd psiphon-circumvention-system/Server/3rdParty/openssh-5.9p1/
./configure
make
- mv ssh ../../../pyclient/
+ mv ssh ../../../pyclient/pyclient/
make clean
- echo "psiphon ssh compiled"
+ echo "[D] psiphon ssh compiled"
fi
# check if we are in a virtualenv, create it otherwise
-echo "checking virtualenv"
+echo "[D] checking virtualenv"
if [ `python -c 'import sys; print hasattr(sys, "real_prefix")'` = "False" ]; then
- # not in a virtualenv
- # create a virtualenv
- # FIXME: assuming debian version will have secure pip/virtualenv
- if [ ! "command_exists virtualenv" ]; then
- $sh_c "apt-get -y install python-virtualenv"
- fi
+ echo "[D] not in a virtualenv"
if [ ! -f $OONI_VIRTUALENV_PATH/bin/activate ]; then
+ echo "[D] virtualenv not found"
+ # create a virtualenv
+ # FIXME: assuming debian version will have secure pip/virtualenv
+ if ! command_exists virtualenv; then
+ echo "[D] installing virtualenv"
+ $sh_c "apt-get -y install python-virtualenv"
+ else
+ echo "[D] virtualenv command found"
+ fi
+ echo "[D] creating a virtualenv"
# Set up the virtual environment
mkdir -p $HOME/.virtualenvs
virtualenv $OONI_VIRTUALENV_PATH
@@ -72,12 +81,12 @@ if [ `python -c 'import sys; print hasattr(sys, "real_prefix")'` = "False" ]; th
else
. $OONI_VIRTUALENV_PATH/bin/activate
fi
+ echo "[D] virtualenv activated"
fi
-echo "virtualenv activated"
# create psi_client.dat
-echo "creating servers data file"
-echo "installing dependencies to create servers data file"
+echo "[D] creating servers data file"
+echo "[D] installing dependencies to create servers data file"
pip install -v --timeout 60 wget
cd /tmp
cat <<EOF > psi_generate_dat.py
@@ -107,9 +116,12 @@ EOF
chmod +x psi_generate_dat.py
./psi_generate_dat.py
-echo "servers data file created"
+echo "[D] servers data file created"
mv psi_client.dat $PSIPHON_PYCLIENT_PATH
rm /tmp/psi_generate_dat.py
-echo "[+] Installing all of the Python dependency requirements with pip in your virtualenv!";
+echo "[D] installing all of the Python dependency requirements with pip in the virtualenv";
pip install -v --timeout 60 jsonpickle pexpect
+
+echo "You can now run Psiphon: cd ~/psiphon-circumvention-system/pyclient/pyclient;python psi_client.py"
+echo "NOTE that if OONI is not installed, you will not be able to run OONI Psiphon test"
More information about the tor-commits
mailing list