Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

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.

Select Badges

Select Supported Platforms


freebsd (26) Versions 0.1.10

Handles FreeBSD ports setup

cookbook 'freebsd', '= 0.1.10'
cookbook 'freebsd', '= 0.1.10', :supermarket
knife supermarket install freebsd
knife supermarket download freebsd
Quality 0%

freebsd Cookbook

Handles FreeBSD-specific features and quirks.


Tested on FreeBSD 7.2, 8.0, 8.1, 8.2 and 9.0.




This recipe ensures the Ports Collection collection is fully up to date.

This recipe should appear first in the run list of FreeBSD nodes to ensure that the package cache is up to date before managing any package resources with Chef.



Provides an easy way to set port options from within a cookbook.

It can be used in two different ways:

  • template-based: specifying a source will write it to the correct destination with no change;
  • options hash: if a options hash is passed instead, it will be merged on top of default and current options, and the result will be written back.

Note that the options hash take simple options names as keys and a boolean as value; when saving to file, this is converted to the format that FreeBSD ports expect:

Option Key Name Option Value Options File


Action Description Default
create create the port options file according to the given options Yes


Attribute Description
name The name of the port whose options file you want to manipulate;
source if the attribute is set, it will be used to look up a template, which will then be saved as a port options file
options a hash with the option name as the key, and a boolean as value.


# freebsd-php5-options will be written out as /var/db/ports/php5/options
freebsd_port_options "php5" do
  source "freebsd-php5-options.erb"
  action :create

# Default options will be read from /usr/ports/lang/php5;
# current options from /var/db/ports/php5/options (if exists);
# the APACHE options will be set to true, the others will be unchanged
freebsd_port_options "php5" do
  options "APACHE" => true
  action :create

License and Authors

Author:: Andrea Campi ( Author:: Seth Chisamore (

Copyright 2010-2012, ZephirWorks Copyright 2013, Opscode, Inc. (

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

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.

freebsd cookbook CHANGELOG

v0.1.10 (2014-10-06)

  • Update method used for non-interactive portsnap on FreeBSD 10

v0.1.9 (2014-08-02)

  • Updating to support both 11.12.8 and 11.4.2

v0.1.8 (2014-08-02)

  • Reverting changes made in v0.1.6

v0.1.6 (2014-08-01)

  • Update provider to match Chef-Client 11.14.2 changes

v0.1.2 (2014-04-09)

  • [COOK-4454] Added FreeBSD 10 to test harness

v0.1.2 (2014-02-25)

[COOK-3933] - Add a recipe for ensuring the Ports Collection is up-to-date


  • [COOK-2568]: FreeBSD cookbook throws Error in runtime


  • [COOK-1605] - freebsd_port_options always notifies


  • [COOK-1430] - resolve foodcritic warnings; LWRP now defines default action


  • [COOK-1084] - fix older version building from ports


  • [COOK-1074] - initial release

Foodcritic Metric

0.1.10 failed this metric

FC019: Access node attributes in a consistent manner: /tmp/cook/47c98685e8912d6ee773a8c3/freebsd/recipes/portsnap.rb:20