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

Select Status

The sbuild cookbook has been deprecated

Author provided reason for deprecation:

The sbuild cookbook has been deprecated and is no longer being maintained by its authors. Use of the sbuild cookbook is no longer recommended.


sbuild (4) Versions 0.3.3

Creates an sbuild host for debian packages.

cookbook 'sbuild', '~> 0.3.3', :supermarket
cookbook 'sbuild', '~> 0.3.3'
knife supermarket install sbuild
knife supermarket download sbuild
Quality 17%
= NOTICE: This cookbook uses LVM directly. Please understand what the recipe and definition do before using it on your system. It has been tested on Debian sid (unstable) only! That said, the packages hosted by Opscode on were built on a system using this cookbook :-). = DESCRIPTION: Installs and configures a server to be an 'sbuild' system to build debian packages from source. Provides a definition that will create logical volumes for snapshot use. = REQUIREMENTS: Chef 0.8.x+ is required for data bag use (see below). == Platform: This cookbook is very much Debian / Ubuntu specific. It has been tested mainly on Debian sid/unstable. == Cookbooks: * xfs * lvm == Server Configuration: This cookbook utilizes a 'users' data bag. The requirement here is for any users that will perform sbuilds have a groups attribute 'sbuild'. knife data bag show users [ "jtimberman" ] knife data bag show users jtimberman { "id": "jtimberman", "groups": "sbuild" } This will allow the cookbook to create user specific settings. You must create a volume group on your build server that will contain the logical volumes for sbuild's schroots. The default in the sbuild_lv define is 'buildvg', but you can name it whatever you like. See USAGE, below. = ATTRIBUTES: All attributes are under the node[:sbuild] space. * mailto - address to send mail about sbuilds, default 'root'. * key_id - sets the PGP key ID to use, default "". * pgp_options - default options for PGP, but commented out in config file (use debsign). * maintainer_name - package maintainer name, default "". * lv_size - size of logical volumes to create, default "5G" (should be enough for most systems). * snapshot_size - size of snapshots for schroots, default "4G" (should be enough for most systems). = USAGE: The default recipe will install a number of useful packages for building debian packages from source. It will also make sure the device mapper kernel module is loaded for LVM, create some nice configuration for users who are in the 'sbuild' group (see above about data bags). Finally, it will create a script to perform automated updates to schroot sources, to ensure your debootstrapped build environments have the latest packages. The schroots recipe contains some commented examples of using the sbuild_lv definition. The sbuild_lv definition does the heavy lifting. Here's an example, and what it does: sbuild_lv "lucid" do release "lucid" distro "ubuntu" vg "buildvg" end This will: # Create a logical volume named after the sbuild_lv (lucid) in the vg (buildvg), size will be lv_size (5G). # Create an XFS filesystem on the logical volume. Replace the 'execute mkfs.xfs' resource in the definition to use another filesystem if you prefer. # Create an schroot configuration for the named sbuild_lv (/etc/schroot/chroot.d/lucid). # Create a script that needs to be executed to finish setup of the schroot (/usr/local/bin/ The mk_chroot script should then be executed to finish creating the schroot. Since this does a debootstrap (debian installation), we don't run it within Chef, as it can be very time consuming to execute. The script itself performs the following: * Mounts the volume. * Runs debootstrap for the specified distro and release. * Sets up the APT sources.list to use in the schroot. * Creates a '/' script in the schroot that gets a few more release specific packages. * Runs the '/' within the schroot. * Prints some usage information on how to use the schroot it just created. = RESOURCES: Some resources that are helpful in building debian/ubuntu packages with sbuild: = LICENSE AND AUTHOR: Author:: Joshua Timberman (<>) Copyright:: 2010, 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.

Dependent cookbooks

xfs >= 0.0.0
lvm >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Collaborator Number Metric

0.3.3 failed this metric

Failure: Cookbook has 1 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric

0.3.3 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Foodcritic Metric

0.3.3 failed this metric

FC034: Unused template variables: sbuild/templates/default/
FC064: Ensure issues_url is set in metadata: sbuild/metadata.rb:1
FC065: Ensure source_url is set in metadata: sbuild/metadata.rb:1
FC066: Ensure chef_version is set in metadata: sbuild/metadata.rb:1
FC067: Ensure at least one platform supported in metadata: sbuild/metadata.rb:1
FC069: Ensure standardized license defined in metadata: sbuild/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

0.3.3 passed this metric

Testing File Metric

0.3.3 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Version Tag Metric

0.3.3 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must include a tag that matches this cookbook version number