capistrano-pyenv 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/capistrano-pyenv/deploy.rb +37 -6
- data/lib/capistrano-pyenv/version.rb +1 -1
- metadata +2 -2
@@ -10,8 +10,7 @@ module Capistrano
|
|
10
10
|
File.join(pyenv_path, 'bin', 'pyenv')
|
11
11
|
}
|
12
12
|
_cset(:pyenv_cmd) { # to use custom pyenv_path, we use `env` instead of cap's default_environment.
|
13
|
-
|
14
|
-
"env PATH=#{path.dump()} #{pyenv_bin}"
|
13
|
+
"env PYENV_VERSION=#{pyenv_python_version.dump} #{pyenv_bin}"
|
15
14
|
}
|
16
15
|
_cset(:pyenv_repository, 'git://github.com/yyuu/pyenv.git')
|
17
16
|
_cset(:pyenv_branch, 'master')
|
@@ -35,7 +34,6 @@ module Capistrano
|
|
35
34
|
}
|
36
35
|
|
37
36
|
_cset(:pyenv_python_version, '2.7.3')
|
38
|
-
_cset(:pyenv_python_dependencies, %w(build-essential libreadline6-dev zlib1g-dev libssl-dev))
|
39
37
|
|
40
38
|
desc("Setup pyenv.")
|
41
39
|
task(:setup, :except => { :no_release => true }) {
|
@@ -85,9 +83,42 @@ module Capistrano
|
|
85
83
|
# nop
|
86
84
|
}
|
87
85
|
|
86
|
+
_cset(:pyenv_platform) {
|
87
|
+
capture((<<-EOS).gsub(/\s+/, ' ')).strip
|
88
|
+
if test -f /etc/debian_version; then
|
89
|
+
if test -f /etc/lsb-release && grep -i -q DISTRIB_ID=Ubuntu /etc/lsb-release; then
|
90
|
+
echo ubuntu;
|
91
|
+
else
|
92
|
+
echo debian;
|
93
|
+
fi;
|
94
|
+
elif test -f /etc/redhat-release; then
|
95
|
+
echo redhat;
|
96
|
+
else
|
97
|
+
echo unknown;
|
98
|
+
fi;
|
99
|
+
EOS
|
100
|
+
}
|
101
|
+
_cset(:pyenv_python_dependencies) {
|
102
|
+
case pyenv_platform
|
103
|
+
when /(debian|ubuntu)/i
|
104
|
+
%w(build-essential libreadline6-dev zlib1g-dev libssl-dev)
|
105
|
+
when /redhat/i
|
106
|
+
%w(autoconf glibc-devel patch readline readline-devel zlib zlib-devel openssl)
|
107
|
+
else
|
108
|
+
[]
|
109
|
+
end
|
110
|
+
}
|
88
111
|
task(:dependencies, :except => { :no_release => true }) {
|
89
|
-
unless pyenv_python_dependencies.empty?
|
90
|
-
|
112
|
+
unless pyenv_python_dependencies.empty?
|
113
|
+
case pyenv_platform
|
114
|
+
when /(debian|ubuntu)/i
|
115
|
+
# dpkg-query is faster than apt-get on querying if packages are installed
|
116
|
+
run("dpkg-query --show #{pyenv_python_dependencies.join(' ')} 2>/dev/null || #{sudo} apt-get -y install #{pyenv_python_dependencies.join(' ')}")
|
117
|
+
when /redhat/i
|
118
|
+
run("#{sudo} yum install -y #{pyenv_python_dependencies.join(' ')}")
|
119
|
+
else
|
120
|
+
# nop
|
121
|
+
end
|
91
122
|
end
|
92
123
|
}
|
93
124
|
|
@@ -95,7 +126,7 @@ module Capistrano
|
|
95
126
|
task(:build, :except => { :no_release => true }) {
|
96
127
|
python = fetch(:pyenv_python_cmd, 'python')
|
97
128
|
run("#{pyenv_cmd} whence #{python} | grep -q #{pyenv_python_version} || #{pyenv_cmd} install #{pyenv_python_version}")
|
98
|
-
run("#{pyenv_cmd}
|
129
|
+
run("#{pyenv_cmd} exec #{python} --version")
|
99
130
|
}
|
100
131
|
}
|
101
132
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-pyenv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-09-
|
12
|
+
date: 2012-09-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: capistrano
|