brightbox 2.3.9 → 2.4.0.pre1

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