badger-rails 1.0.2

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.
Files changed (114) hide show
  1. data/BadgerGit.png +0 -0
  2. data/COPYING +674 -0
  3. data/LICENSING +30 -0
  4. data/Manifest +112 -0
  5. data/README.md +80 -0
  6. data/Rakefile +36 -0
  7. data/badger-rails.gemspec +34 -0
  8. data/bin/badger +486 -0
  9. data/lib/badger/Capfile +1 -0
  10. data/lib/badger/config/deploy.rb +211 -0
  11. data/lib/badger/config/rails-app.yml +6 -0
  12. data/lib/badger/config/rails-app.yml.bk +6 -0
  13. data/lib/badger/core/claws/app.claw +112 -0
  14. data/lib/badger/core/claws/db-app.claw +59 -0
  15. data/lib/badger/core/claws/rails-app.claw +125 -0
  16. data/lib/badger/core/files/badger/info +0 -0
  17. data/lib/badger/core/files/cap/Capfile +4 -0
  18. data/lib/badger/core/files/cap/deploy/production-app.rb +139 -0
  19. data/lib/badger/core/files/cap/deploy/production.rb +136 -0
  20. data/lib/badger/core/files/cap/deploy/staging-app.rb +139 -0
  21. data/lib/badger/core/files/cap/deploy/staging.rb +134 -0
  22. data/lib/badger/core/files/cap/deploy.rb +6 -0
  23. data/lib/badger/core/files/git/git +0 -0
  24. data/lib/badger/core/files/god/angel/resque-dev.god +54 -0
  25. data/lib/badger/core/files/god/angel/resque-stg.god +54 -0
  26. data/lib/badger/core/files/god/angel/resque.god +55 -0
  27. data/lib/badger/core/files/god/angel/unicorn-stg.god +62 -0
  28. data/lib/badger/core/files/god/angel/unicorn.god +62 -0
  29. data/lib/badger/core/files/god/god +108 -0
  30. data/lib/badger/core/files/god/unicorn-stg.rb +70 -0
  31. data/lib/badger/core/files/god/unicorn.rb +70 -0
  32. data/lib/badger/core/files/logrotate/logrotate.conf +23 -0
  33. data/lib/badger/core/files/logrotate/logrotate.cron +8 -0
  34. data/lib/badger/core/files/mysql/database.yml.bk +18 -0
  35. data/lib/badger/core/files/mysql/db_stats +0 -0
  36. data/lib/badger/core/files/mysql/my.cnf +11 -0
  37. data/lib/badger/core/files/nginx/nginx +106 -0
  38. data/lib/badger/core/files/nginx/nginx.conf +30 -0
  39. data/lib/badger/core/files/nginx/sites/port443.btl +42 -0
  40. data/lib/badger/core/files/nginx/sites/port80.btl +39 -0
  41. data/lib/badger/core/files/nginx/sites/production-web +117 -0
  42. data/lib/badger/core/files/nginx/sites/staging-web +41 -0
  43. data/lib/badger/core/files/postfix/main.cf +678 -0
  44. data/lib/badger/core/files/postfix/master.cf +81 -0
  45. data/lib/badger/core/files/redis/redis-server +59 -0
  46. data/lib/badger/core/files/redis/redis.conf +444 -0
  47. data/lib/badger/core/files/resque/resque.rb +5 -0
  48. data/lib/badger/core/files/resque/resque.yml +19 -0
  49. data/lib/badger/core/files/resque/resque_web.rb +2 -0
  50. data/lib/badger/core/files/ssh/authorized_keys +0 -0
  51. data/lib/badger/core/functions +174 -0
  52. data/lib/badger/core/scripts/app_info +40 -0
  53. data/lib/badger/core/scripts/app_scale +15 -0
  54. data/lib/badger/core/scripts/remove_app +25 -0
  55. data/lib/badger/core/scripts/remove_app_db +30 -0
  56. data/lib/badger/core/scripts/remove_gems +2 -0
  57. data/lib/badger/core/teeth/automake.th +9 -0
  58. data/lib/badger/core/teeth/badger.th +27 -0
  59. data/lib/badger/core/teeth/bison.th +20 -0
  60. data/lib/badger/core/teeth/bundler.th +4 -0
  61. data/lib/badger/core/teeth/capistrano-ext.th +37 -0
  62. data/lib/badger/core/teeth/chkconfig.th +4 -0
  63. data/lib/badger/core/teeth/curl.th +24 -0
  64. data/lib/badger/core/teeth/faac.th +11 -0
  65. data/lib/badger/core/teeth/ffmpeg.th +28 -0
  66. data/lib/badger/core/teeth/firewall.th +70 -0
  67. data/lib/badger/core/teeth/gcc-c++.th +9 -0
  68. data/lib/badger/core/teeth/gcc.th +9 -0
  69. data/lib/badger/core/teeth/git.th +23 -0
  70. data/lib/badger/core/teeth/god.th +17 -0
  71. data/lib/badger/core/teeth/lame.th +9 -0
  72. data/lib/badger/core/teeth/libffi.th +4 -0
  73. data/lib/badger/core/teeth/libid3tag.th +10 -0
  74. data/lib/badger/core/teeth/libmad.th +11 -0
  75. data/lib/badger/core/teeth/libogg.th +9 -0
  76. data/lib/badger/core/teeth/libtool.th +9 -0
  77. data/lib/badger/core/teeth/libxml2.th +19 -0
  78. data/lib/badger/core/teeth/libxslt.th +19 -0
  79. data/lib/badger/core/teeth/libyaml.th +19 -0
  80. data/lib/badger/core/teeth/logrotate.th +19 -0
  81. data/lib/badger/core/teeth/madplay.th +10 -0
  82. data/lib/badger/core/teeth/make.th +9 -0
  83. data/lib/badger/core/teeth/mysql-config.th +40 -0
  84. data/lib/badger/core/teeth/mysql-server.th +16 -0
  85. data/lib/badger/core/teeth/mysql.th +14 -0
  86. data/lib/badger/core/teeth/nginx.th +56 -0
  87. data/lib/badger/core/teeth/ntp.th +15 -0
  88. data/lib/badger/core/teeth/openssl.th +19 -0
  89. data/lib/badger/core/teeth/pcre.th +9 -0
  90. data/lib/badger/core/teeth/plugins.th +14 -0
  91. data/lib/badger/core/teeth/postfix.th +11 -0
  92. data/lib/badger/core/teeth/pwgen.th +9 -0
  93. data/lib/badger/core/teeth/rake.th +12 -0
  94. data/lib/badger/core/teeth/readline.th +19 -0
  95. data/lib/badger/core/teeth/redis.th +18 -0
  96. data/lib/badger/core/teeth/resque.th +12 -0
  97. data/lib/badger/core/teeth/ruby.th +52 -0
  98. data/lib/badger/core/teeth/rubygems.th +17 -0
  99. data/lib/badger/core/teeth/san_juan.th +4 -0
  100. data/lib/badger/core/teeth/sox.th +12 -0
  101. data/lib/badger/core/teeth/speex.th +12 -0
  102. data/lib/badger/core/teeth/sqlite3.th +14 -0
  103. data/lib/badger/core/teeth/ssh_keys.th +10 -0
  104. data/lib/badger/core/teeth/sshpass.th +9 -0
  105. data/lib/badger/core/teeth/sudo.th +9 -0
  106. data/lib/badger/core/teeth/syslog-ng.th +16 -0
  107. data/lib/badger/core/teeth/sysv-rc-conf.th +4 -0
  108. data/lib/badger/core/teeth/x264.th +11 -0
  109. data/lib/badger/core/teeth/xvid.th +11 -0
  110. data/lib/badger/core/teeth/yasm.th +11 -0
  111. data/lib/badger/core/teeth/zlib.th +9 -0
  112. data/lib/core.rb +313 -0
  113. data/lib/errors.rb +202 -0
  114. metadata +297 -0
