Adoptable Cookbooks List

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Global

rbenv_global '2.3.4' do
user # Optional: if passed sets the users global version. Do not set, to set the systems global version
end

If a user is passed in to this resource it sets the global version for the user, under the users root_path (usually ~/.rbenv/version), otherwise it sets the system global version.

Plugin

Installs a rbenv plugin.

rbenv_plugin 'ruby-build' do
git_url # Git URL of the plugin
git_ref # Git reference of the plugin
user # Optional: if passed installs to the users rbenv. Do not set, to set installs to the system rbenv.
end

If user is passed in, the plugin is installed to the users install of rbenv.

Rehash

rbenv_rehash 'rehash' do
user 'vagrant' # Optional: if passed rehashes the user Ruby otherwise rehashes the system rbenv
end

Ruby

Installs a given Ruby version to the system or user location.

rbenv_ruby '2.3.4' do
user # Optional: If passed the user rbenv to install to
rbenv_action # Optional: the action to perform, install, remove etc
end

Shorter example rbenv_ruby '2.4.1'

Script

Runs a rbenv aware script.

rbenv_script 'foo' do
rbenv_version #rbenv version to run the script against
environment # Optional: Environment to setup to run the script
user # Optional: User to run as
group # Optional: Group to run as
path # Optional: User to run as
returns # Optional: Expected return code
code # Script code to run
end

System-Wide Mac Installation Note

This cookbook takes advantage of managing profile fragments in an /etc/profile.d directory, common on most Unix-flavored platforms. Unfortunately, Mac OS X does not support this idiom out of the box, so you may need to modify your user profile.

License and Author

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Remove Arch Linux support in README. We never really supported this, and it isn't tested

Update required chef-version to the one we test with (Chef 12.19+)

Known Current Bugs

Installing Ruby 2.3.1 on Fedora requires a patched version of 2.3.1. As patching is currently unavailable please pin to a prior version if you need this installing.

1.2.1 (June 23, 2017)

Fixed resource failures on Chef 13

Updated the Apache license string to a SPDX compliant string

Added Travis testing for Chef 12 and 13

Switched testing from Rake to local delivery

1.2.0 (April 11, 2017)

Migrated maintenance of this cookbook to Sous Chefs

Remove the check to see if the homebrew provider exists since this always exists in Chef 12 and the code failed on Chef 13

Added checks to user install recipes to avoid breaking if the rbenv_home does not exist

Removed test deps from the Gemfile as we should be testing with ChefDK

Removed the "suggests 'java'" metadata as suggests was never implemented in Chef and has been removed from Chef 13

Bumped the required Chef release from 12.0 to 12.1

1.1.0 (July 17, 2016)

Restored compatibility for platforms that don't yet support multipackage installs in Chef (BSD and OS X in particular)

Updated to Grab rbenv from the new repo URL and use https vs. git for compatibility

Added missing Chefspec matchers

Enabled use_inline_resources in all providers

Added chef_version metadata to metadata.rb

Added source_url and issues_url metadata to metadata.rb

Added bash a depedency for FreeBSD

Switched Travis testing to Kitchen Dokken

Added a chefignore file to limit the files uploaded to the chef server

Switched linting from Rubocop to Cookstyle (rubocop wrapper by Chef)

1.0.1 (October 24, 2015)

Fixed failure with rehashing after the cookbook was renamed

1.0.0 (October 12, 2015)

WARNING: Cookbook has been renamed

Renamed to ruby_rbenv and uploaded to Supermarket (all attributes rename in the rbenv cookbook). If you wrap this cookbook you're going to need to update the recipes you include. All providers have been updated to keep their existing rbenv_xyz names for backwards compatibility and attributes still maintain the rbenv namespace.

Updated Travis config to run integration tests in Travis using kitchen-docker

0.9.0 (October 12, 2015)

Fixed base platform case statement in the cookbook that set install_pkgs and user_home_root attributes. This has been converted to a platform_family statement to better support derivitive operating systems and the attributes are set at default levels so they can be overwritten in wrapper cookbooks

Updated Travis to test using Chef DK vs. Gem installs

Fixed Chefspecs and Test Kitchen bats tests to all pass

Added the Apache 2.0 license file

Updated and added new development dependencies to the Gemfile

Use Chef 12.1+ multi-package installs for the dependency packages to speed up installs

Improvements

Pull request #46: Add a definition_file attribute to the rbenv_ruby resource to prevent continually trying to build a custom ruby when passed a build file name instead of a built-in definition (@jf647)