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 supermarket mailing list.

Select Badges

Select Supported Platforms

RSS

build-essential (35) Versions 6.0.2

Installs C compiler / build tools

Berkshelf
Librarian
Knife
cookbook 'build-essential', '~> 6.0.2'
cookbook 'build-essential', '~> 6.0.2'
knife cookbook site install build-essential
knife cookbook site download build-essential
README
Dependencies
Changelog
Quality

build-essential Cookbook

Cookbook Version Build Status

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. Contains a resource, 'build_essential', as as well as a default recipe that simply calls that same resource.

Requirements

Platforms

  • Debian/Ubuntu
  • RHEL/CentOS/Scientific/Amazon/Oracle
  • openSUSE / SUSE Enterprise Linux
  • SmartOS
  • Fedora
  • Mac OS X
  • FreeBSD

Chef

  • Chef 12.1+

Cookbooks

  • seven_zip
  • mingw

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. We recommend using the apt cookbook to do this.

Attributes

Attribute Default Description
node['build-essential']['compile_time'] false Execute resources at compile time
node['build-essential']['msys2']['path'] #{ENV['SYSTEMDRIVE']\\msys2 Destination for msys2 build tool chain (Windows only)

Usage

Recipe Usage

The recipe simply calls the build_essential resource, but it ideal for adding to roles or node run lists.

Include the build-essential recipe in your run list:

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:

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.

  • Set the compile_time attribute to true in your wrapper cookbook or role:
   # Wrapper attribute
   default['build-essential']['compile_time'] = true
   # Role
   default_attributes(
     'build-essential' => {
       'compile_time' => true
     }
   )
  • 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:

   include_recipe 'build-essential::default'

   package('mypackage-devel') { action :nothing }.run_action(:install)
  • Use the chef_gem resource in your recipe to install the gem with the native

extension:

   chef_gem 'gem-with-native-extension'

Resource Usage

The cookbook includes a resource 'build_essential' that can be included in your cookbook to install the necessary build-essential packages

Simple package installation during the client run:

build_essential 'some name you choose'

Package installation during the compile phase:

build_essential 'some name you choose' do
  compile_time false
end

License & Authors

