itamae-plugin-recipe-rbenv 0.3.4 → 0.4.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +83 -0
- data/README.md +34 -5
- data/lib/itamae/plugin/recipe/rbenv.rb +1 -17
- data/lib/itamae/plugin/recipe/rbenv/dependency.rb +36 -0
- data/lib/itamae/plugin/recipe/rbenv/install.rb +57 -0
- data/lib/itamae/plugin/recipe/rbenv/system.rb +12 -89
- data/lib/itamae/plugin/recipe/rbenv/user.rb +22 -0
- data/lib/itamae/plugin/recipe/rbenv/version.rb +1 -1
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 05a841124194fd50571a8c312b0de8571fe2bd78
|
4
|
+
data.tar.gz: f123e55f8fc79f622e9a960068d2357aa46b3a8e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: caad1d67c8c86edb9846eea263331cf992686925fb853afaf9ced0a1e500335e0c0def26c0b40dace6b4fa99fdb0b8ff702f34b395c2b25f12a501f9d1a03dea
|
7
|
+
data.tar.gz: e64d76ddf34dec4559b02396ee3041a2c945420b1534113735157bd598505e79b475f80fe0936a449144ed00bcafdb68e53f146be28fa8cf80247863ac56bb97
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
## v0.4.0
|
2
|
+
### Added
|
3
|
+
|
4
|
+
- Support user-local rbenv installation by `rbenv::user`
|
5
|
+
- `rbenv_plugin` resource
|
6
|
+
|
7
|
+
### Changed
|
8
|
+
|
9
|
+
- Unused rbenv plugins are not `git clone`ed by default except ruby-build
|
10
|
+
- You should explicitly set `install: true` if you want
|
11
|
+
|
12
|
+
## v0.3.4
|
13
|
+
### Added
|
14
|
+
|
15
|
+
- Add osx support for dependency installation.
|
16
|
+
*Thanks to @dex1t*
|
17
|
+
|
18
|
+
## v0.3.3
|
19
|
+
### Added
|
20
|
+
|
21
|
+
- Add support for non-git scheme.
|
22
|
+
*Thanks to @katsyoshi*
|
23
|
+
|
24
|
+
## v0.3.2
|
25
|
+
### Added
|
26
|
+
|
27
|
+
- Add support for rbenv-gem-rehash.
|
28
|
+
*Thanks to @dex1t*
|
29
|
+
|
30
|
+
## v0.3.1
|
31
|
+
### Added
|
32
|
+
|
33
|
+
- Add git package installation.
|
34
|
+
*Thanks to @takai*
|
35
|
+
|
36
|
+
## v0.3.0
|
37
|
+
### Changed
|
38
|
+
|
39
|
+
- Change platform finder from `os[:family]` to `node[:platform]`.
|
40
|
+
*Thanks to @muratayusuke*
|
41
|
+
- Require itamae ~> v1.2
|
42
|
+
|
43
|
+
## v0.2.2
|
44
|
+
### Added
|
45
|
+
|
46
|
+
- Widen supported platforms for dependency installation.
|
47
|
+
*Thanks to @sue445*
|
48
|
+
|
49
|
+
## v0.2.1
|
50
|
+
### Added
|
51
|
+
|
52
|
+
- Allow installing gems by default using rbenv-default-gems.
|
53
|
+
*Thanks to @sue445*
|
54
|
+
|
55
|
+
## v0.2.0
|
56
|
+
### Added
|
57
|
+
|
58
|
+
- Allow specifying `RBENV_ROOT` by `node[:rbenv][:rbenv_root]`.
|
59
|
+
*Thanks to @sue445*
|
60
|
+
|
61
|
+
## v0.1.2
|
62
|
+
### Fixed
|
63
|
+
|
64
|
+
- Add libffi-devel package depended by Ruby 2.2.
|
65
|
+
*Thanks to @kwappa*
|
66
|
+
|
67
|
+
## v0.1.1
|
68
|
+
### Fixed
|
69
|
+
|
70
|
+
- Prevent error when `node[:'ruby-build']` is nil
|
71
|
+
|
72
|
+
## v0.1.0
|
73
|
+
### Added
|
74
|
+
|
75
|
+
- Support updating ruby-build's revision by `node[:'ruby-build'][:revision]`
|
76
|
+
|
77
|
+
## v0.0.1
|
78
|
+
### Added
|
79
|
+
|
80
|
+
- Clone rbenv and ruby-build by default
|
81
|
+
- Support ruby-build
|
82
|
+
- installing multiple rubies using ruby-build
|
83
|
+
- `rbenv global`
|
data/README.md
CHANGED
@@ -18,9 +18,10 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
$ gem install itamae-plugin-recipe-rbenv
|
20
20
|
|
21
|
-
|
21
|
+
# Usage
|
22
|
+
## System wide installation
|
22
23
|
|
23
|
-
|
24
|
+
Install rbenv to /usr/local/rbenv or some shared path
|
24
25
|
|
25
26
|
### Recipe
|
26
27
|
|
@@ -48,7 +49,7 @@ rbenv:
|
|
48
49
|
# specify scheme to use in git clone (default: git)
|
49
50
|
scheme: https
|
50
51
|
|
51
|
-
# revision of
|
52
|
+
# revision of rbenv/ruby-build, optional
|
52
53
|
ruby-build:
|
53
54
|
revision: e455975286e44393b1b33037ae1ce40ef2742401
|
54
55
|
|
@@ -57,11 +58,13 @@ rbenv-default-gems:
|
|
57
58
|
- bundler
|
58
59
|
- bcat ~>0.6
|
59
60
|
- rails --pre
|
60
|
-
# revision of
|
61
|
+
# revision of rbenv/rbenv-default-gems, optional
|
61
62
|
revision: ead67889c91c53ad967f85f5a89d986fdb98f6fb
|
62
63
|
|
63
|
-
# revision
|
64
|
+
# Specify :install or :revision to install rbenv-gem-rehash
|
64
65
|
rbenv-gem-rehash:
|
66
|
+
install: true
|
67
|
+
# or
|
65
68
|
revision: 4d7b92de4bdf549df59c3c8feb1890116d2ea985
|
66
69
|
```
|
67
70
|
|
@@ -75,6 +78,32 @@ export PATH="${RBENV_ROOT}/bin:${PATH}"
|
|
75
78
|
eval "$(rbenv init -)"
|
76
79
|
```
|
77
80
|
|
81
|
+
## Installation for a user
|
82
|
+
|
83
|
+
Install rbenv to `~#{node[:rbenv][:user]}/.rbenv`
|
84
|
+
|
85
|
+
### Recipe
|
86
|
+
|
87
|
+
```ruby
|
88
|
+
# your recipe
|
89
|
+
include_recipe "rbenv::user"
|
90
|
+
```
|
91
|
+
|
92
|
+
### Node
|
93
|
+
|
94
|
+
Use this with `itamae -y node.yml`
|
95
|
+
|
96
|
+
```yaml
|
97
|
+
# node.yml
|
98
|
+
rbenv:
|
99
|
+
user: k0kubun
|
100
|
+
global:
|
101
|
+
2.2.0
|
102
|
+
versions:
|
103
|
+
- 2.2.0
|
104
|
+
- 2.1.5
|
105
|
+
```
|
106
|
+
|
78
107
|
## License
|
79
108
|
|
80
109
|
MIT License
|
@@ -1,17 +1 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
def rbenv_root
|
4
|
-
if node[:rbenv] && node[:rbenv][:rbenv_root]
|
5
|
-
node[:rbenv][:rbenv_root]
|
6
|
-
else
|
7
|
-
DEFAULT_RBENV_ROOT
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
def rbenv_init
|
12
|
-
<<-EOS
|
13
|
-
export RBENV_ROOT=#{rbenv_root}
|
14
|
-
export PATH="#{rbenv_root}/bin:${PATH}"
|
15
|
-
eval "$(rbenv init --no-rehash -)"
|
16
|
-
EOS
|
17
|
-
end
|
1
|
+
require "itamae/plugin/recipe/rbenv/version"
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# cf) https://github.com/rbenv/ruby-build/wiki#suggested-build-environment
|
2
|
+
case node[:platform]
|
3
|
+
when 'debian', 'ubuntu'
|
4
|
+
package 'autoconf'
|
5
|
+
package 'bison'
|
6
|
+
package 'build-essential'
|
7
|
+
package 'libffi-dev'
|
8
|
+
package 'libgdbm-dev'
|
9
|
+
package 'libgdbm3'
|
10
|
+
package 'libncurses5-dev'
|
11
|
+
package 'libreadline6-dev'
|
12
|
+
package 'libssl-dev'
|
13
|
+
package 'libyaml-dev'
|
14
|
+
package 'zlib1g-dev'
|
15
|
+
when 'redhat', 'fedora'
|
16
|
+
# redhat is including CentOS
|
17
|
+
package 'gcc'
|
18
|
+
package 'gdbm-devel'
|
19
|
+
package 'libffi-devel'
|
20
|
+
package 'libyaml-devel'
|
21
|
+
package 'ncurses-devel'
|
22
|
+
package 'openssl-devel'
|
23
|
+
package 'readline-devel'
|
24
|
+
package 'zlib-devel'
|
25
|
+
when 'osx', 'darwin'
|
26
|
+
package 'libffi'
|
27
|
+
package 'libyaml'
|
28
|
+
package 'openssl'
|
29
|
+
else
|
30
|
+
# for backward compatibility (<= v0.2.1)
|
31
|
+
package 'libffi-devel'
|
32
|
+
package 'openssl-devel'
|
33
|
+
package 'readline-devel'
|
34
|
+
end
|
35
|
+
|
36
|
+
package 'git'
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# This recipe requires `rbenv_root` is defined.
|
2
|
+
|
3
|
+
include_recipe 'rbenv::dependency'
|
4
|
+
|
5
|
+
scheme = node[:rbenv][:scheme]
|
6
|
+
rbenv_root = node[:rbenv][:rbenv_root]
|
7
|
+
|
8
|
+
git rbenv_root do
|
9
|
+
repository "#{scheme}://github.com/rbenv/rbenv.git"
|
10
|
+
end
|
11
|
+
|
12
|
+
directory File.join(rbenv_root, 'plugins')
|
13
|
+
|
14
|
+
define :rbenv_plugin do
|
15
|
+
name = params[:name]
|
16
|
+
|
17
|
+
if node[name] && (node[name][:install] || node[name][:revision])
|
18
|
+
git "#{rbenv_root}/plugins/#{name}" do
|
19
|
+
repository "#{scheme}://github.com/rbenv/#{name}.git"
|
20
|
+
revision node[name][:revision] if node[name][:revision]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
if node[:'rbenv-default-gems'] && node[:'rbenv-default-gems'][:'default-gems']
|
26
|
+
node[:'rbenv-default-gems'][:install] = true
|
27
|
+
file "#{rbenv_root}/default-gems" do
|
28
|
+
content node[:'rbenv-default-gems'][:'default-gems'].join("\n") + "\n"
|
29
|
+
mode '664'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
rbenv_plugin 'ruby-build'
|
34
|
+
rbenv_plugin 'rbenv-gem-rehash'
|
35
|
+
rbenv_plugin 'rbenv-default-gems'
|
36
|
+
|
37
|
+
rbenv_init = <<-EOS
|
38
|
+
export RBENV_ROOT=#{rbenv_root}
|
39
|
+
export PATH="#{rbenv_root}/bin:${PATH}"
|
40
|
+
eval "$(rbenv init --no-rehash -)"
|
41
|
+
EOS
|
42
|
+
|
43
|
+
node[:rbenv][:versions].each do |version|
|
44
|
+
execute "rbenv install #{version}" do
|
45
|
+
command "#{rbenv_init} rbenv install #{version}"
|
46
|
+
not_if "#{rbenv_init} rbenv versions | grep #{version}"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
if node[:rbenv][:global]
|
51
|
+
node[:rbenv][:global].tap do |version|
|
52
|
+
execute "rbenv global #{version}" do
|
53
|
+
command "#{rbenv_init} rbenv global #{version}"
|
54
|
+
not_if "#{rbenv_init} rbenv version | grep #{version}"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -1,89 +1,12 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
package "libgdbm3"
|
14
|
-
package "libgdbm-dev"
|
15
|
-
package "libffi-dev"
|
16
|
-
when "redhat", "fedora"
|
17
|
-
# redhat is including CentOS
|
18
|
-
package "gcc"
|
19
|
-
package "openssl-devel"
|
20
|
-
package "libyaml-devel"
|
21
|
-
package "libffi-devel"
|
22
|
-
package "readline-devel"
|
23
|
-
package "zlib-devel"
|
24
|
-
package "gdbm-devel"
|
25
|
-
package "ncurses-devel"
|
26
|
-
package "libffi-devel"
|
27
|
-
when "osx"
|
28
|
-
package "openssl"
|
29
|
-
package "libyaml"
|
30
|
-
package "libffi"
|
31
|
-
else
|
32
|
-
# for backward compatibility (<= v0.2.1)
|
33
|
-
package "libffi-devel"
|
34
|
-
package "openssl-devel"
|
35
|
-
package "readline-devel"
|
36
|
-
end
|
37
|
-
|
38
|
-
package "git"
|
39
|
-
|
40
|
-
scheme = "git"
|
41
|
-
scheme = node[:rbenv][:scheme] if node[:rbenv][:scheme]
|
42
|
-
|
43
|
-
require "itamae/plugin/recipe/rbenv"
|
44
|
-
|
45
|
-
git rbenv_root do
|
46
|
-
repository "#{scheme}://github.com/sstephenson/rbenv.git"
|
47
|
-
end
|
48
|
-
|
49
|
-
git "#{rbenv_root}/plugins/ruby-build" do
|
50
|
-
repository "#{scheme}://github.com/sstephenson/ruby-build.git"
|
51
|
-
if node[:'ruby-build'] && node[:'ruby-build'][:revision]
|
52
|
-
revision node[:'ruby-build'][:revision]
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
git "#{rbenv_root}/plugins/rbenv-gem-rehash" do
|
57
|
-
repository "#{scheme}://github.com/sstephenson/rbenv-gem-rehash.git"
|
58
|
-
if node[:'rbenv-gem-rehash'] && node[:'rbenv-gem-rehash'][:revision]
|
59
|
-
revision node[:'rbenv-gem-rehash'][:revision]
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
git "#{rbenv_root}/plugins/rbenv-default-gems" do
|
64
|
-
repository "#{scheme}://github.com/sstephenson/rbenv-default-gems.git"
|
65
|
-
if node[:'rbenv-default-gems'] && node[:'rbenv-default-gems'][:revision]
|
66
|
-
revision node[:'rbenv-default-gems'][:revision]
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
if node[:'rbenv-default-gems'] && node[:'rbenv-default-gems'][:'default-gems']
|
71
|
-
file "#{rbenv_root}/default-gems" do
|
72
|
-
content node[:'rbenv-default-gems'][:'default-gems'].join("\n") + "\n"
|
73
|
-
mode "664"
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
node[:rbenv][:versions].each do |version|
|
78
|
-
execute "rbenv install #{version}" do
|
79
|
-
command "#{rbenv_init} rbenv install #{version}"
|
80
|
-
not_if "#{rbenv_init} rbenv versions | grep #{version}"
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
node[:rbenv][:global].tap do |version|
|
85
|
-
execute "rbenv global #{version}" do
|
86
|
-
command "#{rbenv_init} rbenv global #{version}"
|
87
|
-
not_if "#{rbenv_init} rbenv version | grep #{version}"
|
88
|
-
end
|
89
|
-
end
|
1
|
+
node.reverse_merge!(
|
2
|
+
rbenv: {
|
3
|
+
rbenv_root: '/usr/local/rbenv',
|
4
|
+
scheme: 'git',
|
5
|
+
versions: [],
|
6
|
+
},
|
7
|
+
:'ruby-build' => {
|
8
|
+
install: true,
|
9
|
+
}
|
10
|
+
)
|
11
|
+
|
12
|
+
include_recipe 'rbenv::install'
|
@@ -0,0 +1,22 @@
|
|
1
|
+
node.reverse_merge!(
|
2
|
+
rbenv: {
|
3
|
+
scheme: 'git',
|
4
|
+
user: ENV['USER'],
|
5
|
+
versions: [],
|
6
|
+
},
|
7
|
+
:'ruby-build' => {
|
8
|
+
install: true,
|
9
|
+
}
|
10
|
+
)
|
11
|
+
|
12
|
+
unless node[:rbenv][:rbenv_root]
|
13
|
+
case node[:platform]
|
14
|
+
when 'osx', 'darwin'
|
15
|
+
user_dir = '/Users'
|
16
|
+
else
|
17
|
+
user_dir = '/home'
|
18
|
+
end
|
19
|
+
node[:rbenv][:rbenv_root] = File.join(user_dir, node[:rbenv][:user], '.rbenv')
|
20
|
+
end
|
21
|
+
|
22
|
+
include_recipe 'rbenv::install'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itamae-plugin-recipe-rbenv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takashi Kokubun
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: itamae
|
@@ -60,6 +60,7 @@ extensions: []
|
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
62
|
- ".gitignore"
|
63
|
+
- CHANGELOG.md
|
63
64
|
- Gemfile
|
64
65
|
- LICENSE.txt
|
65
66
|
- README.md
|
@@ -67,7 +68,10 @@ files:
|
|
67
68
|
- itamae-plugin-recipe-rbenv.gemspec
|
68
69
|
- lib/itamae-plugin-recipe-rbenv.rb
|
69
70
|
- lib/itamae/plugin/recipe/rbenv.rb
|
71
|
+
- lib/itamae/plugin/recipe/rbenv/dependency.rb
|
72
|
+
- lib/itamae/plugin/recipe/rbenv/install.rb
|
70
73
|
- lib/itamae/plugin/recipe/rbenv/system.rb
|
74
|
+
- lib/itamae/plugin/recipe/rbenv/user.rb
|
71
75
|
- lib/itamae/plugin/recipe/rbenv/version.rb
|
72
76
|
homepage: https://github.com/k0kubun/itamae-plugin-recipe-rbenv
|
73
77
|
licenses:
|
@@ -89,9 +93,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
89
93
|
version: '0'
|
90
94
|
requirements: []
|
91
95
|
rubyforge_project:
|
92
|
-
rubygems_version: 2.4.5
|
96
|
+
rubygems_version: 2.4.5.1
|
93
97
|
signing_key:
|
94
98
|
specification_version: 4
|
95
99
|
summary: Itamae plugin to install ruby with rbenv
|
96
100
|
test_files: []
|
97
|
-
has_rdoc:
|