Commit 334e55115c1264f5e74807a1e317c502d10053e8
1 parent
1b036cdc
Exists in
master
and in
29 other branches
Generalize the quick-start script
Showing
3 changed files
with
78 additions
and
50 deletions
Show diff stats
... | ... | @@ -0,0 +1,8 @@ |
1 | +# needed to run noosfero | |
2 | +runtime_dependencies=$(sed -e '1,/^Depends:/d; /^Recommends:/,$ d; s/([^)]*)//g; s/,\s*/\n/g' debian/control | grep -v 'memcached\|debconf\|dbconfig-common\|postgresql\|misc:Depends\|adduser\|mail-transport-agent') | |
3 | +run sudo apt-get -y install $runtime_dependencies | |
4 | + | |
5 | +# needed for development | |
6 | +run sudo apt-get -y install libtidy-ruby libhpricot-ruby libmocha-ruby imagemagick po4a xvfb libxml2-dev libxslt-dev | |
7 | +gem which bundler >/dev/null 2>&1 || run gem install bundler | |
8 | +run bundle install | ... | ... |
... | ... | @@ -0,0 +1,70 @@ |
1 | +#!/bin/sh | |
2 | + | |
3 | +say() { | |
4 | + msg="$@" | |
5 | + printf "\033[33;01m%s\033[m\n" "$msg" | |
6 | +} | |
7 | + | |
8 | +complain() { | |
9 | + msg="$@" | |
10 | + printf "\033[1;31;40m%s\033[m\n" "$msg" | |
11 | +} | |
12 | + | |
13 | +run() { | |
14 | + say "\$ $@" | |
15 | + echo "$@" | sh | |
16 | + status="$?" | |
17 | + if [ $status -ne 0 ]; then | |
18 | + complain "E: The command \"$@\" failed with status code $status, we cannot proceed." | |
19 | + complain "I: If you have no idea of what went wrong, please feel free to ask for help in the Noosfero community. Check the contact information in the project website (http://noosfero.org/)." | |
20 | + exit 1 | |
21 | + fi | |
22 | +} | |
23 | + | |
24 | +if gem which system_timer >/dev/null 2>&1 && which xvfb-run >/dev/null 2>&1; then | |
25 | + say "Assuming dependencies are already installed. Pass --install to force their installation" | |
26 | +else | |
27 | + if !which lsb_release >/dev/null 2>&1; then | |
28 | + complain "E: lsb_release not available! (Try installing the lsb-release package)" | |
29 | + exit 1 | |
30 | + fi | |
31 | + system=$(echo $(lsb_release -sic) | awk '{print(tolower($1) "-" tolower($2))}') | |
32 | + install_script="$(dirname $0)/install-dependencies/${system}.sh" | |
33 | + if test -f "$install_script"; then | |
34 | + . $install_script | |
35 | + else | |
36 | + # FIXME the Ruby stuff could be installed with Rubygems | |
37 | + # FIXME but there is not generic way to install the non-Ruby stuff | |
38 | + complain "E: $install_script not found, cannot install dependencies." | |
39 | + exit 1 | |
40 | + fi | |
41 | +fi | |
42 | + | |
43 | +# setup solr | |
44 | +run 'rake solr:download || true' | |
45 | +if ! test -f vendor/plugins/acts_as_solr_reloaded/solr/start.jar; then | |
46 | + complain "Failed to download solr!" | |
47 | + exit 1 | |
48 | +fi | |
49 | + | |
50 | +run cp config/solr.yml.dist config/solr.yml | |
51 | + | |
52 | +# create the database with sample data | |
53 | +run cp config/database.yml.sqlite3 config/database.yml | |
54 | +run rake db:schema:load | |
55 | +run rake db:data:minimal | |
56 | +run rake db:test:prepare | |
57 | + | |
58 | +# compile translations | |
59 | +run rake noosfero:translations:compile | |
60 | + | |
61 | +# create needed directory | |
62 | +mkdir -p tmp/pids | |
63 | + | |
64 | +# use default gitignore rules | |
65 | +ln -s gitignore.example .gitignore | |
66 | + | |
67 | +# you can now start the server | |
68 | +say "I: Congratulations, you are ready to run Noosfero." | |
69 | +say "I: To execute Noosfero in development mode, run \`/script/development\` and browse to http://localhost:3000" | |
70 | +say "I: To execute Noosfero tests, run \`rake\`." | ... | ... |
script/quick-start-debian
... | ... | @@ -1,50 +0,0 @@ |
1 | -#!/bin/sh | |
2 | - | |
3 | -say() { | |
4 | - msg="$@" | |
5 | - printf "\033[33;01m%s\033[m\n" "$msg" | |
6 | -} | |
7 | - | |
8 | -run() { | |
9 | - say "\$ $@" | |
10 | - echo "$@" | sh | |
11 | - status="$?" | |
12 | - if [ $status -ne 0 ]; then | |
13 | - say "E: The command \"$@\" failed with status code $status, we cannot proceed." | |
14 | - say "I: If you have no idea of what went wrong, please feel free to ask for help in the Noosfero community. Check the contact information in the project website (http://noosfero.org/)." | |
15 | - exit 1 | |
16 | - fi | |
17 | -} | |
18 | - | |
19 | -# needed to run noosfero | |
20 | -runtime_dependencies=$(sed -e '1,/^Depends:/d; /^Recommends:/,$ d; s/([^)]*)//g; s/,\s*/\n/g' debian/control | grep -v 'memcached\|debconf\|dbconfig-common\|postgresql\|misc:Depends\|adduser\|mail-transport-agent') | |
21 | -run sudo apt-get -y install $runtime_dependencies | |
22 | - | |
23 | -# needed for development | |
24 | -run sudo apt-get -y install libtidy-ruby libhpricot-ruby libmocha-ruby imagemagick po4a xvfb libxml2-dev libxslt-dev | |
25 | -gem which bundler >/dev/null 2>&1 || run gem install bundler | |
26 | -run bundle install | |
27 | - | |
28 | -# setup solr | |
29 | -run rake solr:download | |
30 | -run cp config/solr.yml.dist config/solr.yml | |
31 | - | |
32 | -# create the database with sample data | |
33 | -run cp config/database.yml.sqlite3 config/database.yml | |
34 | -run rake db:schema:load | |
35 | -run rake db:data:minimal | |
36 | -run rake db:test:prepare | |
37 | - | |
38 | -# compile translations | |
39 | -run rake noosfero:translations:compile | |
40 | - | |
41 | -# create needed directory | |
42 | -mkdir -p tmp/pids | |
43 | - | |
44 | -# use default gitignore rules | |
45 | -ln -s gitignore.example .gitignore | |
46 | - | |
47 | -# you can now start the server | |
48 | -say "I: Congratulations, you are ready to run Noosfero." | |
49 | -say "I: To execute Noosfero in development mode, run \`/script/development\` and browse to http://localhost:3000" | |
50 | -say "I: To execute Noosfero tests, run \`rake\`." |