This repository has been archived by the owner on Jan 2, 2020. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
4 changed files
with
160 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
#!/bin/bash | ||
# | ||
# Copyright (c) 2014 ThoughtWorks, Inc. | ||
# | ||
# Pixelated is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU Affero General Public License as published by | ||
# the Free Software Foundation, either version 3 of the License, or | ||
# (at your option) any later version. | ||
# | ||
# Pixelated is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU Affero General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU Affero General Public License | ||
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
# test dependencies | ||
|
||
set -e | ||
export NODE_PATH='/home/vagrant/boxed_node_modules/node_modules/' | ||
|
||
if [ ! $USERNAME ] | ||
then | ||
export USERNAME=`whoami` | ||
fi | ||
|
||
usage() { echo "Usage: $0 [-v <virtualenv path>] [-n <custom node modules directory>]" 1>&2; exit 1; } | ||
|
||
VIRTUALENV_PATH=".virtualenv" | ||
CUSTOM_NODE_MODULES_LOCATION="" | ||
while getopts "n:v:" OPT; do | ||
case "${OPT}" in | ||
v) | ||
VIRTUALENV_PATH=${OPTARG} | ||
;; | ||
n) # custom node_modules installation | ||
CUSTOM_NODE_MODULES_LOCATION=${OPTARG} | ||
;; | ||
*) | ||
usage | ||
;; | ||
esac | ||
done | ||
shift $((OPTIND-1)) | ||
|
||
function check_installed() { | ||
set +e | ||
which $1 | ||
if [ $? -ne 0 ]; then | ||
echo "## You must have ${1} installed and in the PATH to run Pixelated-User-Agent" | ||
echo "## Check our wiki for more information on dependencies:" | ||
echo "## https://github.com/pixelated-project/pixelated-user-agent/wiki/Installing-dependencies" | ||
echo "## exiting..." | ||
exit 1 | ||
fi | ||
set -e | ||
} | ||
|
||
|
||
# The below is necessary to allow node to use enough memory | ||
# so that installing phantomjs won't fail | ||
mkdir -p /home/vagrant/bin | ||
cat > /home/vagrant/bin/node <<EOF | ||
#!/usr/bin/env bash | ||
/usr/bin/node --max_old_space_size=2000 "\$@" | ||
EOF | ||
chmod +x /home/vagrant/bin/node | ||
export PATH=/home/vagrant/bin:$PATH | ||
|
||
|
||
function install_node_modules_at_custom_location() { | ||
local LOCATION="$1" | ||
local WEBUI_DIR=$(pwd) | ||
|
||
if [ -e "$WEBUI_DIR/node_modules" ] ; then | ||
echo "It seems there is already a node_modules folder" 1>&2 | ||
return | ||
fi | ||
|
||
if [ ! -e "$LOCATION" ] ; then | ||
mkdir "$LOCATION" | ||
pushd "$LOCATION" | ||
|
||
ln -s "$WEBUI_DIR/package.json" package.json | ||
npm install | ||
|
||
popd | ||
fi | ||
|
||
if [ ! -h "node_modules" ] ; then | ||
rm -Rf "node_modules" | ||
ln -s "$LOCATION/node_modules" node_modules | ||
fi | ||
} | ||
|
||
for dependency in node npm ruby virtualenv git gpg compass; do | ||
check_installed $dependency | ||
done | ||
|
||
# install web-ui dependencies | ||
cd web-ui | ||
UIPATH=`pwd` | ||
|
||
if [ -z "$CUSTOM_NODE_MODULES_LOCATION" ] ; then | ||
npm install | ||
else | ||
install_node_modules_at_custom_location "$CUSTOM_NODE_MODULES_LOCATION" | ||
fi | ||
|
||
node_modules/bower/bin/bower -V install --config.interactive=false --allow-root | ||
LC_ALL=en_US.UTF-8 ./go build | ||
|
||
# install service dependencies | ||
cd .. | ||
rm -rf "$VIRTUALENV_PATH" | ||
virtualenv "$VIRTUALENV_PATH" | ||
source "$VIRTUALENV_PATH/bin/activate" | ||
# they can't be on the same command because it breaks pip upgrade | ||
pip install --upgrade pip | ||
pip install --upgrade setuptools | ||
make setup | ||
pip uninstall -y enum34 && pip install enum34 | ||
pip uninstall -y pysqlcipher && pip install pysqlcipher # this is needed so pysqlcipher gets recompiled with the right version of glibc | ||
|
||
# print usage | ||
cat <<EOF | ||
############### | ||
## You will need an account in a LEAP provider with mail support. | ||
## Once you are done, activate your virtual environment by running: | ||
## source $VIRTUALENV_PATH/bin/activate | ||
## The User agent will be available on http://localhost:3333 after running: | ||
## pixelated-user-agent | ||
EOF |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/bin/bash | ||
|
||
type -t deactivate && deactivate | ||
set -e | ||
pushd .. | ||
make $* | ||
popd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
[pixelated] | ||
HOST=0.0.0.0 | ||
PORT=8080 | ||
LEAP_SERVER_NAME=try.pixelated-project.org | ||
LEAP_USERNAME=alice | ||
LEAP_PASSWORD=WuSh3ohse4 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
[pixelated] | ||
HOST=0.0.0.0 | ||
PORT=8080 | ||
LEAP_SERVER_NAME=try.pixelated-project.org | ||
LEAP_USERNAME=bob | ||
LEAP_PASSWORD=quuojoo1Su | ||
|