from-scratch 0.1.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.
Files changed (174) hide show
  1. checksums.yaml +7 -0
  2. data/.chef/knife.rb +6 -0
  3. data/.gitignore +9 -0
  4. data/.rspec +2 -0
  5. data/.travis.yml +4 -0
  6. data/Berksfile +17 -0
  7. data/Berksfile.lock +19 -0
  8. data/Gemfile +4 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +58 -0
  11. data/Rakefile +6 -0
  12. data/Thorfile +5 -0
  13. data/bin/scratchify +6 -0
  14. data/chefignore +101 -0
  15. data/cookbooks/chef_gem/CHANGELOG.md +24 -0
  16. data/cookbooks/chef_gem/README.md +38 -0
  17. data/cookbooks/chef_gem/libraries/chef_gem.rb +72 -0
  18. data/cookbooks/chef_gem/metadata.json +29 -0
  19. data/cookbooks/chef_gem/recipes/default.rb +0 -0
  20. data/cookbooks/java/.gitignore +21 -0
  21. data/cookbooks/java/.kitchen.docker.yml +15 -0
  22. data/cookbooks/java/.kitchen.yml +126 -0
  23. data/cookbooks/java/.travis.yml +6 -0
  24. data/cookbooks/java/Berksfile +10 -0
  25. data/cookbooks/java/CHANGELOG.md +398 -0
  26. data/cookbooks/java/CONTRIBUTING.md +12 -0
  27. data/cookbooks/java/Gemfile +15 -0
  28. data/cookbooks/java/ISSUES.md +43 -0
  29. data/cookbooks/java/LICENSE +201 -0
  30. data/cookbooks/java/README.md +402 -0
  31. data/cookbooks/java/Rakefile +60 -0
  32. data/cookbooks/java/TESTING.md +41 -0
  33. data/cookbooks/java/attributes/default.rb +146 -0
  34. data/cookbooks/java/libraries/helpers.rb +120 -0
  35. data/cookbooks/java/libraries/matchers.rb +5 -0
  36. data/cookbooks/java/metadata.json +69 -0
  37. data/cookbooks/java/providers/alternatives.rb +94 -0
  38. data/cookbooks/java/providers/ark.rb +255 -0
  39. data/cookbooks/java/recipes/default.rb +22 -0
  40. data/cookbooks/java/recipes/default_java_symlink.rb +19 -0
  41. data/cookbooks/java/recipes/homebrew.rb +3 -0
  42. data/cookbooks/java/recipes/ibm.rb +76 -0
  43. data/cookbooks/java/recipes/ibm_tar.rb +70 -0
  44. data/cookbooks/java/recipes/openjdk.rb +74 -0
  45. data/cookbooks/java/recipes/oracle.rb +74 -0
  46. data/cookbooks/java/recipes/oracle_i386.rb +73 -0
  47. data/cookbooks/java/recipes/oracle_jce.rb +75 -0
  48. data/cookbooks/java/recipes/oracle_rpm.rb +60 -0
  49. data/cookbooks/java/recipes/purge_packages.rb +20 -0
  50. data/cookbooks/java/recipes/set_attributes_from_version.rb +55 -0
  51. data/cookbooks/java/recipes/set_java_home.rb +44 -0
  52. data/cookbooks/java/recipes/windows.rb +82 -0
  53. data/cookbooks/java/resources/alternatives.rb +30 -0
  54. data/cookbooks/java/resources/ark.rb +58 -0
  55. data/cookbooks/java/templates/default/ibm_jdk.installer.properties.erb +3 -0
  56. data/cookbooks/java/templates/default/oracle.jinfo.erb +6 -0
  57. data/cookbooks/rvm/.foodcritic +1 -0
  58. data/cookbooks/rvm/.gitignore +7 -0
  59. data/cookbooks/rvm/.kitchen.yml +66 -0
  60. data/cookbooks/rvm/.travis.yml +9 -0
  61. data/cookbooks/rvm/Berksfile +10 -0
  62. data/cookbooks/rvm/CHANGELOG.md +253 -0
  63. data/cookbooks/rvm/CODE_OF_CONDUCT.md +12 -0
  64. data/cookbooks/rvm/CONTRIBUTING.md +26 -0
  65. data/cookbooks/rvm/Gemfile +20 -0
  66. data/cookbooks/rvm/Guardfile +12 -0
  67. data/cookbooks/rvm/README.md +1459 -0
  68. data/cookbooks/rvm/Rakefile +18 -0
  69. data/cookbooks/rvm/attributes/.gitkeep +0 -0
  70. data/cookbooks/rvm/attributes/default.rb +68 -0
  71. data/cookbooks/rvm/attributes/gem_package.rb +23 -0
  72. data/cookbooks/rvm/attributes/vagrant.rb +23 -0
  73. data/cookbooks/rvm/libraries/chef_rvm_environment_helpers.rb +55 -0
  74. data/cookbooks/rvm/libraries/chef_rvm_gemset_helpers.rb +67 -0
  75. data/cookbooks/rvm/libraries/chef_rvm_recipe_helpers.rb +80 -0
  76. data/cookbooks/rvm/libraries/chef_rvm_ruby_helpers.rb +95 -0
  77. data/cookbooks/rvm/libraries/chef_rvm_set_helpers.rb +16 -0
  78. data/cookbooks/rvm/libraries/chef_rvm_shell_helpers.rb +57 -0
  79. data/cookbooks/rvm/libraries/chef_rvm_string_cache.rb +104 -0
  80. data/cookbooks/rvm/libraries/chef_rvm_string_helpers.rb +61 -0
  81. data/cookbooks/rvm/libraries/chef_rvm_version_helpers.rb +45 -0
  82. data/cookbooks/rvm/libraries/gem_package_monkeypatch.rb +34 -0
  83. data/cookbooks/rvm/libraries/provider_rvm_installation.rb +185 -0
  84. data/cookbooks/rvm/libraries/resource_rvm_installation.rb +103 -0
  85. data/cookbooks/rvm/libraries/rvm_chef_user_environment.rb +55 -0
  86. data/cookbooks/rvm/libraries/rvm_rubygems_package.rb +189 -0
  87. data/cookbooks/rvm/libraries/rvm_shell_chef_wrapper.rb +99 -0
  88. data/cookbooks/rvm/metadata.json +51 -0
  89. data/cookbooks/rvm/providers/default_ruby.rb +63 -0
  90. data/cookbooks/rvm/providers/environment.rb +78 -0
  91. data/cookbooks/rvm/providers/gemset.rb +118 -0
  92. data/cookbooks/rvm/providers/global_gem.rb +97 -0
  93. data/cookbooks/rvm/providers/ruby.rb +178 -0
  94. data/cookbooks/rvm/providers/shell.rb +121 -0
  95. data/cookbooks/rvm/providers/wrapper.rb +73 -0
  96. data/cookbooks/rvm/recipes/.gitkeep +0 -0
  97. data/cookbooks/rvm/recipes/default.rb +40 -0
  98. data/cookbooks/rvm/recipes/gem_package.rb +33 -0
  99. data/cookbooks/rvm/recipes/system.rb +37 -0
  100. data/cookbooks/rvm/recipes/system_install.rb +42 -0
  101. data/cookbooks/rvm/recipes/user.rb +43 -0
  102. data/cookbooks/rvm/recipes/user_install.rb +58 -0
  103. data/cookbooks/rvm/recipes/vagrant.rb +37 -0
  104. data/cookbooks/rvm/resources/default_ruby.rb +31 -0
  105. data/cookbooks/rvm/resources/environment.rb +31 -0
  106. data/cookbooks/rvm/resources/gem.rb +37 -0
  107. data/cookbooks/rvm/resources/gemset.rb +32 -0
  108. data/cookbooks/rvm/resources/global_gem.rb +34 -0
  109. data/cookbooks/rvm/resources/ruby.rb +32 -0
  110. data/cookbooks/rvm/resources/shell.rb +41 -0
  111. data/cookbooks/rvm/resources/wrapper.rb +34 -0
  112. data/cookbooks/rvm/templates/default/rvmrc.erb +14 -0
  113. data/cookbooks/rvm/templates/default/vagrant-chef-client-wrapper.erb +23 -0
  114. data/cookbooks/rvm/templates/default/vagrant-chef-solo-wrapper.erb +23 -0
  115. data/cookbooks/rvm/test/integration/data_bags/users/virgil1.json +4 -0
  116. data/cookbooks/rvm/test/integration/data_bags/users/virgil2.json +4 -0
  117. data/cookbooks/rvm/test/integration/data_bags/users/wigglebottom.json +3 -0
  118. data/cookbooks/rvm/test/integration/installs/bats/version_pinning.bats +13 -0
  119. data/cookbooks/rvm/test/integration/rubies/bats/_common.bash +16 -0
  120. data/cookbooks/rvm/test/integration/rubies/bats/verify_1.9.3.bats +9 -0
  121. data/cookbooks/rvm/test/integration/rubies/bats/verify_jruby.bats +12 -0
  122. data/cookbooks/rvm/test/integration/rubies/bats/verify_patch_support.bats +19 -0
  123. data/cookbooks/rvm/test/integration/rubies/bats/verify_ree.bats +9 -0
  124. data/cookbooks/rvm/test/integration/rubies/bats/verify_rubygems_version_support.bats +15 -0
  125. data/cookbooks/rvm/test/integration/stock_system_and_user/bats/system.bats +45 -0
  126. data/cookbooks/rvm/test/unit/libraries/provider_rvm_installation_spec.rb +220 -0
  127. data/cookbooks/rvm/test/unit/libraries/resource_rvm_installation_spec.rb +139 -0
  128. data/cookbooks/rvm/test/unit/spec_helper.rb +23 -0
  129. data/cookbooks/scratchify/.chef/knife.rb +9 -0
  130. data/cookbooks/scratchify/Berksfile +16 -0
  131. data/cookbooks/scratchify/Berksfile.lock +19 -0
  132. data/cookbooks/scratchify/LICENSE.txt +21 -0
  133. data/cookbooks/scratchify/README.md +41 -0
  134. data/cookbooks/scratchify/Thorfile +5 -0
  135. data/cookbooks/scratchify/bin/console +14 -0
  136. data/cookbooks/scratchify/bin/scratchify +6 -0
  137. data/cookbooks/scratchify/bin/setup +7 -0
  138. data/cookbooks/scratchify/chefignore +101 -0
  139. data/cookbooks/scratchify/data_bags/users/deploy.json +6 -0
  140. data/cookbooks/scratchify/environments/.gitkeep +0 -0
  141. data/cookbooks/scratchify/from-scratch.gemspec +36 -0
  142. data/cookbooks/scratchify/lib/from/scratch.rb +31 -0
  143. data/cookbooks/scratchify/lib/from/scratch/interviewer.rb +35 -0
  144. data/cookbooks/scratchify/lib/from/scratch/version.rb +3 -0
  145. data/cookbooks/scratchify/metadata.json +36 -0
  146. data/cookbooks/scratchify/nodes/normfood.ru.json +75 -0
  147. data/cookbooks/scratchify/recipes/default.rb +0 -0
  148. data/cookbooks/scratchify/roles/.gitkeep +0 -0
  149. data/cookbooks/scratchify/spec/from/scratch_spec.rb +11 -0
  150. data/cookbooks/scratchify/spec/spec_helper.rb +2 -0
  151. data/cookbooks/user/.gitignore +5 -0
  152. data/cookbooks/user/.kitchen.yml +46 -0
  153. data/cookbooks/user/.travis.yml +4 -0
  154. data/cookbooks/user/Berksfile +7 -0
  155. data/cookbooks/user/CHANGELOG.md +101 -0
  156. data/cookbooks/user/Gemfile +14 -0
  157. data/cookbooks/user/README.md +447 -0
  158. data/cookbooks/user/Rakefile +21 -0
  159. data/cookbooks/user/attributes/default.rb +50 -0
  160. data/cookbooks/user/libraries/matchers.rb +26 -0
  161. data/cookbooks/user/metadata.json +46 -0
  162. data/cookbooks/user/providers/account.rb +212 -0
  163. data/cookbooks/user/recipes/data_bag.rb +59 -0
  164. data/cookbooks/user/recipes/default.rb +18 -0
  165. data/cookbooks/user/resources/account.rb +41 -0
  166. data/cookbooks/user/templates/default/authorized_keys.erb +7 -0
  167. data/from-scratch.gemspec +33 -0
  168. data/lib/from-scratch.rb +25 -0
  169. data/lib/from-scratch/version.rb +3 -0
  170. data/metadata.rb +15 -0
  171. data/recipes/default.rb +0 -0
  172. data/templates/node.json.erb +31 -0
  173. data/templates/user.json.erb +6 -0
  174. metadata +330 -0
