cookbook 'freebsd', '= 1.0.1'
freebsd
(38) Versions
1.0.1
-
Follow12
Handles FreeBSD ports setup
cookbook 'freebsd', '= 1.0.1', :supermarket
knife supermarket install freebsd
knife supermarket download freebsd
freebsd Cookbook
Sets up ports and pkgng on FreeBSD systems
Requirements
Platforms
- FreeBSD 9+
Chef
- Chef 12.1+
Cookbooks
- none
Attributes
Attribute | Default | Description |
---|---|---|
node['freebsd']['compiletime_portsnap'] |
false |
Execute portsnap resources at compile time |
Supported Versions
This cookbook will support stable and release versions of the FreeBSD Platform. More information on this subject can be found at issue23.
Usage
freebsd::pkgng
This recipe ensures pkg
(aka pkgng
), FreeBSD's next generation package management tool, is installed and configured.
This recipe is only useful on FreeBSD versions before 10 as pkg
ships in the base install of FreeBSD 10+. That being said the recipe is safe to include on the runlists of FreeBSD 10 nodes and will mostly operate in a no-op mode.
freebsd::portsnap
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.
Resources/Providers
port_options
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 |
---|---|---|
APACHE | true | WITH_APACHE=true |
APACHE | false | WITHOUT_APACHE=true |
Actions
Action | Description | Default |
---|---|---|
create | create the port options file according to the given options | Yes |
Attributes
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. |
Examples
# 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 end # 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 end
License & Authors
- Author: Andrea Campi (andrea.campi@zephirworks.com)
- Author: Seth Chisamore (schisamo@chef.io)
Copyright 2010-2012, ZephirWorks Copyright 2012-2016, Chef Software, Inc. (<legal@chef.io>) 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 http://www.apache.org/licenses/LICENSE-2.0 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.
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
freebsd cookbook CHANGELOG
This file is used to list changes made in each version of the freebsd cookbook.
1.0.1 (2016-12-14)
- use portsnap interactive for freebsd >= 10 not just 10
1.0.0 (2016-09-15)
- Testing updates
- Require Chef 12.1+
v0.6.0 (2016-04-02)
- The parent directory is now created in the ports_options provider
v0.5.2 (2016-04-01)
- Resolved 'No resource, method, or local variable named
path
' error - Updated testing dependencies
v0.5.1 (2016-01-08)
- Improved the description in the readme
- Fixed a failed spec
- Resolved rubocop warnings
v0.5.0 (2015-12-13)
- Only execute the cookbooks when running on FreeBSD so they can be safely included in base roles where they might run on Linux or Windows hosts
v0.4.0 (2015-10-20)
- Added a new option to execute the portsnap resources at compile time:
node['freebsd']['compiletime_portsnap']
- Updated the supported FreeBSD releases to match those supported by the Chef Client (9/10 only)
- Significantly expanded Chefspec testing
- Added source_url and issues_url to the metadata
- Updated the gitignore file
- Test on the latest Freebsd boxes in Test Kitchen
- Added chefignore file
- Added Chef standard rubocop config
- Updated Travis CI testing to use the ChefDK for up to date deps
- Updated Gemfile with the latest testing deps
- Updated testing and contributing docs
- Added maintainers.md and maintainers.toml files
- Added travis and cookbook version badges to the readme
- Resolved Rubocop warnings
v0.3.0 (2014-10-30)
- Removing package provider monkey patch
- Dropping FreeBSD 8.2 support
v0.2.1 (2014-10-23)
- Don't install PKGNG on 9 if it already exists
v0.2.0 (2014-10-22)
- Add a recipe to install and configure PKGNG
- Level up ChefSpec and ServerSpec coverage
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
v0.1.0
- [COOK-2568]: FreeBSD cookbook throws Error in runtime
v0.0.6
- [COOK-1605] -
freebsd_port_options
always notifies
v0.0.4
- [COOK-1430] - resolve foodcritic warnings; LWRP now defines default action
v0.0.2
- [COOK-1084] - fix older version building from ports
v0.0.1
- [COOK-1074] - initial release
Collaborator Number Metric
1.0.1 passed this metric
Contributing File Metric
1.0.1 passed this metric
Foodcritic Metric
1.0.1 passed this metric
License Metric
1.0.1 passed this metric
No Binaries Metric
1.0.1 passed this metric
Testing File Metric
1.0.1 passed this metric
Version Tag Metric
1.0.1 passed this metric
1.0.1 passed this metric
1.0.1 passed this metric
Foodcritic Metric
1.0.1 passed this metric
License Metric
1.0.1 passed this metric
No Binaries Metric
1.0.1 passed this metric
Testing File Metric
1.0.1 passed this metric
Version Tag Metric
1.0.1 passed this metric
1.0.1 passed this metric
1.0.1 passed this metric
No Binaries Metric
1.0.1 passed this metric
Testing File Metric
1.0.1 passed this metric
Version Tag Metric
1.0.1 passed this metric
1.0.1 passed this metric
1.0.1 passed this metric
Version Tag Metric
1.0.1 passed this metric
1.0.1 passed this metric