Update upstream cookbooks

This commit is contained in:
Greg Karékinian
2017-03-20 13:19:10 +00:00
parent bfd2d52ea8
commit bcfd44b923
340 changed files with 12576 additions and 5465 deletions

View File

@@ -1,98 +1,93 @@
Description
===========
[![Cookbook Version](http://img.shields.io/cookbook/v/build-essential.svg)][cookbook]
[![Build Status](http://img.shields.io/travis/chef-cookbooks/build-essential.svg)][travis]
# build-essential Cookbook
[![Cookbook Version](http://img.shields.io/cookbook/v/build-essential.svg)][cookbook] [![Build Status](http://img.shields.io/travis/chef-cookbooks/build-essential.svg)][travis]
[cookbook]: https://community.chef.io/cookbooks/build-essential
[travis]: http://travis-ci.org/chef-cookbooks/build-essential
Installs packages required for compiling C software from source. Use this cookbook if you wish to compile C programs, or install RubyGems with native extensions.
Installs packages required for compiling C software from source. Use this
cookbook if you wish to compile C programs, or install RubyGems with native
extensions.
## Requirements
### Platforms
- Debian/Ubuntu
- RHEL/CentOS/Scientific/Amazon/Oracle
- openSUSE
- SmartOS
- Fedora
- Mac OS X
- FreeBSD
### Chef
- Chef 11+
### Cookbooks
- Suggests pkgutil for Solaris based platforms
Requirements
------------
Chef 11+ and Ohai 6.14+ are required. For the latest list of supported
platforms, please see the `metadata.rb`.
**Note for Debian platform family:** On Debian platform-family systems, it is recommended that `apt-get update` be run, to ensure that the package cache is updated. It's not in the scope of this cookbook to do that, as it can [create a duplicate resource](https://tickets.chef.io/browse/CHEF-3694). We recommend using the [apt](https://supermarket.chef.io/cookbooks/apt) cookbook to do this.
**Note for OmniOS**: Currently, OmniOS's Ruby package is built with
GCC 4.6.3, and the path is hardcoded, as the gcc binaries are not
installed in the default $PATH. This means that in order to install
RubyGems into the "system" Ruby, one must install `developer/gcc46`.
[An issue](https://github.com/omniti-labs/omnios-build/issues/19) is
open upstream w/ OmniOS to rebuild the Ruby package with GCC 4.7.2.
**Note for OmniOS**: Currently, OmniOS's Ruby package is built with GCC 4.6.3, and the path is hardcoded, as the gcc binaries are not installed in the default $PATH. This means that in order to install RubyGems into the "system" Ruby, one must install `developer/gcc46`. [An issue](https://github.com/omniti-labs/omnios-build/issues/19) is open upstream w/ OmniOS to rebuild the Ruby package with GCC 4.7.2.
Attributes
----------
| Attribute | Default | Description |
|----------------|:-------:|-----------------------------------|
| `compile_time` | `false` | Execute resources at compile time |
## Attributes
Attribute | Default | Description
----------------------------------------- | :--------------------------: | ---------------------------------
`node['build-essential']['compile_time']` | `false` | Execute resources at compile time
`node['build-essential']['msys']['path']` | `#{ENV['SYSTEMDRIVE']\\msys` | Destination for msys (Windows only)
Usage
-----
## Usage
Include the build-essential recipe in your run list:
```sh
knife node run_list add NODE "recipe[build-essential::default]"
```
or add the build-essential recipe as a dependency and include it from inside
another cookbook:
or add the build-essential recipe as a dependency and include it from inside another cookbook:
```ruby
include_recipe 'build-essential::default'
```
### Gems with C extensions
For RubyGems that include native C extensions you wish to use with Chef, you
should do the following.
For RubyGems that include native C extensions you wish to use with Chef, you should do the following.
- Set the `compile_time` attribute to true in your wrapper cookbook or role:
1. Set the `compile_time` attribute to true in your wrapper cookbook or role:
```ruby
# Wrapper attribute
default['build-essential']['compile_time'] = true
```
```ruby
# Wrapper attribute
default['build-essential']['compile_time'] = true
```
```ruby
# Role
default_attributes(
'build-essential' => {
'compile_time' => true
}
)
```
```ruby
# Role
default_attributes(
'build-essential' => {
'compile_time' => true
}
)
```
- Ensure that the C libraries, which include files and other assorted "dev"
1. Ensure that the C libraries, which include files and other assorted "dev"
type packages, are installed in the compile phase after the build-essential
recipe is executed. For example:
type packages, are installed in the compile phase after the build-essential
```ruby
include_recipe 'build-essential::default'
recipe is executed. For example:
package('mypackage-devel') { action :nothing }.run_action(:install)
```
```ruby
include_recipe 'build-essential::default'
1. Use the `chef_gem` resource in your recipe to install the gem with the native
extension:
package('mypackage-devel') { action :nothing }.run_action(:install)
```
```ruby
chef_gem 'gem-with-native-extension'
```
- Use the `chef_gem` resource in your recipe to install the gem with the native
extension:
License & Authors
-----------------
- Author: Seth Vargo (<sethvargo@gmail.com>)
- Author: Joshua Timberman (<joshua@chef.io>)
- Author: Seth Chisamore (<schisamo@chef.io>)
```ruby
chef_gem 'gem-with-native-extension'
```
```text
Copyright 2009-2015, Chef Software, Inc. (<legal@chef.io>)
## License & Authors
**Author:** Cookbook Engineering Team ([cookbooks@chef.io](mailto:cookbooks@chef.io))
**Copyright:** 2009-2015, Chef Software, 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
@@ -106,3 +101,5 @@ See the License for the specific language governing permissions and
limitations under the License.
```
[cookbook]: https://supermarket.chef.io/cookbooks/build-essential
[travis]: http://travis-ci.org/chef-cookbooks/build-essential