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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 300a2187a4816d13d54082bc055e0b72512d3cfe
4
- data.tar.gz: 74f410e7adcf32d54c7d124400662027a32f24ab
3
+ metadata.gz: 05a841124194fd50571a8c312b0de8571fe2bd78
4
+ data.tar.gz: f123e55f8fc79f622e9a960068d2357aa46b3a8e
5
5
  SHA512:
6
- metadata.gz: f86d9ef730911056c433a389a16c16b5a863605a0d89d04b79d11182ffd25f53fa0e265e3ca97e843db7e8f49bd42a59d56d7fca072678ad470ec1fbe1bfff42
7
- data.tar.gz: 94dfde9658c27a3823916455a52bd4dce05b60ab420bd502e582e8aa599f5227e2421afb3f631da8bbe4be487696396d51a65bd54a71a04e3d348fd9a7946a1b
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
- ## Usage
21
+ # Usage
22
+ ## System wide installation
22
23
 
23
- System wide rbenv installation
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 sstephenson/ruby-build, optional
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 sstephenson/rbenv-default-gems, optional
61
+ # revision of rbenv/rbenv-default-gems, optional
61
62
  revision: ead67889c91c53ad967f85f5a89d986fdb98f6fb
62
63
 
63
- # revision of sstephenson/rbenv-gem-rehash, optional
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
- DEFAULT_RBENV_ROOT = "/usr/local/rbenv"
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
- # cf) https://github.com/sstephenson/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 "libssl-dev"
8
- package "libyaml-dev"
9
- package "libreadline6-dev"
10
- package "zlib1g-dev"
11
- package "libncurses5-dev"
12
- package "libffi-dev"
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'
@@ -2,7 +2,7 @@ module Itamae
2
2
  module Plugin
3
3
  module Recipe
4
4
  module Rbenv
5
- VERSION = "0.3.4"
5
+ VERSION = "0.4.0"
6
6
  end
7
7
  end
8
8
  end
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.3.4
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-08-20 00:00:00.000000000 Z
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: