from-scratch 0.1.0

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