This repository was archived by the owner on Feb 8, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 309
/
Copy pathbootstrap-debian.sh
executable file
·74 lines (62 loc) · 1.68 KB
/
bootstrap-debian.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/env bash
set -e # exit when any command fails
echo "[*] Installing base dependencies..
g++ - for compiling libsass
git
libpq-dev - for compiling psycopg2
make
postgresql
postgresql-contrib - pg_trgm, pg_stat_statements
python
python-dev - for building misaka
libffi-dev
libssl-dev - for building cryptography"
sudo apt-get update
sudo apt-get install -y \
g++ \
git \
libpq-dev \
make \
postgresql \
postgresql-contrib \
python \
language-pack-en \
python-dev \
libffi-dev \
libssl-dev
echo "[*] Installing dependencies for tests..
default-jre - jstests need java to run selenium
nodejs-legacy - for grunt, which calls 'node' executable,
which was renamed to nodejs in Debian/Ubuntu
npm
"
sudo apt-get install -y \
default-jre \
nodejs-legacy \
npm
echo "[*] Checking if current user has access to create databases.."
if [ -z "$(sudo -i -u postgres psql -tAc "SELECT 1 FROM pg_roles WHERE rolname='$USER'")" ];
then
echo "'$USER' entry does not exist in PostgreSQL, creating.."
sudo -i -u postgres createuser --superuser "$USER"
fi;
echo "[*] Creating databases.."
db_exists() {
if [ -n "$(psql template1 -tAc "select datname from pg_database where datname='$1'")" ];
then
return 0;
fi
return 1;
}
if ! db_exists gratipay-test;
then
echo "..creating gratipay-test"
createdb gratipay-test
psql -q gratipay-test -c 'alter database "gratipay-test" set synchronous_commit to off'
fi
if ! db_exists gratipay;
then
echo "..creating gratipay"
createdb gratipay
fi
echo "done"