linux_provision 0.9.7 → 0.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDUzZjY4NGRiZGIwZWIyOGM0MDI4Y2Q4OTZlNTI1ZDRmMWRiNzI4MQ==
4
+ ZjE4ZDM5OWUzMGM1YWE3OTA3MmFkNmJhMDE1NjVmMGVhYzYxYzE4NQ==
5
5
  data.tar.gz: !binary |-
6
- ZDU3Mjc4OWNmYzYxZjQxZTEyMDk2MmY5NDk2YzVmNGI1MzFiNjQ2NA==
6
+ YWJlMTE3MDEwZTg3YTE0ZjUxMjAyYzYzZWNjMDZkYzA2YzA1ZDFiZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NDY1MDNiNTI0MzM4YjQ5ODE2OTY5ZDFhZTIyM2ZkNzE2ODdlY2EwNDM0MDQ3
10
- ZjBlMzk1NDA5ZGQ4YzRkMDkxNGRlNTVkMTM3NWRkNzViNjRkMjkxMGM2ODVi
11
- ZmM2N2M4NzMyOGIxNjM4ZWJhZTRlODE3ZGZhMDEyZWUyZDI4MTg=
9
+ MTAyNWQ4OGQ4OTg3MDNhNjdlYWRlZDU4YTY5MzUwYjdkNGM0YjcxZjY4NTNk
10
+ NzlmYzMwY2I5ZmIyZDJkZjEzZTZmYTM3OTFlYWFlNTg3MmU3YmEwYmRlMjI3
11
+ MTUwNTMxMTU5MDJiNjk5OTc3ZjdhNjNkY2FhMzBiZjMwMGE5MDc=
12
12
  data.tar.gz: !binary |-
13
- NDNiOTcxMmQ2ODBlNWEzOTAwZjVkYTEyNzNhMTM5ODAwNTU2MjU1NTIxMjAw
14
- ZjRiYjE1M2NiYWQ5ZDU1NDNjMzU0ZDA2M2EyZGVmMDFmM2RiNDFiZjI3ZDg4
15
- MTBmYjI3NzQ2NzFlNDFiMWNiZjMxODNiOTJiYmMxNTI2ZGJiNjU=
13
+ NzEwMGQzYmVjODZjM2RmNGQ4YWY5OWVmNzJlZjUyMTUxZWQ4MTlkNTBkMmM1
14
+ YWM5MWI2NmIyNGFhZmZmNTlhY2ZlZjQ1MDY5MjE1NzIwMDI3MjcwNWU4NjE0
15
+ NjI2ZWY3MGMwNmU4N2ZiZjMyNzE2OWU3ZWJmMDFmZmM1OWMwOTc=
@@ -207,7 +207,7 @@
207
207
  <orderEntry type="sourceFolder" forTests="false" />
208
208
  <orderEntry type="library" scope="PROVIDED" name="addressable (v2.3.6, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
209
209
  <orderEntry type="library" scope="PROVIDED" name="blankslate (v2.1.2.4, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
210
- <orderEntry type="library" scope="PROVIDED" name="bundler (v1.6.0, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
210
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v1.6.2, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
211
211
  <orderEntry type="library" scope="PROVIDED" name="daemons (v1.1.9, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
212
212
  <orderEntry type="library" scope="PROVIDED" name="debugger-ruby_core_source (v1.3.5, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
213
213
  <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.2.5, RVM: ruby-1.9.3-p545 [linux_provision]) [gem]" level="application" />
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "node": {
3
- //"domain": "22.22.22.22",
4
- "domain": "192.168.59.103",
3
+ "domain": "22.22.22.22",
4
+ "port": "22",
5
+ //"domain": "192.168.59.103",
6
+ //"port": "42222",
5
7
  "user": "vagrant",
6
8
  "password": "vagrant",
7
9
  "home": "/home/vagrant",
8
- //"port": "22",
9
- "port": "42222",
10
10
  "remote": true
11
11
  },
12
12
 
data/CHANGES CHANGED
@@ -30,4 +30,8 @@
30
30
 
31
31
  == Version 0.9.7
32
32
 
33
- * Adding support for docker.
33
+ * Adding support for docker.
34
+
35
+ == Version 0.9.7
36
+
37
+ * Bug fix.
data/Vagrantfile CHANGED
@@ -60,7 +60,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
60
60
 
61
61
  # Every Vagrant virtual environment requires a box to build off of.
62
62
  # config.vm.box = "base"
63
- config.vm.box = "precise64"
63
+ #config.vm.box = "precise64"
64
+ config.vm.box = "ubuntu/trusty64"
64
65
 