@@ -0,0 +1,82 @@
1
+ #
2
+ # Author:: Kendrick Martin (<kendrick.martin@webtrends.com>)
3
+ # Cookbook Name:: java
4
+ # Recipe:: windows
5
+ #
6
+ # Copyright 2008-2012 Webtrends, Inc.
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+
21
+ require 'uri'
22
+
23
+ Chef::Log.fatal("No download url set for java installer.") unless node['java'] && node['java']['windows'] && node['java']['windows']['url']
24
+
25
+ pkg_checksum = node['java']['windows']['checksum']
26
+ aws_access_key_id = node['java']['windows']['aws_access_key_id']
27
+ aws_secret_access_key = node['java']['windows']['aws_secret_access_key']
28
+
29
+ uri = ::URI.parse(node['java']['windows']['url'])
30
+ cache_file_path = File.join(Chef::Config[:file_cache_path], File.basename(::URI.unescape(uri.path)))
31
+
32
+ if aws_access_key_id && aws_secret_access_key
33
+ include_recipe 'aws::default' # install right_aws gem for aws_s3_file
34
+
35
+ aws_s3_file cache_file_path do
36
+ aws_access_key_id aws_access_key_id
37
+ aws_secret_access_key aws_secret_access_key
38
+ checksum pkg_checksum if pkg_checksum
39
+ bucket node['java']['windows']['bucket']
40
+ remote_path node['java']['windows']['remote_path']
41
+ backup false
42
+ action :create
43
+ end
44
+ else
45
+ remote_file cache_file_path do
46
+ checksum pkg_checksum if pkg_checksum
47
+ source node['java']['windows']['url']
48
+ backup false
49
+ action :create
50
+ end
51
+ end
52
+
53
+ if node['java'].attribute?("java_home")
54
+ java_home_win = win_friendly_path(node['java']['java_home'])
55
+ if node['java']['jdk_version'] == '8'
56
+ # Seems that the jdk 8 EXE installer does not need anymore the /v /qn flags
57
+ additional_options = "INSTALLDIR=\"#{java_home_win}\""
58
+ else
59
+ # The jdk 7 EXE installer expects escaped quotes, so we need to double escape
60
+ # them here. The final string looks like :
61
+ # /v"/qn INSTALLDIR=\"C:\Program Files\Java\""
62
+ additional_options = "/v\"/qn INSTALLDIR=\\\"#{java_home_win}\\\"\""
63
+ end
64
+
65
+ env "JAVA_HOME" do
66
+ value java_home_win
67
+ end
68
+
69
+ # update path
70
+ windows_path "#{java_home_win}\\bin" do
71
+ action :add
72
+ end
73
+ end
74
+
75
+
76
+ windows_package node['java']['windows']['package_name'] do
77
+ source cache_file_path
78
+ checksum node['java']['windows']['checksum']
79
+ action :install
80
+ installer_type :custom
81
+ options "/s #{additional_options}"
82
+ end
@@ -0,0 +1,30 @@
1
+ #
2
+ # Cookbook Name:: java
3
+ # Provider:: alternatives
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ actions :set, :unset
18
+
19
+ attribute :java_location, :kind_of => String, :default => nil
20
+ attribute :bin_cmds, :kind_of => Array, :default => nil
21
+ attribute :default, :equal_to => [true, false], :default => true
22
+ attribute :priority, :kind_of => Integer, :default => 1061
23
+ attribute :reset_alternatives, :equal_to => [true, false], :default => true
24
+
25
+ # we have to set default for the supports attribute
26
+ # in initializer since it is a 'reserved' attribute name
27
+ def initialize(*args)
28
+ super
29
+ @action = :set
30
+ end
@@ -0,0 +1,58 @@
1
+ #
2
+ # Author:: Bryan W. Berry (<bryan.berry@gmail.com>)
3
+ # Cookbook Name:: java
4
+ # Resource:: ark
5
+ #
6
+ # Copyright 2011, Bryan w. Berry
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+
20
+ actions :install, :remove
21
+
22
+ state_attrs :alternatives_priority,
23
+ :app_home,
24
+ :app_home_mode,
25
+ :bin_cmds,
26
+ :checksum,
27
+ :md5,
28
+ :default,
29
+ :mirrorlist,
30
+ :owner,
31
+ :group,
32
+ :url
33
+
34
+ attribute :url, :regex => /^(file|http|https?):\/\/.*(gz|tar.gz|tgz|bin|zip)$/, :default => nil
35
+ attribute :mirrorlist, :kind_of => Array, :default => nil
36
+ attribute :checksum, :regex => /^[0-9a-f]{32}$|^[a-zA-Z0-9]{40,64}$/, :default => nil
37
+ attribute :md5, :regex => /^[0-9a-f]{32}$|^[a-zA-Z0-9]{40,64}$/, :default => nil
38
+ attribute :app_home, :kind_of => String, :default => nil
39
+ attribute :app_home_mode, :kind_of => Integer, :default => 0755
40
+ attribute :bin_cmds, :kind_of => Array, :default => []
41
+ attribute :owner, :default => 'root'
42
+ # Will default to :owner if :group is not passed
43
+ attribute :group, :default => nil
44
+ attribute :default, :equal_to => [true, false], :default => true
45
+ attribute :alternatives_priority, :kind_of => Integer, :default => 1
46
+ attribute :retries, :kind_of => Integer, :default => 0
47
+ attribute :retry_delay, :kind_of => Integer, :default => 2
48
+ attribute :connect_timeout, :kind_of => Integer, :default => 30 # => 30 seconds
49
+ attribute :reset_alternatives, :equal_to => [true, false], :default => true
50
+ attribute :use_alt_suffix, :equal_to => [true, false], :default => true
51
+
52
+ # we have to set default for the supports attribute
53
+ # in initializer since it is a 'reserved' attribute name
54
+ def initialize(*args)
55
+ super
56
+ @action = :install
57
+ @supports = {:report => true, :exception => true}
58
+ end
@@ -0,0 +1,3 @@
1
+ INSTALLER_UI=silent
2
+ USER_INSTALL_DIR=<%= node['java']['java_home'] %>
3
+ -fileOverwrite_<%= node['java']['java_home'] %>_uninstall/uninstall.lax=Yes
@@ -0,0 +1,6 @@
1
+ name=<%= @name %>
2
+ priority=<%= @priority %>
3
+ section=main
4
+
5
+ <% @bin_cmds.each do |cmd| -%>jdk <%= cmd %> <%= @app_dir %>/bin/<%= cmd %>
6
+ <% end -%>
@@ -0,0 +1 @@
1
+ any
@@ -0,0 +1,7 @@
1
+ Gemfile.lock
2
+ Berksfile.lock
3
+ .vagrant
4
+ .kitchen/
5
+ .kitchen.local.yml
6
+ .bundle/
7
+ tmp/
@@ -0,0 +1,66 @@
1
+ ---
2
+ driver_plugin: vagrant
3
+ driver_config:
4
+ require_chef_omnibus: true
5
+
6
+ platforms:
7
+ - name: ubuntu-14.04
8
+ run_list:
9
+ - recipe[apt]
10
+ - name: ubuntu-12.04
11
+ run_list:
12
+ - recipe[apt]
13
+ - name: ubuntu-10.04
14
+ run_list:
15
+ - recipe[apt]
16
+ - name: debian-7.6
17
+ - name: centos-6.4
18
+
19
+ suites:
20
+ - name: stock_system_and_user
21
+ run_list:
22
+ - recipe[user::data_bag]
23
+ - recipe[rvm::system]
24
+ - recipe[rvm::user]
25
+ attributes:
26
+ users:
27
+ - wigglebottom
28
+ rvm:
29
+ user_installs:
30
+ - user: wigglebottom
31
+ default_ruby: 1.9.3-p484
32
+ - name: rubies
33
+ run_list:
34
+ - recipe[java]
35
+ - recipe[rvm::system]
36
+ attributes:
37
+ rvm:
38
+ default_ruby: system
39
+ rubies:
40
+ - 1.9.3
41
+ - version: 1.9.3-p327
42
+ patch: railsexpress
43
+ - version: 1.8.7
44
+ rubygems_version: 1.6.0
45
+ - jruby
46
+ - ree
47
+ - name: rbx
48
+ run_list:
49
+ - recipe[rvm::system]
50
+ attributes:
51
+ rvm:
52
+ default_ruby: rbx
53
+ - name: installs
54
+ run_list:
55
+ - recipe[user::data_bag]
56
+ - recipe[rvm::user_install]
57
+ attributes:
58
+ users:
59
+ - virgil1
60
+ - virgil2
61
+ rvm:
62
+ installs:
63
+ virgil1:
64
+ installer_flags: --version 1.19.6
65
+ virgil2:
66
+ installer_flags: --version 1.21.20
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ - 2.1.2
5
+ - 2.2.0
6
+ bundler_args: --without integration development
7
+ script:
8
+ - bundle exec rake unit
9
+ - bundle exec rake foodcritic
@@ -0,0 +1,10 @@
1
+ source "https://supermarket.getchef.com"
2
+
3
+ metadata
4
+
5
+ group :integration do
6
+ cookbook 'apt'
7
+ cookbook 'yum'
8
+ cookbook 'java'
9
+ cookbook 'user'
10
+ end
@@ -0,0 +1,253 @@
1
+ ## 0.10.1 (Unreleased)
2
+
3
+ ### Breaking Changes
4
+
5
+ * Re-factored the libraries and shell wrappers to more of an [LWRP][] ([@fnichol][])
6
+
7
+ ### Improvements
8
+
9
+ * Updated default ruby to 1.9.3-p547 ([@martinisoft][])
10
+ * Added a repository Code of Conduct (See CODE\_OF\_CONDUCT.md) ([@martinisoft][])
11
+
12
+ ### Documentation
13
+
14
+ * Pull request [#246](https://github.com/fnichol/chef-rvm/pull/246): Updated README.md documenting use with librarian-chef ([@ncreuschling][])
15
+
16
+ ### Bug Fixes
17
+
18
+ * Pull request [#285](https://github.com/fnichol/chef-rvm/pull/285): Use GPG for rvm verification. ([@lukeasrodgers][])
19
+ * Pull request [#284](https://github.com/fnichol/chef-rvm/pull/284): Use full class name for rvm_environment resource usage inside Chef::Provider::Package:RVMRubygems class. ([@nomadium][])
20
+ * Pull request [#300](https://github.com/fnichol/chef-rvm/pull/300): Ability to configure key server and home did for rvm gpg_key ([@lesniakania][])
21
+ * Pull request [#298](https://github.com/martinisoft/chef-rvm/pull/298): Add GPG check for user installs ([@cmluciano][])
22
+ * Pull request [#325](https://github.com/martinisoft/chef-rvm/pull/325): Fix ruby block to align with new style ([@cmluciano][])
23
+
24
+ ## 0.9.2 (March 31, 2014)
25
+
26
+ ### Bug fixes
27
+
28
+ * Pull request [#137](https://github.com/fnichol/chef-rvm/pull/137): Fix patch attribute support in rvm\_ruby. ([@mariussturm][])
29
+ * Pull request [#140](https://github.com/fnichol/chef-rvm/pull/140): Update MRI package requirements for scientific-6 platforms. ([@aaronjensen][])
30
+ * Pull request [#134](https://github.com/fnichol/chef-rvm/pull/134): Fix vagrant\_ruby default location on modern vagrant baseboxes. ([@mveytsman][])
31
+ * Pull request [#129](https://github.com/fnichol/chef-rvm/pull/129): Fix broken example in README. ([@zacharydanger][])
32
+ * Pull request [#188](https://github.com/fnichol/chef-rvm/pull/188): Added missing dependencies. ([@fmfdias][])
33
+ * Pull request [#151](https://github.com/fnichol/chef-rvm/pull/151): Add Berkshelf installation instructions. ([@justincampbell][])
34
+ * Pull request [#128](https://github.com/fnichol/chef-rvm/pull/128): Allow for universal rvmrc settings to be used in the user\_install. ([@firebelly][])
35
+ * Pull request [#204](https://github.com/fnichol/chef-rvm/pull/204): Minor spelling mistake ([@dosire][])
36
+ * Pull request [#183](https://github.com/fnichol/chef-rvm/pull/183): Only log install when it actually happens ([@zsol][])
37
+
38
+ ### New features
39
+
40
+ * Pull request [#100](https://github.com/fnichol/chef-rvm/pull/100): Add rubygems\_version attribute to rvm\_ruby resource. ([@cgriego][])
41
+ * Pull request [#125](https://github.com/fnichol/chef-rvm/pull/125): Omnibus support (via chef\_gem). ([@gondoi][], [@cgriego][], [@jblatt-verticloud][], [@jschneiderhan][])
42
+ * Set name attribute in metadata.rb, which may help certain LWRP auto-naming issues when directory name does not match 'rvm' (FC045). ([@fnichol][])
43
+
44
+ ### Improvements
45
+
46
+ * Refactor foodcritic setup. ([@fnichol][])
47
+ * Now suggests the [homebrew](http://community.opscode.com/cookbooks/homebrew) cookbook ([@martinisoft][])
48
+
49
+ ## 0.9.0 (May 15, 2012)
50
+
51
+ ### RVM API tracking updates
52
+
53
+ * Drop rake 0.9.2 from default global gems to match upstream default. ([@fnichol][])
54
+ * Use RVM stable (stable/head) by default. ([@fnichol][])
55
+ * Pull request [#84](https://github.com/fnichol/chef-rvm/pull/84): Add stable support to installer. ([@xdissent][])
56
+ * Pull request [#102](https://github.com/fnichol/chef-rvm/pull/102): Switch URLs to rvm.io and add "rvm get stable". ([@mpapis][])
57
+
58
+ ### Bug fixes
59
+
60
+ * Pull request [#64](https://github.com/fnichol/chef-rvm/pull/64): Fix check for rvm in user install. ([@dokipen][])
61
+ * Issue [#61](https://github.com/fnichol/chef-rvm/issues/61): Include Chef::RVM::StringHelpers to provide select_ruby function. ([@jheth][])
62
+ * Pull request [#94](https://github.com/fnichol/chef-rvm/pull/94): Prevent rvm from reinstalling each chef run. ([@xdissent][])
63
+ * Pull request [#66](https://github.com/fnichol/chef-rvm/pull/66): Fixing NoMethodError when using system wide rvm and the gem_package resource. ([@kristopher][])
64
+ * Pull request [#95](https://github.com/fnichol/chef-rvm/pull/95): Fix missing `patch` resource attributes. ([@xdissent][])
65
+ * Pull request [#96](https://github.com/fnichol/chef-rvm/pull/96): Fix wrapper paths, now works for both system and user installs. ([@xdissent][])
66
+ * LWRPs now notify when updated (FC017). ([@fnichol][])
67
+ * Node attribute access style (FC019). ([@fnichol][])
68
+ * FC023: Prefer conditional attributes. ([@fnichol][])
69
+
70
+ ### New features
71
+
72
+ * Update default Ruby to ruby-1.9.3-p194 (it's time). ([@fnichol][])
73
+ * Pull request [#86](https://github.com/fnichol/chef-rvm/pull/76): Add patch attribute to rvm_ruby. ([@smdern][])
74
+ * Pull request [#76](https://github.com/fnichol/chef-rvm/pull/76): Add wrapper for chef-client. ([@bryanstearns][])
75
+
76
+ ### Improvements
77
+
78
+ * Add TravisCI support for Foodcritic. ([@fnichol][])
79
+ * Large formatting updates to README. ([@fnichol][])
80
+ * Add gh-pages branch for sectioned README at https://fnichol.github.com/chef-rvm. ([@fnichol][])
81
+ * Issue [#98](https://github.com/fnichol/chef-rvm/issues/98): Support installs of x.y.z versions & more permissive upgrade options. ([@fnichol][])
82
+ * Now rvm\_global\_gem respects version attr in global.gems file. ([@fnichol][])
83
+ * Pull request [#88](https://github.com/fnichol/chef-rvm/pull/88): Mac OS X Server support. ([@rhenning][])
84
+ * Pull request [#90](https://github.com/fnichol/chef-rvm/pull/90): Scientific Linux support. ([@TrevorBramble][])
85
+
86
+
87
+ ## 0.8.6 (November 28, 2011)
88
+
89
+ ### RVM API tracking updates
90
+
91
+ * Issue [#56](https://github.com/fnichol/chef-rvm/issues/56): Ensure that RVM version strings can be converted to RubyGems format. ([@fnichol][])
92
+ * Issue [#53](https://github.com/fnichol/chef-rvm/issues/53): Update rvm/installer\_url default to latest URL. ([@fnichol][])
93
+
94
+ ### Bug fixes
95
+
96
+ * Issue [#54](https://github.com/fnichol/chef-rvm/issues/54), Pull request [#55](https://github.com/fnichol/chef-rvm/pull/55): Fix if statement typo in `RVM::RubyGems::Package`. ([@bradphelan][])
97
+ * Pull request [#57](https://github.com/fnichol/chef-rvm/pull/57): Fix typo in `RVM::RubyGems::Package`. ([@bradphelan][])
98
+
99
+ ### Improvements
100
+
101
+ * Add note to README warning that chef 0.8.x will not work. ([@fnichol][])
102
+ * Issue [#48](https://github.com/fnichol/chef-rvm/issues/48): Add example of local gem source installation in README. ([@fnichol][])
103
+
104
+
105
+ ## 0.8.4 (October 16, 2011)
106
+
107
+ ### RVM API tracking updates
108
+
109
+ * Issue [#43](https://github.com/fnichol/chef-rvm/issues/43), Pull request [#46](https://github.com/fnichol/chef-rvm/pull/46): Make explicit use of `exec` for RVM versions older than 1.8.6 and `do` for newer versions. ([@ryansch][], [@fnichol][])
110
+
111
+ ### Bug fixes
112
+
113
+ * Pull request [#39](https://github.com/fnichol/chef-rvm/pull/39): Fix rvm_ruby provider on Ubuntu/Debian when installing JRuby. ([@exempla][])
114
+ * Issues [#38](https://github.com/fnichol/chef-rvm/issues/38), [#42](https://github.com/fnichol/chef-rvm/issues/42): Update user_installs attribute to be an array of hashes in README. ([@fnichol][])
115
+
116
+ ### New features
117
+
118
+ * Pull request [#47](https://github.com/fnichol/chef-rvm/pull/47): Handle installing a gem from a local file. ([@ryansch][])
119
+
120
+ ### Improvements
121
+
122
+ * Pull request [#44](https://github.com/fnichol/chef-rvm/pull/44): Add Amazon's Linux AMI support. ([@adrianpike][])
123
+
124
+
125
+ ## 0.8.2 (August 24, 2011)
126
+
127
+ ### Bug fixes
128
+
129
+ * Ensure Ruby/gemset is installed in rvm_shell provider. ([@fnichol][])
130
+ * Issue [#35](https://github.com/fnichol/chef-rvm/issues/35): Detect if user has RVM installed in rvm_shell provider. ([@fnichol][])
131
+
132
+ ### Improvements
133
+
134
+ * Array-ize node['rvm']['user_installs']. ([@fnichol][])
135
+
136
+
137
+ ## 0.8.0 (August 22, 2011)
138
+
139
+ ### Bug fixes
140
+
141
+ * Pull request [#22](https://github.com/fnichol/chef-rvm/pull/22): Expand list of sane rubies to include `"ree"` and `"kiji"`. ([@juzzin][])
142
+ * Pull request [#26](https://github.com/fnichol/chef-rvm/pull/26): RVM is installed in compilation phase when gem_package recipe is included. ([@temujin9][], [@fnichol][])
143
+ * Update rvm/vagrant/system_chef_solo default attribute value to match newest Vagrant lucid32 basebox. ([@fnichol][])
144
+ * Pull request [#27](https://github.com/fnichol/chef-rvm/pull/27): Explicitly handle the unmanaged 'system' ruby. ([@temujin9][]).
145
+ * Pull request [#28](https://github.com/fnichol/chef-rvm/pull/28): Fix bug when no RVM rubies had yet been installed. ([@relistan][]).
146
+ * Pull request [#30](https://github.com/fnichol/chef-rvm/pull/30): Implement 'group_users' support. ([@phlipper][]).
147
+ * Update ruby compilation dependencies for debian/ubuntu. ([@fnichol][])
148
+
149
+ ### New features
150
+
151
+ * Issue [#4](https://github.com/fnichol/chef-rvm/issues/4): Per-user RVM installs with support in all LWRPs. ([@fnichol][])
152
+ * Refactor system and user installs into: system_install, system, user_install, user ([reference](https://github.com/fnichol/chef-rvm/commit/69027cafbe8e25251a797f1dcf11e5bc4c96275b)). ([@fnichol][])
153
+ * Support Mac OS X platform for system-wide and per-user installs. ([@fnichol][])
154
+ * Issue [#23](https://github.com/fnichol/chef-rvm/issues/24): Let gem_package resource target multiple RVM rubies. ([@fnichol][])
155
+ * Pull request [#26](https://github.com/fnichol/chef-rvm/pull/26): Add new attribute `group_id`. ([@temujin9][])
156
+ * General refactoring and re-modularizing. ([@fnichol][])
157
+
158
+ ### Improvements
159
+
160
+ * Pull request [#26](https://github.com/fnichol/chef-rvm/pull/26): RVM unix group is created in compilation phase if GID is provided. ([@temujin9][])
161
+ * Revamp CHANGELOG in the style of [guard](https://github.com/guard/guard). ([@fnichol][])
162
+ * Pull request [#27](https://github.com/fnichol/chef-rvm/pull/27): Improve gem_package logging message to include full list of selected rubies. ([@temujin9][])
163
+ * RVM gem installed using opscode cookbook conventions (via gem_package). ([@fnichol][])
164
+ * Add RVM::Shell::ChefWrapper based on chef's popen4 impl. ([@fnichol][])
165
+ * Create RVM::ChefUserEnvironment which can be injected with a user. ([@fnichol][])
166
+ * Normalize 'missing gem' logging notices. ([@fnichol][])
167
+ * Add Chef::RVM::StringCache to get and cache canonical RVM strings. ([@fnichol][])
168
+ * Modularize `libraries/helpers.rb` in modules. ([@fnichol][])
169
+ * Issue [#25](https://github.com/fnichol/chef-rvm/issues/25): Add installation options/instructions to README. ([@fnichol][])
170
+
171
+
172
+ ## 0.7.1 (May 15, 2011)
173
+
174
+ ### Bug fixes
175
+
176
+ * Issue [#20](https://github.com/fnichol/chef-rvm/issues/20): Update metadata.rb to not include README.md (too long). ([@fnichol][])
177
+
178
+ ### New features
179
+
180
+ * Add Rakefile for opscode platform deploy builds. ([@fnichol][])
181
+
182
+ ### Improvements
183
+
184
+ * Update metadata.rb properties. ([@fnichol][])
185
+
186
+
187
+ ## 0.7.0 (May 14, 2011)
188
+
189
+ ### Bug fixes
190
+
191
+ * Issue [#20](https://github.com/fnichol/chef-rvm/issues/20): Update rvm/install_rubies attr to "true"/"false". ([@fnichol][])
192
+ * Issue [#14](https://github.com/fnichol/chef-rvm/issues/14): Allow no default RVM ruby (i.e. use system ruby). ([@fnichol][])
193
+ * Issue [#12](https://github.com/fnichol/chef-rvm/issues/12): Update RVM install to use SSL URL. ([@fnichol][])
194
+ * Now /etc/rvmrc has export for rvm/rvmrc key/value pairs. ([@fnichol][])
195
+
196
+ ### New features
197
+
198
+ * Issue [#13](https://github.com/fnichol/chef-rvm/issues/13): Speed up install by disabling RDOC generation. ([@fnichol][])
199
+ * New experimental recipe gem_package which patches gem_package resource. ([@fnichol][])
200
+ * Add rvm_global_gem resource. ([@fnichol][])
201
+
202
+ ### Improvements
203
+
204
+ * Issue [#3](https://github.com/fnichol/chef-rvm/issues/3): Revamp and update README.md. ([@fnichol][])
205
+ * Issue [#3](https://github.com/fnichol/chef-rvm/issues/5): Add CHANGELOG.md. ([@fnichol][])
206
+ * Issue [#19](https://github.com/fnichol/chef-rvm/issues/19): Attr rvm/upgrade accepts "none", false and nil as same value. ([@fnichol][])
207
+ * Update rvm/skip_docs_on_install attr to rvm/rvm_gem_options. ([@fnichol][])
208
+ * Refactor of rvm_gem provider to leverage Chef::Provider::Package::Rubygems. ([@fnichol][])
209
+
210
+
211
+ ## Previous releases
212
+
213
+ The changelog began with version 0.6.0 so any changes prior to that can be
214
+ seen by checking the tagged releases and reading git commit messages.
215
+
216
+ [LWRP]: https://docs.getchef.com/lwrp.html
217
+ [@aaronjensen]: https://github.com/aaronjensen
218
+ [@adrianpike]: https://github.com/adrianpike
219
+ [@bradphelan]: https://github.com/bradphelan
220
+ [@bryanstearns]: https://github.com/bryanstearns
221
+ [@cgriego]: https://github.com/cgriego
222
+ [@dokipen]: https://github.com/dokipen
223
+ [@exempla]: https://github.com/exempla
224
+ [@fnichol]: https://github.com/fnichol
225
+ [@gondoi]: https://github.com/gondoi
226
+ [@jblatt-verticloud]: https://github.com/jblatt-verticloud
227
+ [@jheth]: https://github.com/jheth
228
+ [@jschneiderhan]: https://github.com/jschneiderhan
229
+ [@juzzin]: https://github.com/juzzin
230
+ [@kristopher]: https://github.com/kristopher
231
+ [@mariussturm]: https://github.com/mariussturm
232
+ [@mpapis]: https://github.com/mpapis
233
+ [@mveytsman]: https://github.com/mveytsman
234
+ [@phlipper]: https://github.com/phlipper
235
+ [@relistan]: https://github.com/relistan
236
+ [@rhenning]: https://github.com/rhenning
237
+ [@ryansch]: https://github.com/ryansch
238
+ [@smdern]: https://github.com/smdern
239
+ [@temujin9]: https://github.com/temujin9
240
+ [@TrevorBramble]: https://github.com/TrevorBramble
241
+ [@xdissent]: https://github.com/xdissent
242
+ [@zacharydanger]: https://github.com/zacharydanger
243
+ [@fmfdias]: https://github.com/fmfdias
244
+ [@justincampbell]: https://github.com/justincampbell
245
+ [@firebelly]: https://github.com/firebelly
246
+ [@martinisoft]: https://github.com/martinisoft
247
+ [@dosire]: https://github.com/dosire
248
+ [@zsol]: https://github.com/zsol
249
+ [@ncreuschling]: https://github.com/ncreuschling
250
+ [@lukeasrodgers]: https://github.com/lukeasrodgers
251
+ [@nomadium]: https://github.com/nomadium
252
+ [@lesniakania]: https://github.com/lesniakania
253
+ [@cmluciano]: https://github.com/cmluciano