badger-rails 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
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
+ }