rails_pwnerer 0.6.64 → 0.6.65

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/CHANGELOG +2 -0
  2. data/LICENSE +0 -0
  3. data/Manifest +51 -49
  4. data/README +0 -0
  5. data/RUBYFORGE +0 -0
  6. data/Rakefile +7 -11
  7. data/ext/rpwn_setup_notice/extconf.rb +24 -16
  8. data/lib/{pwnage → rails_pwnerer}/app/cluster_config.rb +17 -17
  9. data/lib/{pwnage → rails_pwnerer}/app/config.rb +14 -14
  10. data/lib/{pwnage → rails_pwnerer}/app/db/mysql.rb +9 -9
  11. data/lib/{pwnage → rails_pwnerer}/app/files.rb +13 -13
  12. data/lib/{pwnage → rails_pwnerer}/app/gems.rb +3 -3
  13. data/lib/{pwnage → rails_pwnerer}/app/main.rb +4 -4
  14. data/lib/{pwnage → rails_pwnerer}/app/nginx_config.rb +7 -7
  15. data/lib/{pwnage → rails_pwnerer}/app/scripts.rb +4 -4
  16. data/lib/{pwnage → rails_pwnerer}/app/vcs/git.rb +9 -9
  17. data/lib/{pwnage → rails_pwnerer}/app/vcs/perforce.rb +11 -11
  18. data/lib/{pwnage → rails_pwnerer}/app/vcs/svn.rb +9 -9
  19. data/lib/{pwnage → rails_pwnerer}/base/atomics.rb +1 -1
  20. data/lib/{pwnage → rails_pwnerer}/base/cpus.rb +1 -1
  21. data/lib/{pwnage → rails_pwnerer}/base/dirs.rb +1 -1
  22. data/lib/{pwnage → rails_pwnerer}/base/gems.rb +2 -2
  23. data/lib/{pwnage → rails_pwnerer}/base/hostname.rb +1 -1
  24. data/lib/{pwnage → rails_pwnerer}/base/input.rb +1 -1
  25. data/lib/rails_pwnerer/base/packages.rb +272 -0
  26. data/lib/{pwnage → rails_pwnerer}/base/process.rb +1 -1
  27. data/lib/{pwnage → rails_pwnerer}/base/rails.rb +1 -1
  28. data/lib/{pwnage → rails_pwnerer}/base/startup.rb +1 -1
  29. data/lib/{pwnage → rails_pwnerer}/base.rb +1 -1
  30. data/lib/{pwnage → rails_pwnerer}/config/app.rb +1 -1
  31. data/lib/{pwnage → rails_pwnerer}/config/frontends.rb +1 -1
  32. data/lib/rails_pwnerer/config/main.rb +3 -0
  33. data/lib/{pwnage → rails_pwnerer}/config/paths.rb +1 -1
  34. data/lib/{pwnage → rails_pwnerer}/config/ports.rb +1 -1
  35. data/lib/{pwnage → rails_pwnerer}/config/repository.rb +7 -7
  36. data/lib/rails_pwnerer/ctl_executor.rb +19 -0
  37. data/lib/{pwnage → rails_pwnerer}/dev_executor.rb +2 -2
  38. data/lib/{pwnage → rails_pwnerer}/executor.rb +17 -17
  39. data/lib/{pwnage → rails_pwnerer}/scaffolds/config.rb +7 -7
  40. data/lib/{pwnage → rails_pwnerer}/scaffolds/dir_permissions.rb +4 -4
  41. data/lib/{pwnage → rails_pwnerer}/scaffolds/dirs.rb +3 -3
  42. data/lib/{pwnage → rails_pwnerer}/scaffolds/gems.rb +2 -2
  43. data/lib/{pwnage → rails_pwnerer}/scaffolds/hook_daemon.rb +2 -2
  44. data/lib/{pwnage → rails_pwnerer}/scaffolds/hook_dyndns.rb +3 -3
  45. data/lib/{pwnage → rails_pwnerer}/scaffolds/mysql_config.rb +2 -2
  46. data/lib/rails_pwnerer/scaffolds/packages.rb +118 -0
  47. data/lib/{pwnage → rails_pwnerer}/scaffolds/rubygems.rb +2 -2
  48. data/lib/{pwnage → rails_pwnerer}/scaffolds/sshd.rb +2 -2
  49. data/lib/{pwnage → rails_pwnerer}/util/kill_process_set.rb +1 -1
  50. data/lib/rails_pwnerer/util/main.rb +5 -0
  51. data/lib/rails_pwnerer.rb +52 -52
  52. data/rails_pwnerer.gemspec +17 -7
  53. data/test/base_package_test.rb +126 -0
  54. data/test/helper.rb +25 -0
  55. metadata +151 -107
  56. data/lib/pwnage/base/packages.rb +0 -159
  57. data/lib/pwnage/config/main.rb +0 -3
  58. data/lib/pwnage/ctl_executor.rb +0 -19
  59. data/lib/pwnage/scaffolds/packages.rb +0 -110
  60. data/lib/pwnage/util/main.rb +0 -5
@@ -1,8 +1,8 @@
1
1
  # implements the configuration repository
2
2
 
3
- module RailsPwnage::Config
3
+ module RailsPwnerer::Config
4
4
  class << self
5
- include RailsPwnage::Base
5
+ include RailsPwnerer::Base
6
6
  end
