itamae-plugin-recipe-rbenv 0.3.4 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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: