rails_pwnerer 0.6.64 → 0.6.65

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 (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