7
7
 
8
8
  # maps each database name to its contents
@@ -26,7 +26,7 @@ module RailsPwnage::Config
26
26
  end
27
27
  def []=(key, value)
28
28
  super(key.to_s, value)
29
- RailsPwnage::Config.mark_db_dirty @db_name
29
+ RailsPwnerer::Config.mark_db_dirty @db_name
30
30
  end
31
31
  def has_key?(key)
32
32
  super(key.to_s)
@@ -59,7 +59,7 @@ module RailsPwnage::Config
59
59
  def self.get_db(db_name)
60
60
  db_name = db_name.to_s
61
61
  unless @@db_cache.has_key? db_name
62
- db_path = RailsPwnage::Config.path_to :config
62
+ db_path = RailsPwnerer::Config.path_to :config
63
63
  db_contents = atomic_read(db_path, db_name)
64
64
 
65
65
  if db_contents.nil?
@@ -77,7 +77,7 @@ module RailsPwnage::Config
77
77
  def self.flush_db(db_name)
78
78
  db_name = db_name.to_s
79
79
  return unless @@db_dirty[db_name]
80
- db_path = RailsPwnage::Config.path_to :config
80
+ db_path = RailsPwnerer::Config.path_to :config
81
81
  if @@db_cache[db_name].nil?
82
82
  atomic_erase db_path, db_name
83
83
  else
@@ -107,7 +107,7 @@ module RailsPwnage::Config
107
107
  end
108
108
 
109
109
  def self.databases()
110
- entries = Dir.entries RailsPwnage::Config.path_to(:config)
110
+ entries = Dir.entries RailsPwnerer::Config.path_to(:config)
111
111
  databases = []
112
112
  entries.each do |entry|
113
113
  next unless entry =~ /\.yml(2)?$/
@@ -117,5 +117,5 @@ module RailsPwnage::Config
117
117
  end
118
118
 
119
119
  # ensures all databases are flushed when the script exits
120
- Kernel.at_exit { RailsPwnage::Config.flush_db_cache }
120
+ Kernel.at_exit { RailsPwnerer::Config.flush_db_cache }
121
121
  end
@@ -0,0 +1,19 @@
1
+ class RailsPwnerer::CtlExecutor
2
+ # standalone runner
3
+ def run(args)
4
+ case args[0]
5
+ when 'start'
6
+ RailsPwnerer::App::ClusterConfig.new.control_all :start
7
+ when 'stop'
8
+ RailsPwnerer::App::ClusterConfig.new.control_all :stop
9
+ when 'restart'
10
+ RailsPwnerer::App::ClusterConfig.new.control_all :stop
11
+ RailsPwnerer::App::ClusterConfig.new.control_all :start
12
+ when 'reload'
13
+ RailsPwnerer::App::ClusterConfig.new.control_all :stop
14
+ RailsPwnerer::App::ClusterConfig.new.control_all :start
15
+ else
16
+ print "Unrecognized command #{args[0]}\n"
17
+ end
18
+ end
19
+ end
@@ -1,7 +1,7 @@
1
1
  require 'pp'
2
2
 
3
- class RailsPwnage::DevExecutor
4
- include RailsPwnage::Base
3
+ class RailsPwnerer::DevExecutor
4
+ include RailsPwnerer::Base
5
5
 
6
6
  def read_config(instance)
7
7
  if instance == '*'
@@ -1,7 +1,7 @@
1
1
  require 'pp'
2
2
 
3
- class RailsPwnage::Executor
4
- include RailsPwnage::Scaffolds
3
+ class RailsPwnerer::Executor
4
+ include RailsPwnerer::Scaffolds
5
5
 
6
6
  # standalone runner
7
7
  def run(args)
@@ -51,24 +51,24 @@ class RailsPwnage::Executor
51
51
  when 'install', 'micro'
52
52
  svn_path = args[1]
53
53
  instance_name = args[2] || '.'
54
- RailsPwnage::App.install svn_path, instance_name
54
+ RailsPwnerer::App.install svn_path, instance_name
55
55
 
56
56
  when 'update', 'ubermicro'
57
57
  app_name = args[1]
58
58
  instance_name = args[2] || '.'
59
- RailsPwnage::App.update app_name, instance_name
59
+ RailsPwnerer::App.update app_name, instance_name
60
60
 
61
61
  when 'uninstall', 'remove'
62
62
  app_name = args[1]
63
63
  instance_name = args[2] || '.'
64
- RailsPwnage::App.remove app_name, instance_name
64
+ RailsPwnerer::App.remove app_name, instance_name
65
65
 
66
66
  when 'go'
67
67
  case args[1]
68
68
  when 'live', 'pwn'
69
- RailsPwnage::App.control_all :start
69
+ RailsPwnerer::App.control_all :start
70
70
  when 'down', 'panic'
71
- RailsPwnage::App.control_all :stop
71
+ RailsPwnerer::App.control_all :stop
72
72
  else
73
73
  print "Unrecognized go command #{args[1]}\n"
74
74
  end
@@ -76,41 +76,41 @@ class RailsPwnage::Executor
76
76
  when 'backup', 'checkpoint', 'save'
77
77
  app_name = args[1]
78
78
  instance_name = args[2] || '.'
79
- RailsPwnage::App.manage app_name, instance_name, :checkpoint
79
+ RailsPwnerer::App.manage app_name, instance_name, :checkpoint
80
80
  when 'restore', 'rollback'
