deprec 1.2.3 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
@@ -28,6 +28,30 @@ module Deprec
|
|
28
28
|
END
|
29
29
|
end
|
30
30
|
|
31
|
+
# ##
|
32
|
+
# # Update a users crontab
|
33
|
+
# #
|
34
|
+
# # user: which users crontab should be affected
|
35
|
+
# # entry: the entry as it would appear in the crontab (e.g. '*/15 * * * * sleep 5')
|
36
|
+
# # action: :add or :remove
|
37
|
+
# #
|
38
|
+
# def update_user_crontab(user, entry, action = :add)
|
39
|
+
# # we don't want capistrano exiting if crontab doesn't yet exist
|
40
|
+
# cur_crontab = capture "crontab -u #{user} -l || exit 0"
|
41
|
+
# if cur_crontab.include?(entry)
|
42
|
+
# if action == :remove
|
43
|
+
# sudo "crontab -u #{user} -l | grep -v #{entry} | sudo crontab -u #{user} -"
|
44
|
+
# end
|
45
|
+
# else
|
46
|
+
# if action == :add
|
47
|
+
# new_crontab = cur_crontab.chomp + entry
|
48
|
+
# puts new_crontab
|
49
|
+
# sudo "echo '#{new_crontab}' | sudo crontab -u #{user} -"
|
50
|
+
# end
|
51
|
+
# end
|
52
|
+
# end
|
53
|
+
|
54
|
+
|
31
55
|
# create new user account on target system
|
32
56
|
def useradd(user)
|
33
57
|
send(run_method, "grep '^#{user}:' /etc/passwd || sudo /usr/sbin/useradd -m #{user}")
|
@@ -44,6 +68,15 @@ module Deprec
|
|
44
68
|
send(run_method, "groups #{user} | grep ' #{group} ' || sudo /usr/sbin/usermod -G #{group} -a #{user}")
|
45
69
|
end
|
46
70
|
|
71
|
+
# create directory if it doesn't already exist
|
72
|
+
# set permissions and ownership
|
73
|
+
def mkdir(path, mode=0755, group=nil, user=nil)
|
74
|
+
sudo "test -d #{path} || sudo mkdir -p -m#{mode} #{path}"
|
75
|
+
sudo "chgrp -R #{group} #{path}" if group
|
76
|
+
sudo "chown -R #{user} #{path}" if user
|
77
|
+
end
|
78
|
+
|
79
|
+
|
47
80
|
# download source package if we don't already have it
|
48
81
|
def download_src(src_package, src_dir)
|
49
82
|
deprec.groupadd(group)
|
@@ -52,7 +85,12 @@ module Deprec
|
|
52
85
|
sudo "chmod -R g+w #{src_dir}"
|
53
86
|
# XXX check if file exists and if we have and MD5 hash or bytecount to compare against
|
54
87
|
# XXX if so, compare and decide if we need to download again
|
55
|
-
|
88
|
+
if defined?(src_package[:md5sum])
|
89
|
+
md5_clause = " && echo '#{src_package[:md5sum]}' | md5sum -c - "
|
90
|
+
end
|
91
|
+
sudo <<-SUDO
|
92
|
+
sh -c "cd #{src_dir} && test -f #{src_package[:file]} #{md5_clause} || wget --timestamping #{src_package[:url]}"
|
93
|
+
SUDO
|
56
94
|
end
|
57
95
|
|
58
96
|
# unpack src and make it writable by the group
|
data/lib/deprec/recipes.rb
CHANGED
@@ -117,11 +117,12 @@ Capistrano.configuration(:must_exist).load do
|
|
117
117
|
end
|
118
118
|
|
119
119
|
task :install_rubygems do
|
120
|
-
version = 'rubygems-0.9.
|
120
|
+
version = 'rubygems-0.9.2'
|
121
121
|
set :src_package, {
|
122
122
|
:file => version + '.tgz',
|
123
|
+
:md5sum => 'cc525053dd465ab6e33af382166fa808 rubygems-0.9.2.tgz',
|
123
124
|
:dir => version,
|
124
|
-
:url => "http://rubyforge.org/frs/download.php/
|
125
|
+
:url => "http://rubyforge.org/frs/download.php/17190/#{version}.tgz",
|
125
126
|
:unpack => "tar zxf #{version}.tgz;",
|
126
127
|
:install => '/usr/bin/ruby1.8 setup.rb;'
|
127
128
|
}
|
@@ -133,7 +134,8 @@ Capistrano.configuration(:must_exist).load do
|
|
133
134
|
task :install_apache do
|
134
135
|
version = 'httpd-2.2.3'
|
135
136
|
set :src_package, {
|
136
|
-
:file => version + '.tar.gz',
|
137
|
+
:file => version + '.tar.gz',
|
138
|
+
:md5sum => 'f72ffb176e2dc7b322be16508c09f63c httpd-2.2.3.tar.gz'
|
137
139
|
:dir => version,
|
138
140
|
:url => "http://www.apache.org/dist/httpd/#{version}.tar.gz",
|
139
141
|
:unpack => "tar zxf #{version}.tar.gz;",
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: deprec
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.
|
7
|
-
date: 2007-02-
|
6
|
+
version: 1.3.0
|
7
|
+
date: 2007-02-22 00:00:00 +11:00
|
8
8
|
summary: deployment recipes for capistrano
|
9
9
|
require_paths:
|
10
10
|
- lib
|