65
66
  # Disable automatic box update checking. If you disable this, then
66
67
  # boxes will only be checked for updates when the user runs
@@ -92,7 +93,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
92
93
  # the path on the guest to mount the folder. And the optional third
93
94
  # argument is a set of non-required options.
94
95
  # config.vm.synced_folder "../data", "/vagrant_data"
95
- #config.vm.synced_folder "../linux_provision/demo", "/home/vagrant/demo"
96
+ config.vm.synced_folder "../linux_provision/demo", "/home/vagrant/demo"
96
97
 
97
98
  # Provider-specific configuration so you can fine-tune various
98
99
  # backing providers for Vagrant. These expose provider-specific options.
@@ -0,0 +1,62 @@
1
+ #!/bin/bash
2
+ #
3
+ # Selenium standalone server init script.
4
+ #
5
+ # For Debian-based distros.
6
+ #
7
+ ### BEGIN INIT INFO
8
+ # Provides: selenium-standalone
9
+ # Required-Start: $local_fs $remote_fs $network $syslog
10
+ # Required-Stop: $local_fs $remote_fs $network $syslog
11
+ # Default-Start: 2 3 4 5
12
+ # Default-Stop: 0 1 6
13
+ # Short-Description: Selenium standalone server
14
+ ### END INIT INFO
15
+
16
+ DESC="Selenium standalone server"
17
+ USER=selenium
18
+ JAVA=/usr/bin/java
19
+ PID_FILE=/var/run/selenium.pid
20
+ JAR_FILE=/usr/local/share/selenium/selenium-server-standalone-2.37.0.jar
21
+ LOG_FILE=/var/log/selenium/selenium.log
22
+
23
+ DAEMON_OPTS="-Xmx500m -Xss1024k -jar $JAR_FILE -log $LOG_FILE"
24
+ # See this Stack Overflow item for a delightful bug in Java that requires the
25
+ # strange-looking java.security.egd workaround below:
26
+ # http://stackoverflow.com/questions/14058111/selenium-server-doesnt-bind-to-socket-after-being-killed-with-sigterm
27
+ DAEMON_OPTS="-Djava.security.egd=file:/dev/./urandom $DAEMON_OPTS"
28
+
29
+ # The value for DISPLAY must match that used by the running instance of Xvfb.
30
+ export DISPLAY=:10
31
+
32
+ # Make sure that the PATH includes the location of the ChromeDriver binary.
33
+ # This is necessary for tests with Chromium to work.
34
+ export PATH=$PATH:/usr/local/bin
35
+
36
+ case "$1" in
37
+ start)
38
+ echo "Starting $DESC: "
39
+ start-stop-daemon -c $USER --start --background \
40
+ --pidfile $PID_FILE --make-pidfile --exec $JAVA -- $DAEMON_OPTS
41
+ ;;
42
+
43
+ stop)
44
+ echo "Stopping $DESC: "
45
+ start-stop-daemon --stop --pidfile $PID_FILE
46
+ ;;
47
+
48
+ restart)
49
+ echo "Restarting $DESC: "
50
+ start-stop-daemon --stop --pidfile $PID_FILE
51
+ sleep 1
52
+ start-stop-daemon -c $USER --start --background \
53
+ --pidfile $PID_FILE --make-pidfile --exec $JAVA -- $DAEMON_OPTS
54
+ ;;
55
+
56
+ *)
57
+ echo "Usage: /etc/init.d/selenium-standalone {start|stop|restart}"
58
+ exit 1
59
+ ;;
60
+ esac
61
+
62
+ exit 0
@@ -0,0 +1,79 @@
1
+ #!/bin/bash
2
+ #
3
+ # Xvfb init script for Debian-based distros.
4
+ #
5
+ # The display number used must match the DISPLAY environment variable used
6
+ # for other applications that will use Xvfb. e.g. ':10'.
7
+ #
8
+ # From: https://github.com/gmonfort/xvfb-init/blob/master/Xvfb
9
+ #
10
+ ### BEGIN INIT INFO
11
+ # Provides: xvfb
12
+ # Required-Start: $remote_fs $syslog
13
+ # Required-Stop: $remote_fs $syslog
14
+ # Default-Start: 2 3 4 5
15
+ # Default-Stop: 0 1 6
16
+ # Short-Description: Start/stop custom Xvfb
17
+ # Description: Enable service provided by xvfb
18
+ ### END INIT INFO
19
+
20
+ NAME=Xvfb
21
+ DESC="$NAME - X Virtual Frame Buffer"
22
+ SCRIPTNAME=/etc/init.d/$NAME
23
+ XVFB=/usr/bin/Xvfb
24
+ PIDFILE=/var/run/${NAME}.pid
25
+
26
+ # Using -extension RANDR doesn't seem to work anymore. Firefox complains
27
+ # about not finding extension RANDR whether or not you include it here.
28
+ # Fortunately this is a non-fatal warning and doesn't stop Firefox from working.
29
+ XVFB_ARGS=":10 -extension RANDR -noreset -ac -screen 10 1024x768x16"
30
+
31
+ set -e
32
+
33
+ if [ `id -u` -ne 0 ]; then
34
+ echo "You need root privileges to run this script"
35
+ exit 1
36
+ fi
37
+
38
+ [ -x $XVFB ] || exit 0
39
+
40
+ . /lib/lsb/init-functions
41
+
42
+ [ -r /etc/default/Xvfb ] && . /etc/default/Xvfb
43
+
44
+ case "$1" in
45
+ start)
46
+ log_daemon_msg "Starting $DESC" "$NAME"
47
+ if start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE \
48
+ --background --make-pidfile --exec $XVFB -- $XVFB_ARGS ; then
49
+ log_end_msg 0
50
+ else
51
+ log_end_msg 1
52
+ fi
53
+ log_end_msg $?
54
+ ;;
55
+
56
+ stop)
57
+ log_daemon_msg "Stopping $DESC" "$NAME"
58
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --retry 5
59
+ if [ $? -eq 0 ] && [ -f $PIDFILE ]; then
60
+ /bin/rm -rf $PIDFILE
61
+ fi
62
+ log_end_msg $?
63
+ ;;
64
+
65
+ restart|force-reload)
66
+ log_daemon_msg "Restarting $DESC" "$NAME"
67
+ $0 stop && sleep 2 && $0 start
68
+ ;;
69
+
70
+ status)
71
+ status_of_proc -p $PIDFILE $XVFB $NAME && exit 0 || exit $?
72
+ ;;
73
+
74
+ *)
75
+ log_action_msg "Usage: ${SCRIPTNAME} {start|stop|status|restart|force-reload}"
76
+ exit 2
77
+ ;;
78
+ esac
79
+ exit 0
@@ -12,18 +12,21 @@ sudo apt-get install -y subversion
12
12
  sudo apt-get install -y git