81
81
  app_name = args[1]
82
82
  instance_name = args[2] || '.'
83
- RailsPwnage::App.manage app_name, instance_name, :rollback
83
+ RailsPwnerer::App.manage app_name, instance_name, :rollback
84
84
  when 'restoredb', 'rollbackdb', 'restore_db', 'rollback_db'
85
85
  app_name = args[1]
86
86
  instance_name = args[2] || '.'
87
- RailsPwnage::App.manage app_name, instance_name, :rollback_db
87
+ RailsPwnerer::App.manage app_name, instance_name, :rollback_db
88
88
  when 'console'
89
89
  app_name = args[1]
90
90
  instance_name = args[2] || '.'
91
- RailsPwnage::App.manage app_name, instance_name, :console
91
+ RailsPwnerer::App.manage app_name, instance_name, :console
92
92
  when 'dbconsole', 'db_console'
93
93
  app_name = args[1]
94
94
  instance_name = args[2] || '.'
95
- RailsPwnage::App.manage app_name, instance_name, :db_console
95
+ RailsPwnerer::App.manage app_name, instance_name, :db_console
96
96
  when 'dbreset', 'db_reset', 'resetdb', 'reset_db'
97
97
  app_name = args[1]
98
98
  instance_name = args[2] || '.'
99
- RailsPwnage::App.manage app_name, instance_name, :db_reset
99
+ RailsPwnerer::App.manage app_name, instance_name, :db_reset
100
100
  when 'rekey'
101
101
  app_name = args[1]
102
102
  instance_name = args[2] || '.'
103
- RailsPwnage::App.manage app_name, instance_name, :rekey
103
+ RailsPwnerer::App.manage app_name, instance_name, :rekey
104
104
 
105
105
  when 'showconfig', 'configshow', 'show_config', 'config_show', 'showconf'
106
106
  if args.length < 2
107
107
  # dump all databases
108
- RailsPwnage::Config.databases.each do |db|
108
+ RailsPwnerer::Config.databases.each do |db|
109
109
  print "Database: #{db}\n"
110
- pp RailsPwnage::Config[db]
110
+ pp RailsPwnerer::Config[db]
111
111
  end
112
112
  else
113
- pp RailsPwnage::Config[args[1]]
113
+ pp RailsPwnerer::Config[args[1]]
114
114
  end
115
115
  else
116
116
  print "Unrecognized command #{args[0]}\n"
@@ -1,20 +1,20 @@
1
1
  # sets up the configuration repository
2
2
 
3
- class RailsPwnage::Scaffolds::Config
4
- include RailsPwnage::Base
3
+ class RailsPwnerer::Scaffolds::Config
4
+ include RailsPwnerer::Base
5
5
 
6
6
  # runner
7
7
  def run
8
8
  # paths
9
- paths_db = RailsPwnage::Config.create_db :paths
9
+ paths_db = RailsPwnerer::Config.create_db :paths
10
10
  # the directory containing the nginx config files
11
11
  paths_db[:nginx_configs] = '/etc/nginx/sites-enabled'
12
12
  # the directory containing the ddclient configuration
13
13
  paths_db[:ddclient_config] = '/etc/ddclient.conf'
14
- RailsPwnage::Config.flush_db :paths
14
+ RailsPwnerer::Config.flush_db :paths
15
15
 
16
16
  # host info
17
- host_info = RailsPwnage::Config.create_db :host
17
+ host_info = RailsPwnerer::Config.create_db :host
18
18
  # the default instance name -- DNS names have dashes, but mySQL hates that
19
19
  host_info[:instance] = Socket.gethostname().split('.').first.gsub('-', '_')
20
20
  # the computer's name (if we ever do status reports)
@@ -26,10 +26,10 @@ class RailsPwnage::Scaffolds::Config
26
26
  # the user owning the /prod subtrees
27
27
  host_info[:pwnerer_user] = current_user
28
28
 
29
- RailsPwnage::Config.flush_db :host
29
+ RailsPwnerer::Config.flush_db :host
30
30
 
31
31
  # the free port list
32
- RailsPwnage::Config.init_ports
32
+ RailsPwnerer::Config.init_ports
33
33
  end
34
34
 
35
35
  # standalone runner
@@ -2,14 +2,14 @@
2
2
 
3
3
  require 'fileutils'
4
4
 
5
- class RailsPwnage::Scaffolds::DirPermissions
6
- include RailsPwnage::Base
5
+ class RailsPwnerer::Scaffolds::DirPermissions
6
+ include RailsPwnerer::Base
7
7
 
8
8
  # runner
9
9
  def run
10
- pwnerer_uid = uid_for_username(RailsPwnage::Config[:host][:pwnerer_user])
10
+ pwnerer_uid = uid_for_username(RailsPwnerer::Config[:host][:pwnerer_user])
11
11
  Dir.chdir('/') do
12
- [:config, :apps, :backups].map { |k| RailsPwnage::Config.path_to k }.each do |path|
12
+ [:config, :apps, :backups].map { |k| RailsPwnerer::Config.path_to k }.each do |path|
13
13
  FileUtils.mkpath path
14
14
  File.chown(pwnerer_uid, nil, path)
15
15
  end
@@ -2,13 +2,13 @@
2
2
 
3
3
  require 'fileutils'