Author: Cookbook Engineering Team (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

    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

compat_resource >= 12.10
mingw >= 1.1
seven_zip >= 0.0.0

Contingent cookbooks

amoeba_basenode Applicable Versions
apache2_odin_auth Applicable Versions
application_zf Applicable Versions
ark Applicable Versions
asterisk Applicable Versions
atheme-services Applicable Versions
augeas Applicable Versions
aws-codedeploy-agent Applicable Versions
aws-rds Applicable Versions
aws-sdk Applicable Versions
aws_rds Applicable Versions
aws_security Applicable Versions
backup Applicable Versions
backup_lwrp Applicable Versions
backuppc-server Applicable Versions
bacula-client Applicable Versions
bamboo Applicable Versions
bamboo-agent Applicable Versions
baseserver Applicable Versions
bazel Applicable Versions
berkshelf-api Applicable Versions
berkshelf-api-server Applicable Versions
bittorrent Applicable Versions
bjn_ruby Applicable Versions
boost Applicable Versions
boost-source Applicable Versions
builder Applicable Versions
buildr Applicable Versions
burp Applicable Versions
cabot Applicable Versions
cacti Applicable Versions
carbon Applicable Versions
celery-flower Applicable Versions
chef-provisioning Applicable Versions
chef-pry Applicable Versions
chef-zero Applicable Versions
chef_crowd Applicable Versions
chef_eye Applicable Versions
chef_ruby Applicable Versions
chef_rvm Applicable Versions
chruby_install Applicable Versions
cloudformation-test-cookbook Applicable Versions
cloudless-box Applicable Versions
collectd-ng Applicable Versions
common_linux Applicable Versions
config-driven-helper Applicable Versions
consul Applicable Versions
container Applicable Versions
crowd Applicable Versions
daemontools Applicable Versions
dataduct Applicable Versions
dbench Applicable Versions
diamond_lwrp Applicable Versions
diaspora Applicable Versions
disco Applicable Versions
djbdns Applicable Versions
dns Applicable Versions
dnsimple Applicable Versions
docker_registry Applicable Versions
dokku Applicable Versions
doozer Applicable Versions
duo-unix Applicable Versions
duplicity_ng Applicable Versions
ec2dnsserver Applicable Versions
eldus-s3 Applicable Versions
eldus-tomcat Applicable Versions
elefant Applicable Versions
elkstack Applicable Versions
emacs24 Applicable Versions
encrypted_attributes Applicable Versions
erlang Applicable Versions
errbit Applicable Versions
et_fog Applicable Versions
et_mesos Applicable Versions
exhibitor Applicable Versions
f5 Applicable Versions
fanout Applicable Versions
ffmpeg Applicable Versions
firefox_package Applicable Versions
fish-shell Applicable Versions
fluentd_bundle Applicable Versions
fog_cloud Applicable Versions
formatron_common Applicable Versions
formatron_graphite Applicable Versions
formatron_monitor Applicable Versions
freetds Applicable Versions
frog Applicable Versions
galoshes Applicable Versions
gdash Applicable Versions
gecode Applicable Versions
gem_installation Applicable Versions
geminabox Applicable Versions
gerrit Applicable Versions
gflags Applicable Versions
ghost Applicable Versions
git Applicable Versions
gitlab Applicable Versions
gitlab-server Applicable Versions
gitlab-shell Applicable Versions
gitlabhq Applicable Versions
gnu_parallel Applicable Versions
gotcms Applicable Versions
gpac Applicable Versions
gqlplus Applicable Versions
graphite Applicable Versions
graphite-api Applicable Versions
graphiti Applicable Versions
grinder Applicable Versions
h2o Applicable Versions
haproxy Applicable Versions
hashicorp-vault Applicable Versions
hipsnip-mongodb Applicable Versions
homebrew Applicable Versions
httpie Applicable Versions
httplivestreamsegmenter Applicable Versions
hypertable Applicable Versions
icinga Applicable Versions
il-base Applicable Versions
iptables_web Applicable Versions
ipxe Applicable Versions
jackal Applicable Versions
javamonitor Applicable Versions
jemalloc Applicable Versions
jenkinsstack Applicable Versions
jmeter Applicable Versions
jolicode-php Applicable Versions
k8s Applicable Versions
kibana Applicable Versions
krb5 Applicable Versions
kubernetes Applicable Versions
languages Applicable Versions
letsencrypt-boulder-server Applicable Versions
libarchive Applicable Versions
libev Applicable Versions
libevent Applicable Versions
libfdk_aac Applicable Versions
libmemcached Applicable Versions
libsodium Applicable Versions
libvpx Applicable Versions
libyaml Applicable Versions
lita Applicable Versions
lmctfy Applicable Versions
lockrun Applicable Versions
logstash Applicable Versions
lxd Applicable Versions
mac-app-store Applicable Versions
magentostack Applicable Versions
marketplace_ami Applicable Versions
mcrouter Applicable Versions
mercurial Applicable Versions
meteor Applicable Versions
mod_security Applicable Versions
monit-ng Applicable Versions
mono Applicable Versions
mono3 Applicable Versions
mono4 Applicable Versions
moodle Applicable Versions
mplayer Applicable Versions
mysql Applicable Versions
mysql-chef_gem Applicable Versions
mysql2_chef_gem Applicable Versions
mysql_chef_gem Applicable Versions
mysqler Applicable Versions
nagios Applicable Versions
nagios-xinetd Applicable Versions
ndenv Applicable Versions
netdevops Applicable Versions
newrelic-ng Applicable Versions
nexus Applicable Versions
nginx Applicable Versions
nginx_resources Applicable Versions
node Applicable Versions
nodebrew Applicable Versions
nodejs Applicable Versions
nodestack Applicable Versions
nokogiri Applicable Versions
nrpe Applicable Versions
nrpe-ng Applicable Versions
nvm Applicable Versions
oclint Applicable Versions
ohmage Applicable Versions
omnibus Applicable Versions
open-build-service Applicable Versions
openbazaar Applicable Versions
opencv Applicable Versions
openfortivpn Applicable Versions
opennms Applicable Versions
openntpd Applicable Versions
openresty Applicable Versions
openssl-fips Applicable Versions
openssl-source Applicable Versions
openstack Applicable Versions
openstack-clients Applicable Versions
openstack-mistral Applicable Versions
opsview_client Applicable Versions
opsworks_ruby Applicable Versions
opt-modules Applicable Versions
opt-python Applicable Versions
oracle-instantclient Applicable Versions
ossec Applicable Versions
osslsigncode Applicable Versions
pantry Applicable Versions
paramount Applicable Versions
passenger_apache2 Applicable Versions
pcre Applicable Versions
pdns Applicable Versions
pennyworth Applicable Versions
percona Applicable Versions
percona-multi Applicable Versions
perlbrew Applicable Versions
pg_repack Applicable Versions
phantomjs Applicable Versions
php Applicable Versions
phpenv Applicable Versions
phpstack Applicable Versions
pipeline Applicable Versions
poise-cloudformation Applicable Versions
poise-cloudformations Applicable Versions
poise-fpm Applicable Versions
poise-ruby-build Applicable Versions
poise-runit Applicable Versions
poise-s3 Applicable Versions
poise-sparkleformation Applicable Versions
poise-web Applicable Versions
postgres Applicable Versions
postgresql Applicable Versions
postmodern Applicable Versions
prometheus Applicable Versions
prose Applicable Versions
prosody Applicable Versions
protobuf Applicable Versions
pure-ftpd Applicable Versions
python Applicable Versions
python-sip Applicable Versions
pythonstack Applicable Versions
r-project Applicable Versions
rackspace_cloudbackup Applicable Versions
razor Applicable Versions
rbenv Applicable Versions
re2 Applicable Versions
redis2 Applicable Versions
redisio Applicable Versions
repmgr Applicable Versions
reprepro Applicable Versions
resin Applicable Versions
rethinkdb Applicable Versions
riak Applicable Versions
riemann2 Applicable Versions
rightscale_backup Applicable Versions
rightscale_volume Applicable Versions
ros Applicable Versions
roundcube Applicable Versions
route53 Applicable Versions
rubies Applicable Versions
ruby-enterprise-install Applicable Versions
ruby-ng Applicable Versions
ruby_enterprise Applicable Versions
ruby_installer Applicable Versions
runit Applicable Versions
rvm Applicable Versions
rvm_fw Applicable Versions
s3-cookbook Applicable Versions
s6 Applicable Versions
sanitize Applicable Versions
screen Applicable Versions
simple_passenger Applicable Versions
singularity Applicable Versions
sk_ruby Applicable Versions
sockstat Applicable Versions
sox_mp3 Applicable Versions
sparrow Applicable Versions
sphinx Applicable Versions
spigot Applicable Versions
stack_commons Applicable Versions
stackstorm Applicable Versions
statsd Applicable Versions
statsite Applicable Versions
stow Applicable Versions
strongloop Applicable Versions
stud Applicable Versions
stumpwm Applicable Versions
suhosin Applicable Versions
supermarket Applicable Versions
tarsnap Applicable Versions
taskwarrior Applicable Versions
taurus Applicable Versions
teamforge-associations Applicable Versions
tesseract Applicable Versions
test-kitchen Applicable Versions
the_silver_searcher Applicable Versions
thrift Applicable Versions
transmission Applicable Versions
ucspi-tcp Applicable Versions
unicorn Applicable Versions
unimrcp Applicable Versions
unreal-ircd Applicable Versions
uptime Applicable Versions
ut_base Applicable Versions
varnish Applicable Versions
varnishd Applicable Versions
webobjects Applicable Versions
wordpress Applicable Versions
x264 Applicable Versions
xbuild Applicable Versions
xdebug Applicable Versions
xml Applicable Versions
yara Applicable Versions
yasm Applicable Versions
zabbix-agent Applicable Versions
zabbix_lwrp Applicable Versions
zend-server Applicable Versions
zeromq Applicable Versions
zerovm Applicable Versions
zmq Applicable Versions
znc Applicable Versions
zookeeper Applicable Versions
zookeeper_bridge Applicable Versions

build-essential Cookbook CHANGELOG

This file is used to list changes made in each version of the build-essential cookbook.

v6.0.2 (2016-07-22)

  • Properly warn on Solaris 10
  • Specify the verson of gcc to install on Solaris 11

v6.0.1 (2016-07-19)

  • Clarify that this cookbook actually required Chef 12.1 or later not 12.0 or later
  • Add chef_version metadata

v6.0.0 (2016-06-03)

This cookbook now uses the new msys2 based compiler toolchain on windows. Both 32-bit DW2 and 64-bit SEH based toolchains are available based on the gcc 5.3x series compiler. By default these are located in C:\msys2\mingw32 and C:\msys2\mingw64

v5.0.0 (2016-06-03)

The cookbook now ships with a 12.5+ style custom resource 'build_essential' which performs the same work that the existing default.rb recipe. The default.rb recipe has been converted to consume that resource to provide backwards compatibility for users that use build-essential::default in their run lists or cookbooks. In converting to this custom resource support for EOL omnios has been removed and warning messages for Solaris 10 users have been removed. See the readme for usage information on the new resource.

v4.0.0 (2016-05-12)

Breaking change

This cookbook now requires Chef 12 or later as it includes the new mingw cookbook for installing Windows compilers. Mingw includes 12.5 style custom resources, which will fail to compile on Chef 11. If you are not running Chef 12 you'll need to pin to 3.x in your environment.

v3.2.0 (2016-03-25)

This version backs out a change in the 3.0 release which attempted to install the version of kernel-devel for the current running kernel on RHEL systems. This change had several unintended consequences and we believe the best solution is to back to change out until a better solution for the original problem is developed. Several of the issues could be resolved by code updates to build-essential, but not all, which complicates rolling forward vs. a roll back. The change caused issues which Chefspec runs on cookbooks where build-essential is a dependency as Fauxhai, used by Chefspec, does not mock out node['virtualization']. Fauxhai is being updated to mock out node['virtualization'], but we'd like to make sure a ChefDK release ships with this new Fauxhai before depending on that change.

v3.1.0 (2016-03-23)

  • Install GCC 4.8 if running on OmniOS >= 151008

v3.0.0 (2016-03-23)

  • Install GCC 4.9 on FreeBSD < 10
  • Install the version of kernel-devel that matches the running Kernel on RHEL
  • Remove suggests 'pkgutil' from the metadata as suggests does nothing
  • Properly warn the user that build-essential does not support Solaris 10 instead of just silently continuing on
  • Updated specs to run against more recent OS releases
  • Removed the warning for OmniOS users from the Readme as the upstream issue has been resolved
  • Switch from 7-zip to seven_zip cookbook as 7-zip has been deprecated
  • Add 7-zip to the system path on Windows hosts so the recipe will work out of the box
  • Switch from the deprecated 7-zip cookbook to seven_zip

v2.4.0 (2016-03-21)

  • Add gettext package to RHEL / FreeBSD to match other platforms
  • Fix OS X version detection logic to properly detect OS X 10.10 and 10.11

v2.3.1 (2016-02-18)

  • Restore Chef 11 compatibility and add Travis / Test Kitchen testing for Chef 11

v2.3.0 (2016-02-17)

  • Add mingw/msys based build tools for Windows

v2.2.4 (2015-10-06)

  • Add patch package on Fedora systems
  • Add additional platforms to Kitchen CI
  • Use Chef standard Rubocop file and resolve several issues
  • Update contributing and testing docs
  • Update Gemfile with the latest testing and development deps
  • Add maintainers.md and maintainers.toml files
  • Add chefignore file to limit the files uploaded to the Chef server
  • Add source_url and issues_url metadata for Supermarket

v2.2.3 (2015-04-15)

  • Don't install omnibus-build-essential on Solaris 10 - We decided it's easier to use the old GCC that ships with Solaris 10.
  • Use ChefDK for all Travis testing.

v2.2.2 (2015-03-27)

  • Update Solar 10's omnibus-build-essential to 0.0.5

v2.2.1 (2015-03-23)

  • Install GNU Patch on Solaris 11

v2.2.0 (2015-03-18)

  • [solaris] Differentiate between Solaris 10 and 11
  • [solaris] Add ucb compat package
  • [solaris] Solaris 10 build essential setup
  • Fix metadata to use a string instead of a bool (see #56, #57)

v2.1.3 (2014-11-18)

  • Update metadata for supported versions of OS X (10.7+) as noted from
  • v2.0.0 previously (#38)
  • Clarify requirement to have apt package cache updated in README. (#41)
  • Fix Xcode CLI installation on OS X (#50)

v2.1.2 (2014-10-14)

  • Mac OS X 10.10 Yosemite support

v2.1.0 (2014-10-14)

  • Use fully-qualified names when installing FreeBSD package

v2.0.6 (2014-08-11)

  • Use the resource form of remote_file to prevent context issues

v2.0.4 (2014-06-06)

  • [COOK-4661] added patch package to _rhel recipe

v2.0.2 (2014-05-02)

  • Updated documentation about older Chef versions
  • Added new SVG badges to the README
  • Fix a bug where potentially_at_compile_time fails on non-resources

v2.0.0 (2014-03-13)

  • Updated tested harnesses to use latest ecosystem tools
  • Added support for FreeBSD
  • Added support for installing XCode Command Line Tools on OSX (10.7, 10.8, 10.9)
  • Created a DSL method for wrapping compile_time vs runtime execution
  • Install additional developement tools on some platforms
  • Add nicer log and warning messages with helpful information

Potentially Breaking Changes

  • Dropped support for OSX 10.6
  • OSX no longer downloads OSX GCC and uses XCode CLI tools instead
  • build_essential -> build-essential in node attributes
  • compiletime -> compile_time in node attributes
  • Cookbook version 2.x no longer supports Chef 10.x

v1.4.4 (2014-02-27)

  • [COOK-4245] Wrong package name used for developer tools on OS X 10.9

v1.4.2

Bug

  • COOK-3318 - Use Mixlib::ShellOut instead of Chef::ShellOut

New Feature

Improvement

v1.4.0

This version splits up the default recipe into recipes included based on the node's platform_family.

  • [COOK-2505] - backport omnibus builder improvements

v1.3.4

  • [COOK-2272] - Complete platform_family conversion in build-essential

v1.3.2

  • [COOK-2069] - build-essential will install osx-gcc-installer when XCode is present

v1.3.0

  • [COOK-1895] - support smartos

v1.2.0

  • Add test-kitchen support (source repo only)
  • [COOK-1677] - build-essential cookbook support for OpenSuse and SLES
  • [COOK-1718] - build-essential cookbook metadata should include scientific
  • [COOK-1768] - The apt-get update in build-essentials needs to be renamed

v1.1.2

  • [COOK-1620] - support OS X 10.8

v1.1.0

  • [COOK-1098] - support amazon linux
  • [COOK-1149] - support Mac OS X
  • [COOK-1296] - allow for compile-time installation of packages through an attribute (see README)

v1.0.2

  • [COOK-1098] - Add Amazon Linux platform support
  • [COOK-1149] - Add OS X platform support

Foodcritic Metric

FC016: LWRP does not declare a default action: /tmp/41f6be9258fd76c3b2b61d9a/build-essential/resources/build_essential.rb:1
FC057: Library provider does not declare use_inline_resources: /tmp/41f6be9258fd76c3b2b61d9a/build-essential/libraries/xcode_command_line_tools.rb:64
FC057: Library provider does not declare use_inline_resources: /tmp/41f6be9258fd76c3b2b61d9a/build-essential/libraries/xcode_command_line_tools.rb:172

Collaborators Metric

6.0.2 passed the Collaborator Metric with 7 collaborators. collaborators.