13
13
 
14
14
  # to support rvm
15
- sudo apt-get install -y gawk
16
- sudo apt-get install -y make
15
+
17
16
  sudo apt-get install -y libyaml-dev
18
17
  sudo apt-get install -y libsqlite3-dev
19
18
  sudo apt-get install -y sqlite3
20
19
  sudo apt-get install -y autoconf
21
20
  sudo apt-get install -y libgdbm-dev
22
21
  sudo apt-get install -y libncurses5-dev
23
- sudo apt-get install -y automake, libtool
22
+ sudo apt-get install -y automake
24
23
  sudo apt-get install -y bison
25
24
  sudo apt-get install -y pkg-config
26
25
  sudo apt-get install -y libffi-dev
26
+ sudo apt-get install -y libreadline6-dev
27
+ sudo apt-get install -y zlib1g-dev
28
+ sudo apt-get install -y libssl-dev
29
+ sudo apt-get install -y libtool
27
30
 
28
31
  #######################################
29
32
  [rvm]
@@ -210,53 +213,212 @@ COMMAND='#{command}'
210
213
  sudo service $SERVICE $COMMAND
211
214
 
212
215
 
216
+ #######################################
217
+ [selenium_prepare]
218
+
219
+ sudo apt-get install -y xvfb
220
+
221
+ sudo apt-get install -y x11-xkb-utils xfonts-100dpi xfonts-75dpi
222
+ sudo apt-get install -y xfonts-scalable xserver-xorg-core
223
+ sudo apt-get install -y dbus-x11
224
+ sudo apt-get install -y libfontconfig1-dev
225
+
226
+ sudo apt-get install -y firefox
227
+ sudo apt-get install -y chromium-browser
228
+
229
+ sudo apt-get install -y default-jdk
230
+
213
231
  #######################################
214
232
  [selenium]
215
233
  # http://www.labelmedia.co.uk/blog/setting-up-selenium-server-on-a-headless-jenkins-ci-build-machine.html
234
+ # https://www.exratione.com/2013/12/angularjs-headless-end-to-end-testing-with-protractor-and-selenium/
216
235
  # Installs selenium server
217
236
 
237
+ sudo /usr/sbin/useradd -m -s /bin/bash -d /home/selenium selenium
238
+ echo 'selenium:selenium' |chpasswd
239
+
218
240
  wget http://selenium-release.storage.googleapis.com/2.42/selenium-server-standalone-2.42.2.jar