4
4
 
5
- class RailsPwnage::Scaffolds::Dirs
6
- include RailsPwnage::Base
5
+ class RailsPwnerer::Scaffolds::Dirs
6
+ include RailsPwnerer::Base
7
7
 
8
8
  # runner
9
9
  def run
10
10
  Dir.chdir('/') do
11
- [:config, :apps, :backups].map { |k| RailsPwnage::Config.path_to k }.each do |path|
11
+ [:config, :apps, :backups].map { |k| RailsPwnerer::Config.path_to k }.each do |path|
12
12
  FileUtils.mkpath path
13
13
  end
14
14
  end
@@ -1,7 +1,7 @@
1
1
  # installs the required gems
2
2
 
3
- class RailsPwnage::Scaffolds::Gems
4
- include RailsPwnage::Base
3
+ class RailsPwnerer::Scaffolds::Gems
4
+ include RailsPwnerer::Base
5
5
 
6
6
  def install_self
7
7
  # need to reinstall self because ruby gets swapped while the gem is running
@@ -1,7 +1,7 @@
1
1
  # sets up rpwnctl (controlling the yet-to-be-written daemon) to startup at boot time
2
2
 
3
- class RailsPwnage::Scaffolds::HookDaemon
4
- include RailsPwnage::Base
3
+ class RailsPwnerer::Scaffolds::HookDaemon
4
+ include RailsPwnerer::Base
5
5
 
6
6
  # runner
7
7
  def run
@@ -1,7 +1,7 @@
1
1
  # hooks up the dynamic dns service
2
2
 
3
- class RailsPwnage::Scaffolds::HookDyndns
4
- include RailsPwnage::Base
3
+ class RailsPwnerer::Scaffolds::HookDyndns
4
+ include RailsPwnerer::Base
5
5
 
6
6
  # patches the ddclient boot script and configuration to enable the daemon
7
7
  def enable_daemon
@@ -16,7 +16,7 @@ class RailsPwnage::Scaffolds::HookDyndns
16
16
 
17
17
  # configures ddclient
18
18
  def configure(ddns_hostname, ddns_username, ddns_password)
19
- File.open(RailsPwnage::Config.path_to(:ddclient_config), 'w') do |f|
19
+ File.open(RailsPwnerer::Config.path_to(:ddclient_config), 'w') do |f|
20
20
  f << <<END_CONFIG
21
21
  pid=/var/run/ddclient.pid
22
22
  use=web, web=checkip.dyndns.com/, web-skip='IP Address'
@@ -1,7 +1,7 @@
1
1
  # installs the required OS (read: Ubuntu) packages
2
2
 
3
- class RailsPwnage::Scaffolds::MysqlConfig
4
- include RailsPwnage::Base
3
+ class RailsPwnerer::Scaffolds::MysqlConfig
4
+ include RailsPwnerer::Base
5
5
 
6
6
  # runner
7
7
  def run
@@ -0,0 +1,118 @@
1
+ # installs the required OS (read: Ubuntu / Debian) packages
2
+
3
+ class RailsPwnerer::Scaffolds::Packages
4
+ include RailsPwnerer::Base
5
+
6
+ # Packages needed to manage the server remotely and install applications.
7
+ def install_management
8
+ # Needed to play with the configuration database.
9
+ package 'debconf'
10
+ package 'debconf-utils'
11
+
12
+ package 'dpkg-dev' # Builds packages from source.
13
+ package 'openssh-server' # SSH into the box.
14
+
15
+ # For gems with native extensions.
16
+ package 'build-essential'
17
+ package 'g++'
18
+
19
+ # Pull code from version control.
20
+ package 'subversion'
21
+ package 'git-core'
22
+
23
+ package 'avahi-daemon' # mDNS, a.k.a. Bonjour
24
+ package 'ddclient' # dynamic DNS
25
+ end
26
+
27
+ # Packages needed by popular gems.
28
+ def install_tools
29
+ # For rmagick (image processing).
30
+ package 'libmagickwand-dev', /^libmagick\d*-dev$/
31
+
32
+ # For HTML/XML parsers (nokogiri, hpricot).
33
+ package 'libxml2-dev'
34
+ package 'libxslt1-dev'
35
+
36
+ # For HTTP fetchers (curb).
37
+ package 'libcurl-dev', 'libcurl-openssl-dev', /^libcurl\d*-dev$/,
38
+ /^libcurl\d*-openssl-dev$/
39
+
40
+ # needed for solr and other java-based services
41
+ package 'openjdk-6-jdk'
42
+
43
+ # useful to be able to work with compressed data
44
+ package 'bzip2'
45
+ package 'gzip'
46
+ package 'tar'
47
+ package 'zip'
48
+ end
49
+
50
+ # Packages for all the database servers we could need.
51
+ def install_databases
52
+ package 'sqlite3'
53
+ package 'libsqlite3-dev'
54
+
55
+ package 'mysql-client'
56
+ package 'mysql-server'
57
+ package 'libmysql-dev', 'libmysqlclient-dev', /^libmysqlclient\d*-dev$/
58
+
59
+ package 'postgresql-client'
60
+ package 'libpq-dev'
61
+
62
+ # TODO: NoSQL stores.
63
+ end
64
+
65
+ # The ruby environment (ruby, irb, rubygems).
66
+ def install_ruby
67
+ package 'ruby', 'ruby1.8'
68
+
69
+ # Extensions that don't come in the ruby package, but should.
70
+ package 'libdbm-ruby', 'libdbm-ruby1.8'
71
+ package 'libgdm-ruby', 'libgdbm-ruby1.8'
72
+ package 'libopenssl-ruby', 'libopenssl-ruby1.8'
73
+ package 'libreadline-ruby', 'libreadline-ruby1.8'
74
+ package 'libsetup-ruby', 'libsetup-ruby1.8'
75
+
76
+ # Ecosystem command-line tools.
77
+ package 'irb', 'irb1.8'
78
+ package 'ruby-dev', 'ruby1.8-dev'
79
+ package 'rubygems', 'rubygems1.8'
80
+
81
+ # Debian package tool. Might be helpful if we decide to auto-convert
82
+ # gems into debian packages.
83
+ package 'ruby-pkg-tools'
84
+ end
85
+
86
+ # Package for front-end servers.
87
+ def install_frontends
88
+ package 'nginx'
89
+ package 'varnish'
90
+ end
91
+
92
+ # Implementation of the super-simple package DSL.
93
+ def package(*patterns)
94
+ install_package_matching patterns
95
+ end
96
+
97
+
98
+ # Runner.
99
+ def run
100
+ sid_source = 'http://debian.mirrors.tds.net/debian/'
101
+ sid_repos = %w(unstable main non-free contrib)
102
+
103
+ update_package_metadata
104
+ update_all_packages
105
+ install_management
106
+ with_package_source sid_source, sid_repos do
107
+ install_tools
108
+ install_databases
109
+ install_ruby
110
+ install_frontends
111
+ end
112
+ end
113
+
114
+ # Standalone runner.
115
+ def self.go
116
+ self.new.run
117
+ end
118
+ end
@@ -1,8 +1,8 @@
1
1
  require 'fileutils'
