Description:
Update Ruby version to 2.2.0
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r202:f1e28e7f872c - - 1 file changed: 5 inserted, 4 deleted

@@ -1,121 +1,122
1 1 #!/bin/sh
2 2
3 3 echo "This script will install and configure Cafe grader."
4 4
5 - echo "This will install Ruby 2.1.2 under rvm"
5 + $RUBY_VERSION="2.2.0"
6 + echo "This will install Ruby $RUBY_VERSION under RVM"
6 7
7 8 echo "Installing required apts"
8 9
9 10 sudo apt-get update
10 11 sudo apt-get install mysql-server mysql-client \
11 12 g++ gcc apache2 libmysqlclient15-dev build-essential \
12 13 git-core openssl libreadline6 libreadline6-dev \
13 14 zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev \
14 15 sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev \
15 16 ncurses-dev automake libtool bison subversion \
16 17 pkg-config curl nodejs unzip
17 18
18 19 echo "Installing RVM"
19 20 curl -k -L https://get.rvm.io | bash -s stable
20 21 ~/.rvm/scripts/rvm
21 22
22 - echo "Installing Ruby 2.1.2 in RVM"
23 + echo "Installing Ruby $RUBY_VERSION in RVM"
23 24
24 - rvm install 2.1.2
25 - rvm use 2.1.2
25 + rvm install $RUBY_VERSION
26 + rvm use $RUBY_VERSION
26 27
27 28 echo "Fetching Cafe Grader from Git repositories"
28 29
29 30 echo "Fetching web interface"
30 31
31 32 mkdir cafe_grader
32 33 cd cafe_grader
33 34 git clone -q git://github.com/jittat/cafe-grader-web.git web
34 35
35 36 echo "Configuring rails app"
36 37
37 38 cp web/config/application.rb.SAMPLE web/config/application.rb
38 39 cp web/config/initializers/cafe_grader_config.rb.SAMPLE web/config/initializers/cafe_grader_config.rb
39 40
40 41 #replace UTC in application.rb with the system timezone
41 42 timezone='UTC'
42 43 if [ -f '/etc/timezone' ]; then
43 44 timezone=\"`cat /etc/timezone`\"
44 45 else
45 46 if [ -f '/etc/sysconfig/clock' ]; then
46 47 timezone=`grep -e '^TIMEZONE' /etc/sysconfig/clock | grep -o -e '\".*\"'`
47 48 fi
48 49 fi
49 50 replace="s!'UTC'!$timezone!g"
50 51 sed -i $replace web/config/application.rb
51 52
52 53 echo "At this point we will need MySQL user and database."
53 54 echo "Have you created MySQL user and database for Cafe grader? (Y/N) "
54 55 read ch
55 56
56 57 if [ "$ch" = "n" -o "$ch" = "N" ]
57 58 then
58 59 echo "Please open another terminal and create the user and database for Cafe grader."
59 60 echo "Don't forget to grant access to that database for the user."
60 61 echo "Please have username, password, and database name ready before continue."
61 62 echo
62 63 echo "The following are instructions:"
63 64 echo "1. Run mysql:"
64 65 echo
65 66 echo " mysql -u root -p"
66 67 echo
67 68 echo " if you have just installed mysql, the root password is the one that you have just entered"
68 69 echo "2. Create a new database, a new user, and grant access to grader database:"
69 70 echo
70 71 echo " create user 'USERNAME'@'localhost' identified by 'PASSWORD';"
71 72 echo " create database \`DATABASENEME\`;"
72 73 echo " grant all on \`DATABASENAME\`.* to 'USERNAME'@'localhost';"
73 74 echo
74 75 echo " Replace USERNAME, PASSWORD, and DATABASENAME accordingly."
75 76 echo
76 77 echo "Hit enter when ready..."
77 78 read dummy
78 79 fi
79 80
80 81 CAFE_PATH=`pwd`
81 82
82 83 cd web
83 84
84 85 echo "Please provide grader database:"
85 86 read database
86 87
87 88 echo "Please provide grader username:"
88 89 read username
89 90
90 91 echo "Please provide $username password:"
91 92 read password
92 93
93 94 echo "development:" > config/database.yml
94 95 echo " adapter: mysql2" >> config/database.yml
95 96 echo " encoding: utf8" >> config/database.yml
96 97 echo " reconnect: false" >> config/database.yml
97 98 echo " database: $database" >> config/database.yml
98 99 echo " pool: 5" >> config/database.yml
99 100 echo " username: $username" >> config/database.yml
100 101 echo " password: $password" >> config/database.yml
101 102 echo " host: localhost" >> config/database.yml
102 103 echo " socket: /var/run/mysqld/mysqld.sock" >> config/database.yml
103 104 echo "" >> config/database.yml
104 105 echo "production:" >> config/database.yml
105 106 echo " adapter: mysql2" >> config/database.yml
106 107 echo " encoding: utf8" >> config/database.yml
107 108 echo " reconnect: false" >> config/database.yml
108 109 echo " database: $database" >> config/database.yml
109 110 echo " pool: 5" >> config/database.yml
110 111 echo " username: $username" >> config/database.yml
111 112 echo " password: $password" >> config/database.yml
112 113 echo " host: localhost" >> config/database.yml
113 114 echo " socket: /var/run/mysqld/mysqld.sock" >> config/database.yml
114 115
115 116 echo "Object.instance_eval{remove_const :GRADER_ROOT_DIR}" >> config/initializers/cafe_grader_config.rb
116 117 echo "Object.instance_eval{remove_const :GRADING_RESULT_DIR}" >> config/initializers/cafe_grader_config.rb
117 118 echo "GRADER_ROOT_DIR = '$CAFE_PATH/judge'" >> config/initializers/cafe_grader_config.rb
118 119 echo "GRADING_RESULT_DIR = '$CAFE_PATH/judge/result'" >> config/initializers/cafe_grader_config.rb
119 120
120 121 echo "Installing required gems"
121 122 gem install bundler
You need to be logged in to leave comments. Login now