219
241
 
220
242
  sudo mkdir /var/lib/selenium
221
243
 
222
244
  sudo mv selenium-server-standalone-2.42.2.jar /var/lib/selenium
223
245
 
246
+ sudo chown -R selenium:selenium /var/lib/selenium
247
+
248
+ sudo mkdir /var/log/selenium
249
+ sudo chown selenium:selenium /var/log/selenium
250
+
224
251
  cd /var/lib/selenium
225
252
 
226
253
  sudo ln -s selenium-server-standalone-2.42.2.jar selenium-server.jar
227
254
 
228
- sudo apt-get install -y xvfb
229
- sudo update-rc.d xvfb defaults 10
255
+ cd
230
256
 
231
- sudo apt-get install -y firefox
257
+ cat > selenium-standalone << END
258
+ #!/bin/bash
259
+ #
260
+ # Selenium standalone server init script.
261
+ #
262
+ # For Debian-based distros.
263
+ #
264
+ ### BEGIN INIT INFO
265
+ # Provides: selenium-standalone
266
+ # Required-Start: $local_fs $remote_fs $network $syslog
267
+ # Required-Stop: $local_fs $remote_fs $network $syslog
268
+ # Default-Start: 2 3 4 5
269
+ # Default-Stop: 0 1 6
270
+ # Short-Description: Selenium standalone server
271
+ ### END INIT INFO
272
+
273
+ DESC="Selenium standalone server"
274
+ USER=selenium
275
+ JAVA=/usr/bin/java
276
+ PID_FILE=/var/run/selenium.pid
277
+ JAR_FILE=/usr/local/share/selenium/selenium-server-standalone-2.42.2.jar
278
+ LOG_FILE=/var/log/selenium/selenium.log
279
+
280
+ DAEMON_OPTS="-Xmx500m -Xss1024k -jar $JAR_FILE -log $LOG_FILE"
281
+ # See this Stack Overflow item for a delightful bug in Java that requires the
282
+ # strange-looking java.security.egd workaround below:
283
+ # http://stackoverflow.com/questions/14058111/selenium-server-doesnt-bind-to-socket-after-being-killed-with-sigterm
284
+ DAEMON_OPTS="-Djava.security.egd=file:/dev/./urandom $DAEMON_OPTS"
285
+
286
+ # The value for DISPLAY must match that used by the running instance of Xvfb.
287
+ export DISPLAY=:10
288
+
289
+ # Make sure that the PATH includes the location of the ChromeDriver binary.
290
+ # This is necessary for tests with Chromium to work.
291
+ export PATH=$PATH:/usr/local/bin
232
292
 
233
- # export DISPLAY=":99" && java -jar /var/lib/selenium/selenium-server.jar
293
+ case "$1" in
294
+ start)
295
+ echo "Starting $DESC: "
296
+ start-stop-daemon -c $USER --start --background \
297
+ --pidfile $PID_FILE --make-pidfile --exec $JAVA -- $DAEMON_OPTS
298
+ ;;
299
+
300
+ stop)
301
+ echo "Stopping $DESC: "
302
+ start-stop-daemon --stop --pidfile $PID_FILE
303
+ ;;
304
+
305
+ restart)
306
+ echo "Restarting $DESC: "
307
+ start-stop-daemon --stop --pidfile $PID_FILE
308
+ sleep 1
309
+ start-stop-daemon -c $USER --start --background \
310
+ --pidfile $PID_FILE --make-pidfile --exec $JAVA -- $DAEMON_OPTS
311
+ ;;
312
+
313
+ *)
314
+ echo "Usage: /etc/init.d/selenium-standalone {start|stop|restart}"
315
+ exit 1
316
+ ;;
317
+ esac
318
+
319
+ exit 0
320
+ END
321
+
322
+ sudo mv selenium-standalone /etc/init.d/selenium-standalone
323
+
324
+ sudo chown root:root /etc/init.d/selenium-standalone
325
+ sudo chmod a+x /etc/init.d/selenium-standalone
326
+ sudo update-rc.d selenium-standalone defaults
234
327
 
328
+ sudo /etc/init.d/selenium-standalone restart
235
329
 
236
330
  #######################################
237
331
  [selenium2]
238
- cat > xvfb <<END
332
+ cat > xvfb << END
239
333
  #!/bin/bash