2
2
  require 'net/http'
3
3
 
4
- class RailsPwnage::Scaffolds::RubyGems
5
- include RailsPwnage::Base
4
+ class RailsPwnerer::Scaffolds::RubyGems
5
+ include RailsPwnerer::Base
6
6
 
7
7
  # retrieves the URI for a Google "I'm Feeling Lucky" search
8
8
  def google_lucky_uri(query)
@@ -1,7 +1,7 @@
1
1
  # configures sshd for tunneling (Facebook apps anyone?)
2
2
 
3
- class RailsPwnage::Scaffolds::Sshd
4
- include RailsPwnage::Base
3
+ class RailsPwnerer::Scaffolds::Sshd
4
+ include RailsPwnerer::Base
5
5
 
6
6
  # runner
7
7
  def run
@@ -1,4 +1,4 @@
1
- module RailsPwnage::Util
1
+ module RailsPwnerer::Util
2
2
  # Complex procedure for killing a process or a bunch of process replicas
3
3
  # kill_command is the script that's supposed to kill the process / processes (tried first)
4
4
  # pid_patters are globs identifying PID files (a file can match any of the patterns)
@@ -0,0 +1,5 @@
1
+ module RailsPwnerer::Util
2
+ class << self
3
+ include RailsPwnerer::Base
4
+ end
5
+ end
data/lib/rails_pwnerer.rb CHANGED
@@ -1,61 +1,61 @@
1
- module RailsPwnage
1
+ module RailsPwnerer
2
2
  end
3
3
 
4
- module RailsPwnage::App
4
+ module RailsPwnerer::App
5
5
  end
6
6
 
7
- module RailsPwnage::Config
7
+ module RailsPwnerer::Config
8
8
  end
9
9
 
10
- module RailsPwnage::Scaffolds
10
+ module RailsPwnerer::Scaffolds
11
11
  end
12
12
 
13
13
 
