brightbox 2.3.9 → 2.4.0.pre1

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.
data/bin/brightbox CHANGED
@@ -91,6 +91,8 @@ def deploy_requires(app_server)
91
91
  case app_server
92
92
  when :passenger
93
93
  header << %Q{require 'brightbox/passenger'}
94
+ when :mongrel
95
+ header << %Q{require 'brightbox/mongrel'}
94
96
  end
95
97
  return header
96
98
  end
@@ -112,9 +114,8 @@ unless Rake::Task.task_defined?("db:create")
112
114
  namespace(:db) do
113
115
  task :create do
114
116
  puts "This is a dummy task installed by the Brightbox command"
115
- puts "Your Rails version is too old to support the db:create task"
116
- puts "Either upgrade to Rails >=2.0 to use the inbuilt facilities"
117
- puts "Or create the database by hand if you haven't already"
117
+ puts "Your app doesn't support doing it's own database creation so you'll"
118
+ puts "have to create the database by hand if you haven't already."
118
119
  end
119
120
  end
120
121
  end
@@ -359,10 +360,10 @@ mongrel_deploy = unindent(<<-FILE
359
360
  passenger_deploy = unindent(<<-FILE
360
361
  ## Passenger Configuration
361
362
  # Set the method of restarting passenger
362
- # Defaults to :hard which is used to instantly free up database connections
363
- # :soft uses the standard touch tmp/restart.txt which leaves database connections
364
- # lingering until the workers time out
365
- # set :passenger_restart_strategy, :hard
363
+ # :soft is the default and just touches tmp/restart.txt as normal.
364
+ # :hard forcibly kills running instances, rarely needed now but used
365
+ # to be necessary with older versions of passenger
366
+ # set :passenger_restart_strategy, :soft
366
367
  FILE
367
368
  )
368
369
 
@@ -0,0 +1,21 @@
1
+ # Brightbox - Easy Ruby Web Application Deployment
2
+ # Copyright (C) 2013 Brightbox Systems
3
+ #
4
+ # This file is part of the Brightbox deployment system
5
+ #
6
+ # Brightbox gem is free software: you can redistribute it and/or modify it
7
+ # under the terms of the GNU Affero General Public License as published
8
+ # by the Free Software Foundation, either version 3 of the License,
9
+ # or (at your option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ # Affero General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU Affero General
17
+ # Public License along with this program. If not, see
18
+ # <http://www.gnu.org/licenses/>.
19
+ #
20
+ Capistrano::Configuration.instance(true).load File.join(File.dirname(__FILE__), "recipes", "deploy", "mongrel.rb")
21
+ Capistrano::Configuration.instance(true).load File.join(File.dirname(__FILE__), "recipes", "configure", "mongrel.rb")
@@ -18,8 +18,8 @@
18
18
  # <http://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
+
21
22
  after "gems:install", "bundler:install"
22
- depend :remote, :gem, "bundler", ">=1.0.0"
23
23
 
24
24
  namespace :bundler do
25
25
 
@@ -30,33 +30,40 @@ namespace :bundler do
30
30
  # Set :bundle_disable to true to prevent us from running bundler,
31
31
  # even if we detect a Gemfile
32
32
  _cset(:bundle_disable, false)
33
- # Set :bundle_force to true to run bundler even if we can't see a
34
- # Gemfile
33
+ # bundle_force is ignored now, bundle is used by default now
35
34
  _cset(:bundle_force, false)
36
35
  _cset(:bundle_symlink, true)
36
+ _cset(:bundle_cmd, "bundle")
37
+
38
+ set(:rake) do
39
+ if fetch(:bundle_disable)
40
+ "rake"
41
+ else
42
+ "#{fetch(:bundle_cmd)} exec rake"
43
+ end
44
+ end
45
+
46
+ depend :remote, :command, fetch(:bundle_cmd)
37
47
 
38
48
  desc "[internal]Install the bundler gem on the server"
39
49
  task :install_bundler, :except => {:no_release => true} do
40
- puts "Checking for bundler gem"
41
- gems.install_gem("bundler", ">= 1.0.0" )
50
+ gems.install_gem("bundler", ">= 1.3.0" )
42
51
  end
43
-
52
+
44
53
  desc %Q{
45
54
  [internal]Install the gems specified by the Gemfile or Gemfile.lock using bundler
46
55
  }
47
- task :install, :except => {:no_release => true} do
48
- install_cmd = "(bundle install --gemfile #{bundle_gemfile} "
56
+ task :install, :except => {:no_release => true} do
57
+ install_cmd = "(cd #{latest_release} && #{bundle_cmd} install --gemfile #{bundle_gemfile} "
58
+ install_cmd << "--quiet "
49
59
  install_cmd << "--path #{bundle_dir} #{bundle_flags} "
50
60
  install_cmd << "--without #{bundle_without} "
51
61
  install_cmd << "&& ln -sf #{bundle_dir} #{File.join(latest_release, "vendor")}" if fetch(:bundle_symlink)
52
62
  install_cmd << ")"
53
63
  if fetch(:bundle_disable)
54
- puts "Skipping bundler install as :bundle_enable is set to false"
55
- elsif fetch(:bundle_force)
56
- puts "Forcing bundler install as :bundle_force is set to true"
57
- run install_cmd
64
+ logger.info "Skipping bundler install as :bundle_enable is set to false"
58
65
  else
59
- run "if [ -e #{bundle_gemfile} ] ; then #{install_cmd} ; else true ; fi"
66
+ run install_cmd
60
67
  end
61
68
  end
62
69
 
@@ -64,7 +71,7 @@ namespace :bundler do
64
71
  [internal]Determine whether the requirements for your application are installed and available to bundler
65
72
  }
