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

RSS

postfix_rpm (3) Versions 2.2.0

Creates rpm package for postfix.

Policyfile
Berkshelf
Knife
cookbook 'postfix_rpm', '= 2.2.0', :supermarket
cookbook 'postfix_rpm', '= 2.2.0'
knife supermarket install postfix_rpm
knife supermarket download postfix_rpm
README
Dependencies
Changelog
Quality 67%

postfix_rpm Cookbook

Chef cookbook
RPM
Travis
Gemnasium
[license][license]
[code of conduct][code of conduct]

Overview

Creates rpm package for postfix. The primary use case for this cookbook is to leverage Test Kitchen to:

  • create a pristine virtual machine
  • download, build, & package postfix source code

The newly-created RPM will be located at:

.
└── .products
    ├── postfix-x.y.z-r.el6.x86_64.rpm
    └── postfix-perl-scripts-x.y.z-r.el6.x86_64.rpm

Requirements

Cookbooks

The following cookbook is a dependency because it's used for optional functionality.

Platforms

The following platform is supported and tested under Test Kitchen:

  • CentosOS 6.5

Other RHEL family distributions are assumed to work.

Attributes

File / Attribute(s) Description
[default.rb](attributes/default.rb)
node['postfix']['devel_packages'] array of base *-devel packages required to build postfix
node['postfix']['name'] name to be used for RPM
node['postfix']['version'] version to be used for RPM
node['postfix']['release'] release to be used for RPM
node['postfix']['pre_tidy'] set this to true to cleanup before build
node['postfix']['post_tidy'] set this to true to cleanup after build
   
Options
node['postfix']['options']['ipv6] set this to true to enable IPv6
node['postfix']['options']['ldap] set this to true to enable LDAP
node['postfix']['options']['mysql] set this to true to enable MySQL
node['postfix']['options']['pcre] set this to true to enable PCRE
node['postfix']['options']['pflogsumm] set this to true to enable pflogsumm
node['postfix']['options']['pgsql] set this to true to enable PostgreSQL
node['postfix']['options']['sasl] set this to true to enable Cyrus-SASL
node['postfix']['options']['sqlite] set this to true to enable SQLite
node['postfix']['options']['smtputf8'] set this to true to enable SMTPUTF8 (requires libicu > 46)
node['postfix']['options']['tls] set this to true to enable TLS

Recipes

This cookbook provides one main recipe for building a binary RPM and an optional recipe for downloading a source RPM.

Name Description
[default](recipes/default.rb) use this recipe to build a binary RPM
[source](recipes/source.rb) use this recipe to download a source RPM (optional--for RPM development)

Update

To update to a new version of postfix, do the following:

File / Section(s) Description
[.kitchen.yml](.kitchen.yml)
attributes/postfix/version update to new postfix version
attributes/postfix/release reset to 0 for new postfix version (increment if new rpm release of same postfix version)
   
[SOURCES](templates/default/SOURCES)
postfix-x.y.z-files.patch create to match postfix version; update patch, if necessary
   
[postfix.spec.erb](templates/default/SPECS/postfix.spec.erb)
%changelog update changelog with pertinent information
   
[postfix_spec.rb](test/integration/postfix/serverspec/postfix_spec.rb)
postfix_ver update to match postfix version
release update to match release
   
[README.md](README.md)
[RPM] badge update to match postfix version
[rpm] link update to match postfix version

Run rake to ensure syntax, lint, and unit tests pass.

$ bundle exec rake

Use Test Kitchen to run integration tests (converge, verify, and destroy the node if everything tests OK).

$ bundle exec kitchen test

Create a feature branch, stage & commit the changes, and push the branch.

$ git checkout -b branch_name
$ git add -A
$ git commit
$ git push --set-upstream origin branch_name

Create a pull request and merge once travis-ci tests pass.

Follow instructions in [PUBLISH](PUBLISH.md) to publish cookbook to Chef Supermarket.

Usage

Use Test Kitchen to converge the node and retrieve the resultant RPM from .products/.

$ bundle exec kitchen converge

Alternatively, the following command will converge the node and automatically destroy it when finished. Retrieve the RPM from .products/.

$ bundle exec kitchen test

License & Authors

Copyright 2014-2017 Doc Walker

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

yum-epel ~> 2.1.1

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

CHANGELOG

v2.2.0 (2017-02-19)

Full Changelog

Implemented enhancements:

Merged pull requests:

v2.1.1 (2017-02-16)

Full Changelog

v2.1.0 (2017-02-16)

Full Changelog

Implemented enhancements:

v2.0.0 (2017-02-15)

Full Changelog

Implemented enhancements:

v1.2.0 (2017-02-14)

Full Changelog

Implemented enhancements:

Merged pull requests:

v1.1.0 (2017-02-14)

Full Changelog

Fixed bugs:

Merged pull requests:

v1.0.3 (2014-12-26)

Full Changelog

Fixed bugs:

  • Fix rake knife task for travis-ci #65 (4-20ma)

Merged pull requests:

v1.0.2 (2014-08-31)

Full Changelog

Fixed bugs:

  • Fix cookbook name in .kitchen.yml #45 (4-20ma)

v1.0.1 (2014-08-31)

Full Changelog

Implemented enhancements:

Merged pull requests:

v1.0.0 (2014-08-31)

Full Changelog

Merged pull requests:

v0.3.0 (2014-06-21)

Full Changelog

Implemented enhancements:

Merged pull requests:

  • Refactor to facilitate version updates #27 (4-20ma)
  • Update rubocop gem to v0.23.0 #25 (4-20ma)
  • Update chefspec gem to v4.0.0 #23 (4-20ma)
  • Update foodcritic gem to v4.0.0 #21 (4-20ma)

v0.2.0 (2014-05-08)

Full Changelog

Merged pull requests:

  • Use bundled kitchen in README #19 (4-20ma)
  • Update README products version #18 (4-20ma)
  • Refactor integration specs version, rel #15 (4-20ma)
  • Adjust release version to 0 #13 (4-20ma)
  • Remove -b command switch from init.d script #11 (4-20ma)

v0.1.1 (2014-05-07)

Full Changelog

Merged pull requests:

  • Convert README recipe list to table #8 (4-20ma)

v0.1.0 (2014-05-07)

Implemented enhancements:

  • Add integration specs #4 (jhx)

Merged pull requests:

  • Add file tree to README #6 (jhx)
  • Add Berksfile to rubocop checks #2 (jhx)

* This Change Log was automatically generated by github_changelog_generator

Collaborator Number Metric
            

2.2.0 failed this metric

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

Foodcritic Metric
            

2.2.0 passed this metric

License Metric
            

2.2.0 passed this metric