@@ -0,0 +1,19 @@
1
+ yum_libxml2() {
2
+ YumExists libxml2 && return 0
3
+ yum -y install libxml2
4
+ }
5
+
6
+ yum_libxml2-devel() {
7
+ YumExists libxml2-devel && return 0
8
+ yum -y install libxml2-devel
9
+ }
10
+
11
+ apt_libxml2() {
12
+ AptExists libxml2 && return 0
13
+ apt-get -y install libxml2
14
+ }
15
+
16
+ apt_libxml2-dev() {
17
+ AptExists libxml2-dev && return 0
18
+ apt-get -y install libxml2-dev
19
+ }
@@ -0,0 +1,19 @@
1
+ yum_libxslt() {
2
+ YumExists libxslt && return 0
3
+ yum -y install libxslt
4
+ }
5
+
6
+ yum_libxslt-devel() {
7
+ YumExists libxslt-devel && return 0
8
+ yum -y install libxslt-devel
9
+ }
10
+
11
+ apt_libxslt() {
12
+ AptExists libxslt1.1 && return 0
13
+ apt-get -y install libxslt1.1
14
+ }
15
+
16
+ apt_libxslt-dev() {
17
+ AptExists libxslt1-dev && return 0
18
+ apt-get -y install libxslt1-dev
19
+ }
@@ -0,0 +1,19 @@
1
+ apt_libyaml() {
2
+ AptExists libyaml-0-2 && return 0
3
+ apt-get -y install libyaml-0-2
4
+ }
5
+
6
+ apt_libyaml-dev() {
7
+ AptExists libyaml-dev && return 0
8
+ apt-get -y install libyaml-dev
9
+ }
10
+
11
+ yum_libyaml() {
12
+ YumExists libyaml && return 0
13
+ yum -y install libyaml
14
+ }
15
+
16
+ yum_libyaml-devel() {
17
+ YumExists libyaml-devel && return 0
18
+ yum -y install libyaml-devel
19
+ }
@@ -0,0 +1,19 @@
1
+ yum_logrotate() {
2
+ Exists /usr/sbin/logrotate && return 0
3
+ yum -y install logrotate
4
+ Dir /var/log/archive 750
5
+
6
+ Sync /etc/badger/core/files/logrotate/logrotate.conf /etc/logrotate.conf 755
7
+
8
+ Sync /etc/badger/core/files/logrotate/logrotate.cron /etc/cron.daily/logrotate 755
9
+ }
10
+
11
+ apt_logrotate() {
12
+ Exists /usr/sbin/logrotate && return 0
13
+ yum -y install logrotate
14
+ Dir /var/log/archive 750
15
+
16
+ Sync /etc/badger/core/files/logrotate/logrotate.conf /etc/logrotate.conf 755
17
+
18
+ Sync /etc/badger/core/files/logrotate/logrotate.cron /etc/cron.daily/logrotate 755
19
+ }
@@ -0,0 +1,10 @@
1
+ install_source_madplay() {
2
+ Exists /usr/bin/madplay && return 0
3
+ cd /usr/local/src
4
+ wget -q $GFPath/madplay-0.15.2b.tar.gz
5
+ tar -xzvf madplay-0.15.2b.tar.gz
6
+ rm -rf madplay-0.15.2b.tar.gz
7
+ cd madplay-*
8
+ ./configure --prefix=/usr &&
9
+ make && make install
10
+ }
@@ -0,0 +1,9 @@
1
+ yum_make() {
2
+ Exists /usr/bin/make && return 0
3
+ yum -y install make
4
+ }
5
+
6
+ apt_make() {
7
+ Exists /usr/bin/make && return 0
8
+ apt-get -y install make
9
+ }
@@ -0,0 +1,40 @@
1
+ config_mysql-privileges-rails() {
2
+ [ "$(cat /etc/issue | egrep '(CentOS)|(Red\ Hat)')" ] && Status mysqld
3
+ [ "$(cat /etc/issue | egrep '(Ubuntu)|(Debian)')" ] && Status mysql
4
+
5
+ Exists /root/.my.cnf config-privileges && return 0
6
+ rootPassword=$(pwgen 16 1)
7
+
8
+ [ "$(cat /etc/issue | egrep '(CentOS)|(Red\ Hat)')" ] && Service mysqld
9
+ [ "$(cat /etc/issue | egrep '(Ubuntu)|(Debian)')" ] && Service mysql
10
+
11
+ mysql -u root -e "DELETE FROM mysql.user WHERE User='';"
12
+ mysql -u root -e "DROP DATABASE test; DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';"
13
+ mysql -u root -e "UPDATE mysql.user SET Password=PASSWORD('$rootPassword') WHERE User='root'; FLUSH PRIVILEGES;"
14
+
15
+ Sync /etc/badger/core/files/mysql/my.cnf /root/.my.cnf 600
16
+ sed -i "s/root_password/$rootPassword/g" /root/.my.cnf
17
+ }
18
+
19
+ config_mysql-badger() {
20
+ if [ -f /root/.badger.conf ]
21
+ then
22
+ localPassword=$(cat /root/.badger.conf)
23
+ Sync /etc/badger/core/files/mysql/database.yml.bk /etc/badger/core/files/mysql/database.yml
24
+ sed -i "s/password: example/password: $localPassword/g" /etc/badger/core/files/mysql/database.yml
25
+ fi
26
+ Exists /root/.badger.conf badger-privileges && return 0
27
+ localPassword=$(pwgen 6 1)
28
+ touch /root/.badger.conf
29
+ echo $localPassword > /root/.badger.conf
30
+ Mysql badger-staging badger localhost $localPassword
31
+ Mysql badger-production badger localhost $localPassword
32
+ Sync /etc/badger/core/files/mysql/database.yml.bk /etc/badger/core/files/mysql/database.yml
33
+ sed -i "s/password: example/password: $localPassword/g" /etc/badger/core/files/mysql/database.yml
34
+ }
35
+
36
+ config_mysql-external() {
37
+ path='/etc/badger/core/files/mysql/db_stats'
38
+ Mysql $(sed -n '3p' < $path) $(sed -n '1p' < $path) $(sed -n '7p' < $path) $(sed -n '2p' < $path)
39
+ Mysql $(sed -n '6p' < $path) $(sed -n '4p' < $path) $(sed -n '7p' < $path) $(sed -n '5p' < $path)
40
+ }
@@ -0,0 +1,16 @@
1
+ yum_mysql-server() {
2
+ Exists /etc/init.d/mysqld mysql-server && return 0
3
+ yum -y install mysql-server
4
+ }
5
+
6
+ apt_mysql-server() {
7
+ Exists /usr/bin/mysql && return 0
8
+ export DEBIAN_FRONTEND=noninteractive
9
+ apt-get -y install mysql-server
10
+ sed -i "s/.*bind-address.*/#bind-address/g" /etc/mysql/my.cnf
11
+ }
12
+
13
+ apt_libmysqlclient() {
14
+ dpkg-query -W libmysqlclient-dev | grep ubuntu && return 0
15
+ apt-get -y install libmysqlclient-dev
16
+ }
@@ -0,0 +1,14 @@
1
+ yum_mysql() {
2
+ Exists /usr/bin/mysql && return 0
3
+ yum -y install mysql
4
+ }
5
+
6
+ yum_mysql-devel() {
7
+ YumExists mysql-devel && return 0
8
+ yum -y install mysql-devel
9
+ }
10
+
11
+ apt_libmysqlclient-dev() {
12
+ AptExists libmysqlclient-dev && return 0
13
+ apt -y install libmysqlclient-dev
14
+ }
@@ -0,0 +1,56 @@
1
+ install_source_nginx() {
2
+ Exists /usr/sbin/nginx && return 0
3
+ cd /usr/local/src/
4
+ wget -q $GFPath/nginx-0.8.54.tar.gz
5
+ tar -xzvf nginx-0.8.54.tar.gz
6
+ rm -rf nginx-0.8.54.tar.gz
7
+ cd nginx-*
8
+ ./configure --prefix=/usr/share/nginx --sbin-path=/usr/local/sbin --with-http_ssl_module --conf-path=/etc/nginx/nginx.conf --with-http_gzip_static_module --group=nginx --user=nginx --sbin-path=/usr/sbin/nginx --pid-path=/var/run/nginx.pid --with-http_stub_status_module &&
9
+ make && make install
10
+ }
11
+
12
+ apt_nginx() {
13
+ AptExists nginx && return 0
14
+ apt-get -y install nginx
15
+ }
16
+
17
+ config_nginx() {
18
+ [ "$(cat /etc/issue | egrep '(CentOS)|(Red\ Hat)')" ] && Sync /etc/badger/core/files/nginx/nginx /etc/init.d/nginx 700
19
+ Dir /etc/nginx/sites-available/ 644
20
+ Dir /etc/nginx/sites-enabled/ 644
21
+ Dir /etc/ssl/ 644
22
+ Dir /var/log/nginx/ 644
23
+ Sync /etc/badger/core/files/nginx/nginx.conf /etc/nginx/nginx.conf 644
24
+ chkconfig nginx on
25
+ Service nginx
26
+ }
27
+
28
+ nginx_add_site() {
29
+ if [ ! -z `cat /opt/tmp/web/config/badger.yml | grep certification: | grep true` ]
30
+ then
31
+ if [ $1 == 'production-web' ]
32
+ then
33
+ [ "$(ls -A /opt/tmp/web/config/certs)" ] && echo "ssl" || return 0
34
+ cd /opt/web/current/config/certs/
35
+
36
+ cert=$( ls | grep .crt )
37
+ domain=${cert//.crt/}
38
+ key=$( ls | grep .key )
39
+ signing=$( ls | grep .csr )
40
+
41
+ location=/etc/badger/core/files/nginx/sites
42
+
43
+ Template $location/port80.btl
44
+ Template $location/port443.btl
45
+
46
+ Sync /opt/web/current/config/certs/$cert /etc/ssl/$cert
47
+ Sync /opt/web/current/config/certs/$key /etc/ssl/$key
48
+ Sync /opt/web/current/config/certs/$signing /etc/ssl/$signing
49
+ fi
50
+ fi
51
+
52
+ Sync /etc/badger/core/files/nginx/sites/$1 /etc/nginx/sites-available/$1 744
53
+ test -f /etc/nginx/sites-available/default && rm -rf /etc/nginx/sites-available/default
54
+ test -h /etc/nginx/sites-enabled/$1 || ln -s /etc/nginx/sites-available/$1 /etc/nginx/sites-enabled/$1
55
+ Service nginx
56
+ }
@@ -0,0 +1,15 @@
1
+ yum_ntpd() {
2
+ Service ntpd || echo "Installing ntp"
3
+ Exists /usr/sbin/ntpd && return 0
4
+ yum -y install ntp
5
+ ntpdate pool.ntp.org
6
+ Service ntpd
7
+ }
8
+
9
+ apt_ntp() {
10
+ Service ntp || echo "Installing ntp"
11
+ Exists /etc/init.d/ntp && return 0
12
+ apt-get -y install ntp
13
+ ntpdate pool.ntp.org
14
+ Service ntp
15
+ }
@@ -0,0 +1,19 @@
1
+ yum_openssl() {
2
+ Exists /usr/bin/openssl && return 0
3
+ yum -y install openssl
4
+ }
5
+
6
+ yum_openssl-devel() {
7
+ YumExists openssl-devel && return 0
8
+ yum -y install openssl-devel
9
+ }
10
+
11
+ apt_openssl() {
12
+ Exists /usr/bin/openssl && return 0
13
+ apt-get -y install openssl
14
+ }
15
+
16
+ apt_libssl-dev() {
17
+ AptExists libssl-dev && return 0
18
+ apt-get -y install libssl-dev
19
+ }
@@ -0,0 +1,9 @@
1
+ yum_pcre-devel() {
2
+ Exists /usr/share/doc/pcre-devel-7.8/pcre.txt pcre-devel && return 0
3
+ yum -y install pcre-devel
4
+ }
5
+
6
+ apt_libpcre3-dev() {
7
+ AptExists libpcre3-dev && return 0
8
+ apt-get -y install libpcre3 libpcre3-dev
9
+ }
@@ -0,0 +1,14 @@
1
+ before() {
2
+ Exists /etc/badger/core/scripts/badger/before || return 0
3
+ source /etc/badger/core/scripts/badger/before
4
+ }
5
+
6
+ after() {
7
+ Exists /etc/badger/core/scripts/badger/after || return 0
8
+ source /etc/badger/core/scripts/badger/after
9
+ }
10
+
11
+ dev() {
12
+ Exists /etc/badger/core/scripts/badger/dev || return 0
13
+ source /etc/badger/core/scripts/badger/dev
14
+ }
@@ -0,0 +1,11 @@
1
+ yum_postfix() {
2
+ Status postfix
3
+ Exists /usr/sbin/postfix && return 0
4
+ yum -y install postfix
5
+ }
6
+
7
+ apt_postfix() {
8
+ Status postfix
9
+ Exists /usr/sbin/postfix && return 0
10
+ apt-get -y install postfix
11
+ }
@@ -0,0 +1,9 @@
1
+ yum_pwgen() {
2
+ Exists /usr/bin/pwgen && return 0
3
+ yum -y install pwgen
4
+ }
5
+
6
+ apt_pwgen() {
7
+ Exists /usr/bin/pwgen && return 0
8
+ apt-get -y install pwgen
9
+ }
@@ -0,0 +1,12 @@
1
+ gem_rake() {
2
+ Exists /opt/rubygems/bin/rake && return 0
3
+
4
+ tempArray=$(cat /opt/tmp/web/Gemfile.lock | grep rake | tr -d '[A-Za-z()><=].')
5
+ declare -a array=($tempArray)
6
+ a=$(echo "${array[*]}" | sort -nr | head -n1)
7
+ rakeVersion=$(IndexOf $a ${array[@]})
8
+ tempArray=$(cat /opt/tmp/web/Gemfile.lock | grep rake | tr -d '[A-Za-z()><=]')
9
+ declare -a array=($tempArray)
10
+
11
+ gem install rake -v "${array[$rakeVersion]}"
12
+ }
@@ -0,0 +1,19 @@
1
+ yum_readline() {
2
+ YumExists readline && return 0
3
+ yum -y install readline
4
+ }
5
+
6
+ yum_readline-devel() {
7
+ YumExists readline-devel && return 0
8
+ yum -y install readline-devel
9
+ }
10
+
11
+ apt_libreadline6() {
12
+ AptExists libreadline6 && return 0
13
+ apt-get -y install libreadline6
14
+ }
15
+
16
+ apt_libreadline6-dev() {
17
+ AptExists libreadline6-dev && return 0
18
+ apt-get -y install libreadline6-dev
19
+ }
@@ -0,0 +1,18 @@
1
+ install_source_redis() {
2
+ Exists /usr/local/bin/redis-server && return 0
3
+ groupadd redis
4
+ useradd redis -g redis
5
+ cd /usr/local/src
6
+ wget -q $GFPath/redis-2.2.14.tar.gz
7
+ tar -xzvf redis-2.2.14.tar.gz
8
+ rm -rf redis-2.2.14.tar.gz
9
+ cd redis-*
10
+ make && make install
11
+
12
+ Dir /var/lib/redis
13
+ UserGroup /var/lib/redis redis
14
+
15
+ Sync /etc/badger/core/files/redis/redis-server /etc/init.d/redis-server 744
16
+ Sync /etc/badger/core/files/redis/redis.conf /etc/redis.conf
17
+ service redis-server restart && echo 'redis is running :)'
18
+ }
@@ -0,0 +1,12 @@
1
+ config_resque() {
2
+ #mkdir -p $1/script/production
3
+ #mkdir -p $1/script/staging
4
+
5
+ #rsync /etc/badger/core/files/resque/staging/apn_sender $1/script/staging/apn_sender
6
+ #rsync /etc/badger/core/files/resque/production/apn_sender $1/script/production/apn_sender
7
+ test -f /opt/tmp/web/config/initializers/resque.rb ||
8
+ rsync /etc/badger/core/files/resque/resque_web.rb $1/config/resque_web.rb
9
+
10
+ test -f /opt/tmp/web/config/initializers/resque.rb && return 0
11
+ rsync /etc/badger/core/files/resque/resque.rb $1/config/initializers/resque.rb
12
+ }
@@ -0,0 +1,52 @@
1
+ install_source_ruby() {
2
+ Exists /opt/ruby/bin/ruby && return 0
3
+
4
+ mkdir -p /opt/ruby/ &&
5
+ chown badger:badger /opt/ruby/
6
+
7
+ mkdir -p /opt/rubygems/ &&
8
+ chown badger:badger /opt/rubygems/
9
+
10
+ cat /root/.bashrc | grep '/opt/ruby/bin:/opt/rubygems/bin' ||
11
+ echo 'export PATH=/opt/ruby/bin:/opt/rubygems/bin:$PATH' >> /root/.bashrc
12
+
13
+ cat /home/badger/.bashrc | grep '/opt/ruby/bin:/opt/rubygems/bin' ||
14
+ echo 'export PATH=/opt/ruby/bin:/opt/rubygems/bin:$PATH' >> /home/badger/.bashrc
15
+
16
+ cat /home/badger/.bashrc | grep 'export GEM_HOME=/opt/rubygems' ||
17
+ echo 'export GEM_HOME=/opt/rubygems' >> /home/badger/.bashrc
18
+
19
+ cat /root/.bashrc | grep 'export GEM_HOME=/opt/rubygems' ||
20
+ echo 'export GEM_HOME=/opt/rubygems' >> /root/.bashrc
21
+
22
+ cd /usr/local/src/
23
+ #wget -q $GFPath/ruby-1.9.2-p136.tar.gz
24
+ #tar -xzvf ruby-1.9.2-p136.tar.gz
25
+ #cd ruby-*
26
+ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz
27
+ tar -xzvf ruby-1.9.3-p0.tar.gz
28
+ cd ruby-*
29
+ ./configure --prefix=/opt/ruby/ && make && make install
30
+
31
+ #cd /usr/local/src/ruby-*
32
+ #cd ext/openssl
33
+ #export PATH=/opt/ruby/bin:/opt/rubygems/bin:$PATH
34
+ #export GEM_HOME=/opt/rubygems
35
+ #ruby extconf.rb
36
+ #make && make install
37
+
38
+ source /root/.bashrc
39
+
40
+ # cd /opt
41
+ # wget -q $GFPath/ruby-1.9.2-cent6.tar.gz
42
+ # tar -xzvf ruby-1.9.2-cent6.tar.gz
43
+ # chown badger:badger /opt/ruby/
44
+ # rm -rf ruby-1.9.2-cent6.tar.gz
45
+
46
+ # source /root/.bashrc
47
+ }
48
+
49
+ ruby_packages() {
50
+ AptExists ruby1.9.1 && return 0
51
+ apt-get -y install build-essential libopenssl-ruby1.9.1 ruby1.9.1 ruby1.9.1-dev rubygems1.9.1 irb1.9.1 ri1.9.1 rdoc1.9.1
52
+ }
@@ -0,0 +1,17 @@
1
+ install_source_rubygems() {
2
+ test -d /opt/rubygems/ && chown -R $2:$2 /opt/rubygems/
3
+ #GemVersion returns 1 or true if gem --version equals the first arg
4
+ export PATH=/opt/ruby/bin:/opt/rubygems/bin:$PATH
5
+ export GEM_HOME=/opt/rubygems
6
+ GemVersion $1 || return 0
7
+ rm -rf /opt/ruby/bin/gem
8
+ touch /root/.gemrc
9
+ echo 'gem: --no-ri --no-rdoc' > /root/.gemrc
10
+ cd /usr/local/src/
11
+ wget -q http://production.cf.rubygems.org/rubygems/rubygems-$1.tgz
12
+ tar -xzvf rubygems-$1.tgz
13
+ rm -rf rubygems-$1.tgz
14
+ cd rubygems-*
15
+ source /root/.bashrc
16
+ ruby setup.rb
17
+ }
@@ -0,0 +1,4 @@
1
+ gem_san_juan() {
2
+ gem list | grep san_juan && return 0
3
+ gem install san_juan
4
+ }
@@ -0,0 +1,12 @@
1
+ install_source_sox() {
2
+ Exists /usr/bin/sox && return 0
3
+ cd /usr/local/src
4
+ wget -q http://downloads.sourceforge.net/sox/sox-14.3.1.tar.gz
5
+ tar -xzvf sox-14.3.1.tar.gz
6
+ rm -rf sox-14.3.1.tar.gz
7
+ cd sox-*
8
+ ./configure --prefix=/usr &&
9
+ make && make install
10
+ cat /etc/ld.so.conf | grep /usr/lib || echo /usr/lib >> /etc/ld.so.conf
11
+ /sbin/ldconfig
12
+ }
@@ -0,0 +1,12 @@
1
+ install_source_libspeex() {
2
+ Exists /usr/lib/libspeexdsp.so speex && return 0
3
+ cd /usr/local/src
4
+ wget -q $GFPath/speex-1.2rc1.tar.gz
5
+ tar -xzvf speex-1.2rc1.tar.gz
6
+ rm -rf speex-1.2rc1.tar.gz
7
+ cd speex-*
8
+ ./configure --prefix=/usr &&
9
+ make && make install &&
10
+ ln -sf /usr/local/lib/libspeexdsp.so.1.5.0 /usr/lib64/libspeexdsp.so.1 &&
11
+ ln -sf /usr/local/lib/libspeex.so.1 /usr/lib64/libspeex.so.1
12
+ }
@@ -0,0 +1,14 @@
1
+ yum_sqlite3() {
2
+ YumExists sqlite-devel && return 0
3
+ yum -y install sqlite-devel
4
+ }
5
+
6
+ apt_sqlite3() {
7
+ AptExists sqlite3 && return 0
8
+ apt-get -y install sqlite3
9
+ }
10
+
11
+ apt_sqlite3-dev() {
12
+ AptExists libsqlite3-dev && return 0
13
+ apt-get -y install libsqlite3-dev
14
+ }
@@ -0,0 +1,10 @@
1
+ ssh_badger() {
2
+ Exists /root/.ssh/id_rsa.pub key && return 0
3
+ ssh-keygen -f /root/.ssh/id_rsa -P ''
4
+ touch /root/.ssh/authorized_keys
5
+ cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
6
+ badger_pub_key=$(cat /root/.ssh/id_rsa.pub)
7
+ #badger_key=$(cat /root/.ssh/id_rsa)
8
+ sed -i "s/# StrictHostKeyChecking ask/StrictHostKeyChecking no/g" /etc/ssh/ssh_config
9
+ service sshd restart
10
+ }
@@ -0,0 +1,9 @@
1
+ yum_sshpass() {
2
+ Exists /usr/bin/sshpass && return 0
3
+ yum -y install sshpass
4
+ }
5
+
6
+ apt_sshpass() {
7
+ Exists /usr/bin/sshpass && return 0
8
+ apt-get -y install sshpass
9
+ }
@@ -0,0 +1,9 @@
1
+ yum_sudo() {
2
+ Exists /usr/bin/sudo && return 0
3
+ yum -y install sudo
4
+ }
5
+
6
+ apt_sudo() {
7
+ Exists /usr/bin/sudo && return 0
8
+ apt-get -y install sudo
9
+ }
@@ -0,0 +1,16 @@
1
+ yum_syslog-ng() {
2
+ Status syslog-ng
3
+ Exists /etc/syslog-ng/lock syslog-ng && return 0
4
+ yum -y update rsyslog
5
+ yum -y remove syslog-ng
6
+ rm -rf /etc/syslog-ng/*
7
+ yum -y install syslog-ng
8
+ touch /etc/syslog-ng/lock
9
+ Service syslog-ng
10
+ }
11
+
12
+ apt_syslog-ng() {
13
+ Exists /usr/sbin/syslog-ng && return 0
14
+ apt-get -y install syslog-ng
15
+ Service syslog-ng
16
+ }
@@ -0,0 +1,4 @@
1
+ apt_sysv-rc-conf() {
2
+ Exists /usr/sbin/sysv-rc-conf && return 0
3
+ apt-get -y install sysv-rc-conf
4
+ }
@@ -0,0 +1,11 @@
1
+ install_source_x264() {
2
+ Exists /usr/bin/x264 && return 0
3
+ cd /usr/local/src
4
+ wget -q $GFPath/last_stable_x264.tar.bz2
5
+ tar -xjvf last_stable_x264.tar.bz2
6
+ rm -rf last_stable_x264.tar.bz2
7
+ cd x264-*
8
+ ./configure --prefix=/usr --enable-shared &&
9
+ make &&
10
+ make install
11
+ }
@@ -0,0 +1,11 @@
1
+ install_source_xvid() {
2
+ Exists /usr/lib/libxvidcore.a xvid && return 0
3
+ cd /usr/local/src
4
+ wget -q $GFPath/xvidcore-1.3.2.tar.gz
5
+ tar -xzvf xvidcore-1.3.2.tar.gz
6
+ rm -rf xvidcore-1.3.2.tar.gz
7
+ cd xvidcore/build/generic/
8
+ ./configure --prefix=/usr &&
9
+ make &&
10
+ make install
11
+ }
@@ -0,0 +1,11 @@
1
+ install_source_yasm() {
2
+ Exists /usr/bin/yasm && return 0
3
+ cd /usr/local/src
4
+ wget -q $GFPath/yasm-1.1.0.tar.gz
5
+ tar -xzvf yasm-1.1.0.tar.gz
6
+ rm -rf yasm-1.1.0.tar.gz
7
+ cd yasm-*
8
+ ./configure --prefix=/usr &&
9
+ make &&
10
+ make install
11
+ }
@@ -0,0 +1,9 @@
1
+ yum_zlib() {
2
+ YumExists zlib && return 0
3
+ yum -y install zlib
4
+ }
5
+
6
+ yum_zlib-devel() {
7
+ YumExists zlib-devel && return 0
8
+ yum -y install zlib-devel
9
+ }