66
73
  task :check, :except => {:no_release => true} do
67
- run "bundle check --gemfile #{bundle_gemfile}"
74
+ run "cd #{latest_release} && #{bundle_cmd} check --gemfile #{bundle_gemfile}"
68
75
  end
69
76
 
70
77
  end
@@ -25,9 +25,7 @@ after "deploy:setup",
25
25
  "deploy:shared:global:setup",
26
26
  "deploy:shared:local:setup",
27
27
  "configure:maintenance",
28
- "configure:logrotation",
29
- "configure:apache",
30
- "configure:nginx"
28
+ "configure:logrotation"
31
29
 
32
30
  after "deploy:finalize_update",
33
31
  "deploy:shared:global:symlink",
@@ -19,18 +19,12 @@
19
19
  #
20
20
 
21
21
  # Commands
22
- _cset :monit_command, "railsapp-monit"
22
+
23
23
  _cset :apache_command, "railsapp-apache"
24
24
  _cset :nginx_command, "railsapp-nginx"
25
- _cset :mongrel_command, "railsapp-mongrel"
26
25
  _cset :logrotate_command, "railsapp-logrotate"
27
26
  _cset :maintenance_command, "railsapp-maintenance"
28
27
 
29
- def monit_setup
30
- "#{fetch(:monit_command)} _#{::Version}_"
31
- end
32
- depend :remote, :command, fetch(:monit_command)
33
-
34
28
  def apache_setup
35
29
  "#{fetch(:apache_command)} _#{::Version}_"
36
30
  end
@@ -41,11 +35,6 @@ def nginx_setup
41
35
  end
42
36
  depend :remote, :command, fetch(:nginx_command)
43
37
 
44
- def mongrel_setup
45
- "#{fetch(:mongrel_command)} _#{::Version}_"
46
- end
47
- depend :remote, :command, fetch(:mongrel_command)
48
-
49
38
  def logrotate_setup
50
39
  "#{fetch(:logrotate_command)} _#{::Version}_"
51
40
  end
@@ -56,8 +45,6 @@ def maintenance_setup
56
45
  end
57
46
  depend :remote, :command, fetch(:maintenance_command)
58
47
 
59
- Capistrano::Configuration.instance(true).load File.join(File.dirname(__FILE__), 'configure', 'mongrel.rb')
60
-
61
48
  namespace :configure do
62
49
 