14
- require 'pwnage/base.rb'
15
- require 'pwnage/base/atomics.rb'
16
- require 'pwnage/base/cpus.rb'
17
- require 'pwnage/base/dirs.rb'
18
- require 'pwnage/base/gems.rb'
19
- require 'pwnage/base/hostname.rb'
20
- require 'pwnage/base/input.rb'
21
- require 'pwnage/base/packages.rb'
22
- require 'pwnage/base/process.rb'
23
- require 'pwnage/base/rails.rb'
24
- require 'pwnage/base/startup.rb'
25
-
26
- require 'pwnage/util/main.rb'
27
- require 'pwnage/util/kill_process_set.rb'
28
-
29
- require 'pwnage/config/app.rb'
30
- require 'pwnage/config/frontends.rb'
31
- require 'pwnage/config/main.rb'
32
- require 'pwnage/config/paths.rb'
33
- require 'pwnage/config/ports.rb'
34
- require 'pwnage/config/repository.rb'
35
-
36
- require 'pwnage/scaffolds/config.rb'
37
- require 'pwnage/scaffolds/dirs.rb'
38
- require 'pwnage/scaffolds/dir_permissions.rb'
39
- require 'pwnage/scaffolds/gems.rb'
40
- require 'pwnage/scaffolds/hook_daemon.rb'
41
- require 'pwnage/scaffolds/hook_dyndns.rb'
42
- require 'pwnage/scaffolds/mysql_config.rb'
43
- require 'pwnage/scaffolds/packages.rb'
44
- require 'pwnage/scaffolds/rubygems.rb'
45
- require 'pwnage/scaffolds/sshd.rb'
46
-
47
- require 'pwnage/app/main.rb'
48
- require 'pwnage/app/config.rb'
49
- require 'pwnage/app/cluster_config.rb'
50
- require 'pwnage/app/files.rb'
51
- require 'pwnage/app/gems.rb'
52
- require 'pwnage/app/nginx_config.rb'
53
- require 'pwnage/app/scripts.rb'
54
- require 'pwnage/app/db/mysql.rb'
55
- require 'pwnage/app/vcs/git.rb'
56
- require 'pwnage/app/vcs/perforce.rb'
57
- require 'pwnage/app/vcs/svn.rb'
58
-
59
- require 'pwnage/ctl_executor.rb'
60
- require 'pwnage/dev_executor.rb'
61
- require 'pwnage/executor.rb'
14
+ require 'rails_pwnerer/base.rb'
15
+ require 'rails_pwnerer/base/atomics.rb'
16
+ require 'rails_pwnerer/base/cpus.rb'
17
+ require 'rails_pwnerer/base/dirs.rb'
18
+ require 'rails_pwnerer/base/gems.rb'
19
+ require 'rails_pwnerer/base/hostname.rb'
20
+ require 'rails_pwnerer/base/input.rb'
21
+ require 'rails_pwnerer/base/packages.rb'
22
+ require 'rails_pwnerer/base/process.rb'
23
+ require 'rails_pwnerer/base/rails.rb'
24
+ require 'rails_pwnerer/base/startup.rb'
25
+
26
+ require 'rails_pwnerer/util/main.rb'
27
+ require 'rails_pwnerer/util/kill_process_set.rb'
28
+
29
+ require 'rails_pwnerer/config/app.rb'
30
+ require 'rails_pwnerer/config/frontends.rb'
31
+ require 'rails_pwnerer/config/main.rb'
32
+ require 'rails_pwnerer/config/paths.rb'
33
+ require 'rails_pwnerer/config/ports.rb'
34
+ require 'rails_pwnerer/config/repository.rb'
35
+
36
+ require 'rails_pwnerer/scaffolds/config.rb'
37
+ require 'rails_pwnerer/scaffolds/dirs.rb'
38
+ require 'rails_pwnerer/scaffolds/dir_permissions.rb'
39
+ require 'rails_pwnerer/scaffolds/gems.rb'
40
+ require 'rails_pwnerer/scaffolds/hook_daemon.rb'
41
+ require 'rails_pwnerer/scaffolds/hook_dyndns.rb'
42
+ require 'rails_pwnerer/scaffolds/mysql_config.rb'
43
+ require 'rails_pwnerer/scaffolds/packages.rb'
44
+ require 'rails_pwnerer/scaffolds/rubygems.rb'
45
+ require 'rails_pwnerer/scaffolds/sshd.rb'
46
+
47
+ require 'rails_pwnerer/app/main.rb'
48
+ require 'rails_pwnerer/app/config.rb'
49
+ require 'rails_pwnerer/app/cluster_config.rb'
50
+ require 'rails_pwnerer/app/files.rb'
51
+ require 'rails_pwnerer/app/gems.rb'
52
+ require 'rails_pwnerer/app/nginx_config.rb'
53
+ require 'rails_pwnerer/app/scripts.rb'
54
+ require 'rails_pwnerer/app/db/mysql.rb'
55
+ require 'rails_pwnerer/app/vcs/git.rb'
56
+ require 'rails_pwnerer/app/vcs/perforce.rb'
57
+ require 'rails_pwnerer/app/vcs/svn.rb'
58
+
59
+ require 'rails_pwnerer/ctl_executor.rb'
60
+ require 'rails_pwnerer/dev_executor.rb'
61
+ require 'rails_pwnerer/executor.rb'
@@ -2,32 +2,42 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{rails_pwnerer}
5
- s.version = "0.6.64"
5
+ s.version = "0.6.65"
6
6
 
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Victor Costan"]
9
- s.date = %q{2010-05-30}
9
+ s.date = %q{2010-06-10}
10
10
  s.default_executable = %q{bin/rpwn}
11
- s.description = %q{Rails deployment tool/hack.}
11
+ s.description = %q{Rails deployment hack.}
12
12
  s.email = %q{victor@costan.us}
13
13
  s.executables = ["rpwn", "rpwnctl", "rpwndev"]
14
14
  s.extensions = ["ext/rpwn_setup_notice/extconf.rb"]