240
-
241
- if [ -z "$1" ]; then
242
- echo "`basename $0` {start|stop}"
243
- exit
334
+ #
335
+ # Xvfb init script for Debian-based distros.
336
+ #
337
+ # The display number used must match the DISPLAY environment variable used
338
+ # for other applications that will use Xvfb. e.g. ':10'.
339
+ #
340
+ # From: https://github.com/gmonfort/xvfb-init/blob/master/Xvfb
341
+ #
342
+ ### BEGIN INIT INFO
343
+ # Provides: xvfb
344
+ # Required-Start: $remote_fs $syslog
345
+ # Required-Stop: $remote_fs $syslog
346
+ # Default-Start: 2 3 4 5
347
+ # Default-Stop: 0 1 6
348
+ # Short-Description: Start/stop custom Xvfb
349
+ # Description: Enable service provided by xvfb
350
+ ### END INIT INFO
351
+
352
+ NAME=Xvfb
353
+ DESC="$NAME - X Virtual Frame Buffer"
354
+ SCRIPTNAME=/etc/init.d/$NAME
355
+ XVFB=/usr/bin/Xvfb
356
+ PIDFILE=/var/run/${NAME}.pid
357
+
358
+ # Using -extension RANDR doesn't seem to work anymore. Firefox complains
359
+ # about not finding extension RANDR whether or not you include it here.
360
+ # Fortunately this is a non-fatal warning and doesn't stop Firefox from working.
361
+ XVFB_ARGS=":10 -extension RANDR -noreset -ac -screen 10 1024x768x16"
362
+
363
+ set -e
364
+
365
+ if [ `id -u` -ne 0 ]; then
366
+ echo "You need root privileges to run this script"
367
+ exit 1
244
368
  fi
245
369
 
370
+ [ -x $XVFB ] || exit 0
371
+
372
+ . /lib/lsb/init-functions
373
+
374
+ [ -r /etc/default/Xvfb ] && . /etc/default/Xvfb
375
+
246
376
  case "$1" in
247
377
  start)
248
- /usr/bin/Xvfb :99 -ac -screen 0 1024x768x8 &
378
+ log_daemon_msg "Starting $DESC" "$NAME"
379
+ if start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE \
380
+ --background --make-pidfile --exec $XVFB -- $XVFB_ARGS ; then
381
+ log_end_msg 0
382
+ else
383
+ log_end_msg 1
384
+ fi
385
+ log_end_msg $?
249
386
  ;;
250
387
 
251
388
  stop)
252
- killall Xvfb
389
+ log_daemon_msg "Stopping $DESC" "$NAME"
390
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --retry 5
391
+ if [ $? -eq 0 ] && [ -f $PIDFILE ]; then
392
+ /bin/rm -rf $PIDFILE
393
+ fi
394
+ log_end_msg $?
395
+ ;;
396
+
397
+ restart|force-reload)
398
+ log_daemon_msg "Restarting $DESC" "$NAME"
399
+ $0 stop && sleep 2 && $0 start
400
+ ;;
401
+
402
+ status)
403
+ status_of_proc -p $PIDFILE $XVFB $NAME && exit 0 || exit $?
404
+ ;;
405
+
406
+ *)
407
+ log_action_msg "Usage: ${SCRIPTNAME} {start|stop|status|restart|force-reload}"
408
+ exit 2
253
409
  ;;
254
410
  esac
411
+ exit 0
255
412
  END
256
413
 
257
- #sudo mv xvfb /etc/init.d/xvfb
414
+ sudo mv xvfb /etc/init.d/xvfb
415
+
416
+ sudo chown root:root /etc/init.d/xvfb
417
+ sudo chmod a+x /etc/init.d/xvfb
418
+ sudo update-rc.d xvfb defaults
258
419
 
259
- #sudo chmod 755 /etc/init.d/xvfb
420
+ sudo /etc/init.d/xvfb restart
421
+
422
+ # export DISPLAY=":99" && java -jar /var/lib/selenium/selenium-server.jar
260
423
 
261
- /etc/init.d/xvfb start
262
424
 
@@ -1,3 +1,3 @@
1
1
  class LinuxProvision
2
- VERSION = "0.9.7"
2
+ VERSION = "0.9.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linux_provision
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.7
4
+ version: 0.9.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Shvets
@@ -140,6 +140,8 @@ files:
140
140
  - docker/postgres/Dockerfile
141
141
  - docker/postgres/bin/create_db.sh
142
142
  - lib/linux_provision.rb
143
+ - lib/linux_provision/bin/selenium
144
+ - lib/linux_provision/bin/xvfb
143
145
  - lib/linux_provision/linux_provision.rb
144
146
  - lib/linux_provision/linux_provision_scripts.sh
145
147
  - lib/linux_provision/version.rb