63
50
  desc %Q{
@@ -83,7 +70,7 @@ namespace :configure do
83
70
  desc %Q{
84
71
  [internal]Create the default maintenance website on the appropriate web servers in the shared area.
85
72
  }
86
- task :maintenance, :roles => :web, :except => {:no_release => true} do
73
+ task :maintenance, :roles => :web, :except => {:no_release => true}, :on_no_matching_servers => :continue do
87
74
  run "#{maintenance_setup} #{shared_path}/system"
88
75
  end
89
76
 
@@ -18,26 +18,48 @@
18
18
  # <http://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
+ _cset :monit_command, "railsapp-monit"
22
+ _cset :mongrel_command, "railsapp-mongrel"
23
+ def monit_setup
24
+ "#{fetch(:monit_command)} _#{::Version}_"
25
+ end
26
+ depend :remote, :command, fetch(:monit_command)
27
+
28
+ def mongrel_setup
29
+ "#{fetch(:mongrel_command)} _#{::Version}_"
30
+ end
31
+ depend :remote, :command, fetch(:mongrel_command)
32
+
33
+ # Default system dependencies
34
+ depend :remote, :command, "mongrel_rails"
35
+
36
+ _cset :mongrel_pid_file, "tmp/pids/mongrel.pid" #Stores Process ID for Mongrels
37
+ _cset :mongrel_host, :local
38
+ _cset :mongrel_port, 9200
39
+ _cset :mongrel_servers, 2
40
+ _cset(:mongrel_config_file) {File.join(deploy_to, "#{application}_mongrel_config.yml")}
41
+ case mongrel_host
42
+ when :local, :remote
43
+ _cset :mongrel_check_url, "http://localhost"
44
+ else
45
+ _cset :mongrel_check_url, "http://#{mongrel_host}"
46
+ end
47
+ _cset :mongrel_max_memory, 110
48
+ _cset :mongrel_max_cpu, 80
49
+
50
+
21
51
  after "deploy:setup",
22
52
  "configure:monit",
23
53
  "configure:mongrel"
54
+ "configure:apache",
55
+ "configure:nginx"
56
+
24
57
 
25
58
  after "deploy:cold",
26
59
  "deploy:monit:reload"
27
60
 
28
61
  namespace :configure do
29
62
 
30
- # Runs the given block when generating webserver configuration is allowed.
31
- #
32
- # Basically, runs the block unless "set :generate_webserver_config, false" is in deploy.rb
33
- def run_when_generating_webserver_config_allowed
34
- if generate_webserver_config
35
- yield if block_given?
36
- else
37
- logger.trace "Skipped - Not generating webserver config"
38
- end
39
- end
40
-
41
63
  [:nginx, :apache].each do |webserver|
42
64
  desc %Q{
43
65
  [internal]Create #{webserver.to_s} config. Creates a load balancing virtual host \
@@ -149,4 +171,4 @@ end
149
171
  )
150
172
  end
151
173
 
152
- end
174
+ end
@@ -18,8 +18,12 @@
18
18
  # <http://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
+ _cset :passenger_restart_strategy, :soft
22
+
23
+ after "deploy:setup", "configure:apache"
24
+
21
25
  namespace :configure do
22
-
26
+
23
27
  desc %Q{
24
28
  [internal]Create Apache config. Creates a load balancing virtual host \
25
29
  configuration based upon your specified settings
@@ -51,11 +55,6 @@ namespace :configure do
51
55
  )
52
56
  end
53
57
  end
54
-
55
- task :mongrel, :roles => :app, :except => {:no_release => true} do
56
- end
57
-
58
- task :monit, :roles => :app, :except => {:no_release => true} do
59
- end
60
-
61
- end
58
+
59
+
60
+ end
@@ -1,5 +1,5 @@
1
1
  # Brightbox - Easy Ruby Web Application Deployment
2
- # Copyright (C) 2008, Neil Wilson, Brightbox Systems
2
+ # Copyright (C) 2013, Neil Wilson, John Leach, Brightbox Systems
3
3
  #
4
4
  # This file is part of the Brightbox deployment system
5
5
  #
@@ -17,10 +17,6 @@
17
17
  # Public License along with this program. If not, see
18
18
  # <http://www.gnu.org/licenses/>.
19
19
  #
20
- # Override standard tasks that don't do what we want
21
-
22
- # By default we require mongrel. In future we can just switch the default to passenger
23
- Capistrano::Configuration.instance(true).load File.join(File.dirname(__FILE__), 'deploy', 'mongrel.rb')
24
20
 
25
21
  if File.exists?("config/deploy.local.rb")
26
22
  Capistrano::Configuration.instance(true).load 'config/deploy.local.rb'
@@ -33,7 +29,7 @@ namespace :deploy do
33
29
  desc %Q{
34
30
  Reload the webserver
35
31
  }
36
- task :reload, :roles => :web, :except => {:no_release => true } do
32
+ task :reload, :roles => :web, :except => {:no_release => true }, :on_no_matching_servers => :continue do
37
33
  %w(apache2 nginx).each do |webserver|
38
34
  initscript = "/etc/init.d/#{webserver}"
39
35
  sudo %Q{
@@ -45,7 +41,7 @@ namespace :deploy do
45
41
  desc %Q{
46
42
  [internal]reload web server if first release
47
43
  }
48
- task :reload_if_new, :roles => :web, :except => {:no_release => true} do
44
+ task :reload_if_new, :roles => :web, :except => {:no_release => true}, :on_no_matching_servers => :continue do
49
45
  reset! :releases
50
46
  reload if releases.length == 1
51
47
  end
@@ -58,7 +54,7 @@ namespace :deploy do
58
54
  Return a 503 Service Temporarily Unavailable error code and display \
59
55
  the 'system maintenance' page.
60
56
  }
61
- task :disable, :roles => :web, :except => { :no_release => true } do
57
+ task :disable, :roles => :web, :except => { :no_release => true }, :on_no_matching_servers => :continue do
62
58
  on_rollback {
63
59
  run "rm #{maintenance_page}"
64
60
  }
@@ -69,7 +65,7 @@ namespace :deploy do
69
65
  Makes the application web-accessible again. Removes the link \
70
66
  to the maintenance area.
71
67
  }