15
- s.extra_rdoc_files = ["bin/rpwn", "bin/rpwnctl", "bin/rpwndev", "CHANGELOG", "ext/rpwn_setup_notice/extconf.rb", "lib/pwnage/app/cluster_config.rb", "lib/pwnage/app/config.rb", "lib/pwnage/app/db/mysql.rb", "lib/pwnage/app/files.rb", "lib/pwnage/app/gems.rb", "lib/pwnage/app/main.rb", "lib/pwnage/app/nginx_config.rb", "lib/pwnage/app/scripts.rb", "lib/pwnage/app/vcs/git.rb", "lib/pwnage/app/vcs/perforce.rb", "lib/pwnage/app/vcs/svn.rb", "lib/pwnage/base/atomics.rb", "lib/pwnage/base/cpus.rb", "lib/pwnage/base/dirs.rb", "lib/pwnage/base/gems.rb", "lib/pwnage/base/hostname.rb", "lib/pwnage/base/input.rb", "lib/pwnage/base/packages.rb", "lib/pwnage/base/process.rb", "lib/pwnage/base/rails.rb", "lib/pwnage/base/startup.rb", "lib/pwnage/base.rb", "lib/pwnage/config/app.rb", "lib/pwnage/config/frontends.rb", "lib/pwnage/config/main.rb", "lib/pwnage/config/paths.rb", "lib/pwnage/config/ports.rb", "lib/pwnage/config/repository.rb", "lib/pwnage/ctl_executor.rb", "lib/pwnage/dev_executor.rb", "lib/pwnage/executor.rb", "lib/pwnage/scaffolds/config.rb", "lib/pwnage/scaffolds/dir_permissions.rb", "lib/pwnage/scaffolds/dirs.rb", "lib/pwnage/scaffolds/gems.rb", "lib/pwnage/scaffolds/hook_daemon.rb", "lib/pwnage/scaffolds/hook_dyndns.rb", "lib/pwnage/scaffolds/mysql_config.rb", "lib/pwnage/scaffolds/packages.rb", "lib/pwnage/scaffolds/rubygems.rb", "lib/pwnage/scaffolds/sshd.rb", "lib/pwnage/util/kill_process_set.rb", "lib/pwnage/util/main.rb", "lib/rails_pwnerer.rb", "LICENSE", "README"]
16
- s.files = ["bin/rpwn", "bin/rpwnctl", "bin/rpwndev", "CHANGELOG", "ext/rpwn_setup_notice/extconf.rb", "lib/pwnage/app/cluster_config.rb", "lib/pwnage/app/config.rb", "lib/pwnage/app/db/mysql.rb", "lib/pwnage/app/files.rb", "lib/pwnage/app/gems.rb", "lib/pwnage/app/main.rb", "lib/pwnage/app/nginx_config.rb", "lib/pwnage/app/scripts.rb", "lib/pwnage/app/vcs/git.rb", "lib/pwnage/app/vcs/perforce.rb", "lib/pwnage/app/vcs/svn.rb", "lib/pwnage/base/atomics.rb", "lib/pwnage/base/cpus.rb", "lib/pwnage/base/dirs.rb", "lib/pwnage/base/gems.rb", "lib/pwnage/base/hostname.rb", "lib/pwnage/base/input.rb", "lib/pwnage/base/packages.rb", "lib/pwnage/base/process.rb", "lib/pwnage/base/rails.rb", "lib/pwnage/base/startup.rb", "lib/pwnage/base.rb", "lib/pwnage/config/app.rb", "lib/pwnage/config/frontends.rb", "lib/pwnage/config/main.rb", "lib/pwnage/config/paths.rb", "lib/pwnage/config/ports.rb", "lib/pwnage/config/repository.rb", "lib/pwnage/ctl_executor.rb", "lib/pwnage/dev_executor.rb", "lib/pwnage/executor.rb", "lib/pwnage/scaffolds/config.rb", "lib/pwnage/scaffolds/dir_permissions.rb", "lib/pwnage/scaffolds/dirs.rb", "lib/pwnage/scaffolds/gems.rb", "lib/pwnage/scaffolds/hook_daemon.rb", "lib/pwnage/scaffolds/hook_dyndns.rb", "lib/pwnage/scaffolds/mysql_config.rb", "lib/pwnage/scaffolds/packages.rb", "lib/pwnage/scaffolds/rubygems.rb", "lib/pwnage/scaffolds/sshd.rb", "lib/pwnage/util/kill_process_set.rb", "lib/pwnage/util/main.rb", "lib/rails_pwnerer.rb", "LICENSE", "Manifest", "Rakefile", "README", "RUBYFORGE", "rails_pwnerer.gemspec"]
15
+ s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README", "bin/rpwn", "bin/rpwnctl", "bin/rpwndev", "ext/rpwn_setup_notice/extconf.rb", "lib/rails_pwnerer.rb", "lib/rails_pwnerer/app/cluster_config.rb", "lib/rails_pwnerer/app/config.rb", "lib/rails_pwnerer/app/db/mysql.rb", "lib/rails_pwnerer/app/files.rb", "lib/rails_pwnerer/app/gems.rb", "lib/rails_pwnerer/app/main.rb", "lib/rails_pwnerer/app/nginx_config.rb", "lib/rails_pwnerer/app/scripts.rb", "lib/rails_pwnerer/app/vcs/git.rb", "lib/rails_pwnerer/app/vcs/perforce.rb", "lib/rails_pwnerer/app/vcs/svn.rb", "lib/rails_pwnerer/base.rb", "lib/rails_pwnerer/base/atomics.rb", "lib/rails_pwnerer/base/cpus.rb", "lib/rails_pwnerer/base/dirs.rb", "lib/rails_pwnerer/base/gems.rb", "lib/rails_pwnerer/base/hostname.rb", "lib/rails_pwnerer/base/input.rb", "lib/rails_pwnerer/base/packages.rb", "lib/rails_pwnerer/base/process.rb", "lib/rails_pwnerer/base/rails.rb", "lib/rails_pwnerer/base/startup.rb", "lib/rails_pwnerer/config/app.rb", "lib/rails_pwnerer/config/frontends.rb", "lib/rails_pwnerer/config/main.rb", "lib/rails_pwnerer/config/paths.rb", "lib/rails_pwnerer/config/ports.rb", "lib/rails_pwnerer/config/repository.rb", "lib/rails_pwnerer/ctl_executor.rb", "lib/rails_pwnerer/dev_executor.rb", "lib/rails_pwnerer/executor.rb", "lib/rails_pwnerer/scaffolds/config.rb", "lib/rails_pwnerer/scaffolds/dir_permissions.rb", "lib/rails_pwnerer/scaffolds/dirs.rb", "lib/rails_pwnerer/scaffolds/gems.rb", "lib/rails_pwnerer/scaffolds/hook_daemon.rb", "lib/rails_pwnerer/scaffolds/hook_dyndns.rb", "lib/rails_pwnerer/scaffolds/mysql_config.rb", "lib/rails_pwnerer/scaffolds/packages.rb", "lib/rails_pwnerer/scaffolds/rubygems.rb", "lib/rails_pwnerer/scaffolds/sshd.rb", "lib/rails_pwnerer/util/kill_process_set.rb", "lib/rails_pwnerer/util/main.rb"]
16
+ s.files = ["CHANGELOG", "LICENSE", "Manifest", "README", "RUBYFORGE", "Rakefile", "bin/rpwn", "bin/rpwnctl", "bin/rpwndev", "ext/rpwn_setup_notice/extconf.rb", "lib/rails_pwnerer.rb", "lib/rails_pwnerer/app/cluster_config.rb", "lib/rails_pwnerer/app/config.rb", "lib/rails_pwnerer/app/db/mysql.rb", "lib/rails_pwnerer/app/files.rb", "lib/rails_pwnerer/app/gems.rb", "lib/rails_pwnerer/app/main.rb", "lib/rails_pwnerer/app/nginx_config.rb", "lib/rails_pwnerer/app/scripts.rb", "lib/rails_pwnerer/app/vcs/git.rb", "lib/rails_pwnerer/app/vcs/perforce.rb", "lib/rails_pwnerer/app/vcs/svn.rb", "lib/rails_pwnerer/base.rb", "lib/rails_pwnerer/base/atomics.rb", "lib/rails_pwnerer/base/cpus.rb", "lib/rails_pwnerer/base/dirs.rb", "lib/rails_pwnerer/base/gems.rb", "lib/rails_pwnerer/base/hostname.rb", "lib/rails_pwnerer/base/input.rb", "lib/rails_pwnerer/base/packages.rb", "lib/rails_pwnerer/base/process.rb", "lib/rails_pwnerer/base/rails.rb", "lib/rails_pwnerer/base/startup.rb", "lib/rails_pwnerer/config/app.rb", "lib/rails_pwnerer/config/frontends.rb", "lib/rails_pwnerer/config/main.rb", "lib/rails_pwnerer/config/paths.rb", "lib/rails_pwnerer/config/ports.rb", "lib/rails_pwnerer/config/repository.rb", "lib/rails_pwnerer/ctl_executor.rb", "lib/rails_pwnerer/dev_executor.rb", "lib/rails_pwnerer/executor.rb", "lib/rails_pwnerer/scaffolds/config.rb", "lib/rails_pwnerer/scaffolds/dir_permissions.rb", "lib/rails_pwnerer/scaffolds/dirs.rb", "lib/rails_pwnerer/scaffolds/gems.rb", "lib/rails_pwnerer/scaffolds/hook_daemon.rb", "lib/rails_pwnerer/scaffolds/hook_dyndns.rb", "lib/rails_pwnerer/scaffolds/mysql_config.rb", "lib/rails_pwnerer/scaffolds/packages.rb", "lib/rails_pwnerer/scaffolds/rubygems.rb", "lib/rails_pwnerer/scaffolds/sshd.rb", "lib/rails_pwnerer/util/kill_process_set.rb", "lib/rails_pwnerer/util/main.rb", "test/base_package_test.rb", "test/helper.rb", "rails_pwnerer.gemspec"]
17
17
  s.homepage = %q{http://www.costan.us/rails_pwnage}
18
18
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Rails_pwnerer", "--main", "README"]
19
19
  s.require_paths = ["lib", "ext"]
20
20
  s.rubyforge_project = %q{rails-pwnage}
21
21
  s.rubygems_version = %q{1.3.7}
22
- s.summary = %q{Rails deployment tool/hack.}
22
+ s.summary = %q{Rails deployment hack.}
23
+ s.test_files = ["test/base_package_test.rb"]
23
24
 
24
25
  if s.respond_to? :specification_version then
25
26
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
26
27
  s.specification_version = 3
27
28
 
28
29
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
30
+ s.add_development_dependency(%q<echoe>, [">= 0"])
31
+ s.add_development_dependency(%q<fakefs>, [">= 0"])
32
+ s.add_development_dependency(%q<flexmock>, [">= 0"])
29
33
  else
34
+ s.add_dependency(%q<echoe>, [">= 0"])
35
+ s.add_dependency(%q<fakefs>, [">= 0"])
36
+ s.add_dependency(%q<flexmock>, [">= 0"])
30
37
  end
31
38
  else
39
+ s.add_dependency(%q<echoe>, [">= 0"])
40
+ s.add_dependency(%q<fakefs>, [">= 0"])
41
+ s.add_dependency(%q<flexmock>, [">= 0"])
32
42
  end
33
43
  end