deprec 1.4.1 → 1.4.2

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.
@@ -53,8 +53,11 @@ module Deprec
53
53
 
54
54
 
55
55
  # create new user account on target system
56
- def useradd(user)
57
- send(run_method, "grep '^#{user}:' /etc/passwd || sudo /usr/sbin/useradd -m #{user}")
56
+ def useradd(user, options={})
57
+ switches = ''
58
+ switches += ' --create-home ' unless options[:homedir] == false
59
+ switches += " --gid #{options[:group]} " unless options[:group].nil?
60
+ send(run_method, "grep '^#{user}:' /etc/passwd || sudo /usr/sbin/useradd #{switches} #{user}")
58
61
  end
59
62
 
60
63
  # create a new group on target system
@@ -39,8 +39,8 @@ set :rails_env, "production"
39
39
  set :apache_server_name, domain
40
40
  # set :apache_server_aliases, %w{alias1 alias2}
41
41
  # set :apache_default_vhost, true # force use of apache_default_vhost_config
42
- # set :apache_default_vhost_conf, "/etc/httpd/conf/default.conf"
43
- # set :apache_conf, "/etc/httpd/conf/apps/#{application}.conf"
42
+ # set :apache_default_vhost_conf, "/usr/local/apache2/conf/default.conf"
43
+ # set :apache_conf, "/usr/local/apache2/conf/apps/#{application}.conf"
44
44
  # set :apache_ctl, "/etc/init.d/httpd"
45
45
  # set :apache_proxy_port, 8000
46
46
  # set :apache_proxy_servers, 2
@@ -59,8 +59,8 @@ set :apache_server_name, domain
59
59
  set :mongrel_address, apache_proxy_address
60
60
  # set :mongrel_environment, "production"
61
61
  # set :mongrel_config, "/etc/mongrel_cluster/#{application}.conf"
62
- # set :mongrel_user, user
63
- # set :mongrel_group, group
62
+ set :mongrel_user, "mongrel_#{application}"
63
+ set :mongrel_group, "app_#{application}"
64
64
 
65
65
  # =============================================================================
66
66
  # MYSQL OPTIONS
@@ -29,10 +29,20 @@ Capistrano.configuration(:must_exist).load do
29
29
  install_apache
30
30
  end
31
31
 
32
- desc "Set up the expected application directory structure on all boxes"
32
+ desc <<-DESC
33
+ deprecated: this function has been replaced by :before_setup and :after_setup
34
+ DESC
33
35
  task :deprec_setup, :except => { :no_release => true } do
34
- setup_paths
35
36
  setup
37
+ end
38
+
39
+ desc "creates paths required by Capistrano's :setup task"
40
+ task :before_setup, :except => { :no_release => true } do
41
+ setup_paths
42
+ end
43
+
44
+ desc "sets up and configures servers "
45
+ task :after_setup, :except => { :no_release => true } do
36
46
  setup_servers
37
47
  end
38
48
 
@@ -42,7 +52,23 @@ Capistrano.configuration(:must_exist).load do
42
52
  setup_paths
43
53
  setup_app
44
54
  setup_symlinks
45
- setup_db
55
+ setup_db # XXX fails is database already exists
56
+ end
57
+
58
+ task :after_update, :roles => :app do
59
+ set_perms_for_mongrel_dirs
60
+ end
61
+
62
+ desc "set group ownership and permissions on dirs mongrel needs to write to"
63
+ task :set_perms_for_mongrel_dirs, :roles => :app do
64
+ tmp_dir = "#{deploy_to}/current/tmp"
65
+ shared_dir = "#{deploy_to}/shared"
66
+ files = ["#{deploy_to}/shared/log/mongrel.log", "#{deploy_to}/shared/log/#{rails_env}.log"]
67
+
68
+ sudo "chgrp -R #{mongrel_group} #{tmp_dir} #{shared_dir}"
69
+ sudo "chmod 0775 #{tmp_dir} #{shared_dir}"
70
+ sudo "chown #{mongrel_user} #{files.join(' ')}"
71
+ sudo "chgrp #{mongrel_group} #{files.join(' ')}"
46
72
  end