72
- task :enable, :roles => :web, :except => { :no_release => true } do
68
+ task :enable, :roles => :web, :except => { :no_release => true }, :on_no_matching_servers => :continue do
73
69
  run "rm #{maintenance_page}"
74
70
  end
75
71
 
@@ -90,7 +86,7 @@ namespace :deploy do
90
86
  desc %Q{
91
87
  Execute Rake tasks that need to be run once per system
92
88
  }
93
- task :singleton, :roles => :db, :only => {:primary => true} do
89
+ task :singleton, :roles => :db, :only => {:primary => true}, :on_no_matching_servers => :continue do
94
90
  run rake_task("db:create")
95
91
  end
96
92
 
@@ -18,30 +18,11 @@
18
18
  # <http://www.gnu.org/licenses/>.
19
19
  #
20
20
  def rake_task(taskname)
21
- rake = fetch(:rake, "rake")
21
+ rake = fetch(:rake)
22
22
  rake_env = fetch(:rake_env, "")
23
- in_rails_root("#{rake} #{rake_env} #{taskname}")
24
- end
25
-
26
- # Runs the command under bundle exec if there is a Gemfile, otherwise
27
- # runs it without
28
- def bundle_exec(command)
29
- if bundle_disable
30
- %Q{RAILS_ENV=#{rails_env} #{command}}
31
- else
32
- %Q{
33
- if [ "#{bundle_force}" = "true" -o -f "#{bundle_gemfile}" ] ;
34
- then RAILS_ENV=#{rails_env} bundle exec #{command} ;
35
- else RAILS_ENV=#{rails_env} #{command} ;
36
- fi
37
- }
38
- end
39
- end
40
-
41
- def in_rails_root(taskname)
42
- rails_env = fetch(:rails_env, "production")
43
23
  directory = current_release
44
- "cd #{directory} ; #{bundle_exec(taskname)}"
24
+ # FIXME
25
+ "cd #{directory} ; #{rake} RAILS_ENV=#{rails_env} #{rake_env} #{taskname}"
45
26
  end
46
27
 
47
28
  def on_one_line(cmd_list)
@@ -62,3 +43,14 @@ def depend location, type, *args
62
43
  cap_depend(location, type, *args)
63
44
  end
64
45
  end
46
+
47
+ # Runs the given block when generating webserver configuration is allowed.
48
+ #
49
+ # Basically, runs the block unless "set :generate_webserver_config, false" is in deploy.rb
50
+ def run_when_generating_webserver_config_allowed
51
+ if fetch(:generate_webserver_config, true)
52
+ yield if block_given?
53
+ else
54
+ logger.trace "Skipped - Not generating webserver config"
55
+ end
56
+ end
@@ -2,8 +2,10 @@ before "gems:install", "packages:install"
2
2
 
3
3
  namespace :packages do
4
4
 
5
+ _cset(:packages_install, true)
6
+
5
7
  def install_package name
6
- run %Q{dpkg-query --show -f '${Status}' #{name} 2>/dev/null|egrep -q "^install ok installed$" || sudo -p '#{sudo_prompt}' apt-get install -qy #{name}}
8
+ run %Q{dpkg-query --show -f '${Status}' #{name} 2>/dev/null|egrep -q "^install ok installed$" || #{sudo} apt-get install -qy #{name}}
7
9
  end
8
10
 
9
11
  def package_dependencies?
@@ -14,21 +16,28 @@ namespace :packages do
14
16
 
15
17
  def install_packages
16
18
  deps = package_dependencies?
17
- puts "Updating apt-get"
18
- sudo "apt-get update -qy >/dev/null"
19
- deps.each do |pkg|
20
- name = pkg
21
- puts "Checking for #{name}"
22
- install_package(name)
19
+ if deps.empty?
20
+ logger.info "Skipping, no packages defined for installation"
21
+ else
22
+ logger.info "Updating package information with apt-get"
23
+ run "#{sudo} apt-get update -qy >/dev/null"
24
+ deps.each do |pkg|
25
+ name = pkg
26
+ logger.info "Checking for package #{name}"
27
+ install_package(name)
28
+ end
23
29
  end
24
30
  end
25
31
 
26
32
  desc %Q{
27
33
  [internal]Run the packages install task in the application.
28
34
  }
29
- task :install, :except => {:no_release => true} do
30
- puts "Checking required packages are installed"
31
- install_packages
35
+ task :install, :except => {:no_release => true, :packages_install => false}, :on_no_matching_servers => :continue do
36
+ if fetch(:packages_install)
37
+ install_packages
38
+ else
39
+ logger.info "Skipping packages:install as :packages_install is set to false"
40
+ end
32
41
  end
33
42
 
34
- end
43
+ end
@@ -18,28 +18,15 @@
18
18
  # <http://www.gnu.org/licenses/>.
19
19
  #
20
20
  # Provide default settings for variables
21
- _cset :mongrel_pid_file, "tmp/pids/mongrel.pid" #Stores Process ID for Mongrels
21
+
22
22
  _cset :log_max_size, "100M" #Size at which to rotate log
23
23
  _cset :log_keep, "10" #Keep this many compressed logs
24
24
  _cset(:log_dir) {File.join(current_path, 'log')}
25
- _cset :mongrel_host, :local
26
- _cset :mongrel_port, 9200
27
- _cset :mongrel_servers, 2
28
- _cset(:mongrel_config_file) {File.join(deploy_to, "#{application}_mongrel_config.yml")}
29
- case mongrel_host
30
- when :local, :remote
31
- _cset :mongrel_check_url, "http://localhost"
32
- else
33
- _cset :mongrel_check_url, "http://#{mongrel_host}"
34
- end
35
- _cset :mongrel_max_memory, 110
36
- _cset :mongrel_max_cpu, 80
37
25
  _cset(:domain) { abort "You need to set the :domain variable, e.g set :domain 'www.example.com'" }
38
26
  _cset :domain_aliases, nil
39
27
  _cset :max_age, nil
40
28
  _cset :user, "rails"
41
29
  _cset :runner, user
42
- _cset :passenger_restart_strategy, :hard
43
30
  _cset :use_sudo, false
44
31
  _cset :ssl_certificate, nil
45
32
  _cset :ssl_intermediate, nil
@@ -48,12 +35,9 @@ _cset :generate_webserver_config, true
48
35
  _cset :rails_env, "production"
49
36
  ssh_options[:forward_agent] = true
50
37
 
51
- # Default system dependencies
52
- depend :remote, :command, "mongrel_rails"
53
-
54
38
  # Default shared areas
55
39
  _cset :local_shared_dirs, []
56
40
  _cset :local_shared_files, []
57
41
  _cset :global_shared_dirs, []
58
42
  _cset :global_shared_files, []
59
- _cset(:global_shared_path) { shared_path }
43
+ _cset(:global_shared_path) { shared_path }
@@ -1,5 +1,5 @@
1
1
  module Brightbox
2
- VERSION = "2.3.9"
2
+ VERSION = "2.4.0.pre1"
3
3
  end
4
4
  # Set global scope version so that OptionParser picks it up.
5
5
  ::Version = Brightbox::VERSION
metadata CHANGED
@@ -1,15 +1,10 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: brightbox
3
- version: !ruby/object:Gem::Version
4
- hash: 17
5
- prerelease:
6
- segments:
7
- - 2
8
- - 3
9
- - 9
10
- version: 2.3.9
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: 6
5
+ version: 2.4.0.pre1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - John Leach
14
9
  - Neil Wilson
15
10
  - David Smalley
@@ -17,36 +12,51 @@ authors:
17
12
  autorequire:
18
13
  bindir: bin
19
14
  cert_chain: []
20
-
21
- date: 2011-12-02 00:00:00 Z
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
15
+ date: 2013-04-02 00:00:00.000000000 Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ type: :runtime
24
19
  name: capistrano
25
20
  prerelease: false
26
- requirement: &id001 !ruby/object:Gem::Requirement
21
+ requirement: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ! '>='
24
+ - !ruby/object:Gem::Version
25
+ version: '2.14'
26
+ none: false
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ! '>='
30
+ - !ruby/object:Gem::Version
31
+ version: '2.14'
27
32
  none: false
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- hash: 9
32
- segments:
33
- - 2
34
- - 5
35
- version: "2.5"
33
+ - !ruby/object:Gem::Dependency
36
34
  type: :runtime
37
- version_requirements: *id001
35
+ name: bundler
36
+ prerelease: false
37
+ requirement: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ! '>='
40
+ - !ruby/object:Gem::Version
41
+ version: 1.3.4
42
+ none: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: 1.3.4
48
+ none: false
38
49
  description:
39
50
  email: support@brightbox.co.uk
40
- executables:
51
+ executables:
41
52
  - brightbox
42
53
  extensions: []
43
-
44
54
  extra_rdoc_files: []
45
-
46
- files:
55
+ files:
47
56
  - LICENSE
48
57
  - lib/brightbox/recipes.rb
49
58
  - lib/brightbox/version.rb
59
+ - lib/brightbox/mongrel.rb
50
60
  - lib/brightbox/passenger.rb
51
61
  - lib/brightbox/recipes/variables.rb
52
62
  - lib/brightbox/recipes/helpers.rb
@@ -66,36 +76,26 @@ files:
66
76
  - bin/brightbox
67
77
  homepage: http://wiki.brightbox.co.uk/docs:gemv2:start
68
78
  licenses: []
69
-
70
79
  post_install_message:
71
80
  rdoc_options: []
72
-
73
- require_paths:
81
+ require_paths:
74
82
  - lib
75
- required_ruby_version: !ruby/object:Gem::Requirement
83
+ required_ruby_version: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
76
88
  none: false
77
- requirements:
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- hash: 3
81
- segments:
82
- - 0
83
- version: "0"
84
- required_rubygems_version: !ruby/object:Gem::Requirement
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ! '>'
92
+ - !ruby/object:Gem::Version
93
+ version: 1.3.1
85
94
  none: false
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- hash: 3
90
- segments:
91
- - 0
92
- version: "0"
93
95
  requirements: []
94
-
95
96
  rubyforge_project: brightbox
96
- rubygems_version: 1.8.10
97
+ rubygems_version: 1.8.23
97
98
  signing_key:
98
99
  specification_version: 3
99
100
  summary: Brightbox rails deployment scripts for Capistrano
100
101
  test_files: []
101
-