cookbook 'postfix_rpm', '= 2.2.0'
postfix_rpm (3) Versions 2.2.0 Follow0
Creates rpm package for postfix.
cookbook 'postfix_rpm', '= 2.2.0', :supermarket
knife supermarket install postfix_rpm
knife supermarket download postfix_rpm
postfix_rpm Cookbook
[][license]
[][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
- Author:: Doc Walker (4-20ma@wvfans.net)
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)
Implemented enhancements:
- Add CODE_OF_CONDUCT #90 (4-20ma)
- Use github_changelog_generator gem #88 (4-20ma)
- Use version gem v1.0.0 #87 (4-20ma)
Merged pull requests:
- Update PUBLISH with config details #92 (4-20ma)
- Unify README markdown formatting #91 (4-20ma)
- Add LICENSE #89 (4-20ma)
v2.1.1 (2017-02-16)
v2.1.0 (2017-02-16)
Implemented enhancements:
v2.0.0 (2017-02-15)
Implemented enhancements:
v1.2.0 (2017-02-14)
Implemented enhancements:
Merged pull requests:
- Update yum-epel cookbook to v2.1.1 #83 (4-20ma)
- Update TODO #82 (4-20ma)
- Update kitchen-vagrant to v1.0.2 #81 (4-20ma)
v1.1.0 (2017-02-14)
Fixed bugs:
Merged pull requests:
- Update postfix source url #80 (4-20ma)
- Update kitchen-vagrant gem to v1.0.1 #77 (4-20ma)
- Update foodcritic gem to v9.0.0 #76 (4-20ma)
- Update rubocop gem to v0.47.1 #75 (4-20ma)
- Replace emeril with stove #74 (4-20ma)
- Add Gemfile.lock to repo #73 (4-20ma)
- Update project to ruby-2.3.1 #72 (4-20ma)
- Update README link layout #71 (4-20ma)
- Update ruby to v2.2.0 #69 (4-20ma)
v1.0.3 (2014-12-26)
Fixed bugs:
Merged pull requests:
- Add RELEASE document #67 (4-20ma)
- Update chefspec to v4.2.0 #63 (4-20ma)
- Adjust style of README links #61 (4-20ma)
- Add cookbook version badge to README #59 (4-20ma)
- Update ruby to v2.1.5 #57 (4-20ma)
- Update rubocop v0.28.0 #56 (4-20ma)
- Update chefspec to v4.1.1 #55 (4-20ma)
- Update berkshelf to v3.2.2 #54 (4-20ma)
- Update README to use shields.io badges #49 (4-20ma)
- Update travis-ci to containers, caching #47 (4-20ma)
v1.0.2 (2014-08-31)
Fixed bugs:
v1.0.1 (2014-08-31)
Implemented enhancements:
Merged pull requests:
v1.0.0 (2014-08-31)
Merged pull requests:
- Rename cookbook #39 (4-20ma)
- Update emeril gem to v0.8.0 #37 (4-20ma)
- Update to ruby-2.1.2 #35 (4-20ma)
- Update chefspec gem to v4.0.2 #33 (4-20ma)
- Update rubocop gem to v0.24.1 #31 (4-20ma)
v0.3.0 (2014-06-21)
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)
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)
Merged pull requests:
v0.1.0 (2014-05-07)
Implemented enhancements:
Merged pull requests:
* 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
2.2.0 failed this metric
2.2.0 passed this metric
License Metric
2.2.0 passed this metric
2.2.0 passed this metric