47
73
 
48
74
  desc "Setup web server."
@@ -52,11 +78,21 @@ Capistrano.configuration(:must_exist).load do
52
78
  configure_apache
53
79
  end
54
80
 
81
+ desc "create user and group for mongel to run as"
82
+ task :create_mongrel_user_and_group do
83
+ set :mongrel_user, 'mongrel_' + application if mongrel_user.nil?
84
+ set :mongrel_group, 'app_' + application if mongrel_group.nil?
85
+ deprec.groupadd(mongrel_group)
86
+ deprec.useradd(mongrel_user, :group => mongrel_group, :homedir => false)
87
+ sudo "usermod --gid #{mongrel_group} #{mongrel_user}"
88
+ end
89
+
55
90
  desc "Setup application server."
56
91
  task :setup_app, :roles => :app do
57
92
  set :mongrel_environment, rails_env
58
93
  set :mongrel_port, apache_proxy_port
59
94
  set :mongrel_servers, apache_proxy_servers
95
+ create_mongrel_user_and_group
60
96
  install_mongrel_start_script
61
97
  setup_mongrel_cluster_path
62
98
  configure_mongrel_cluster
@@ -117,6 +153,7 @@ Capistrano.configuration(:must_exist).load do
117
153
  end
118
154
 
119
155
  task :install_rubygems do
156
+ # XXX should check for presence of ruby first!
120
157
  version = 'rubygems-0.9.2'
121
158
  set :src_package, {
122
159
  :file => version + '.tgz',
@@ -128,6 +165,7 @@ Capistrano.configuration(:must_exist).load do
128
165
  }
129
166
  deprec.download_src(src_package, src_dir)
130
167
  deprec.install_from_src(src_package, src_dir)
168
+ gem.upgrade
131
169
  gem.update_system
132
170
  end
133
171
 
@@ -135,11 +173,11 @@ Capistrano.configuration(:must_exist).load do
135
173
  version = 'httpd-2.2.4'
136
174
  set :src_package, {
137
175
  :file => version + '.tar.gz',
138
- :md5sum => '3add41e0b924d4bb53c2dee55a38c09e httpd-2.2.3.tar.gz',
176
+ :md5sum => '3add41e0b924d4bb53c2dee55a38c09e httpd-2.2.4.tar.gz',
139
177
  :dir => version,
140
178
  :url => "http://www.apache.org/dist/httpd/#{version}.tar.gz",
141
179
  :unpack => "tar zxf #{version}.tar.gz;",
142
- :configure => './configure --enable-proxy --enable-proxy-balancer --enable-proxy-http --enable-rewrite --enable-cache --enable-headers --enable-ssl --enable-deflate;',
180
+ :configure => './configure --enable-proxy --enable-proxy-balancer --enable-proxy-http --enable-rewrite --enable-cache --enable-headers --enable-ssl --enable-deflate --with-included-apr;',
143
181
  :make => 'make;',
144
182
  :install => 'make install;',
145
183
  :post_install => 'install -b support/apachectl /etc/init.d/httpd;'
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
2
+ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: deprec
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.4.1
7
- date: 2007-03-24 00:00:00 +05:30
6
+ version: 1.4.2
7
+ date: 2007-05-03 00:00:00 +10:00
8
8
  summary: deployment recipes for capistrano
9
9
  require_paths:
10
10
  - lib
@@ -94,7 +94,7 @@ dependencies:
94
94
  version_requirement:
95
95
  version_requirements: !ruby/object:Gem::Version::Requirement
96
96
  requirements:
97
- - - ">="
97
+ - - "="
98
98
  - !ruby/object:Gem::Version
99
- version: 1.2.0
99
+ version: 1.4.1
100
100
  version: