cookbook 'perl', '= 7.0.0'
perl
(46) Versions
7.0.0
-
Follow48
Installs perl and provides a resource for maintaining CPAN modules
cookbook 'perl', '= 7.0.0', :supermarket
knife supermarket install perl
knife supermarket download perl
perl Cookbook
Manages Perl installation and provides cpan_module
, to install modules from... CPAN.
Requirements
Platforms
- Debian/Ubuntu/Mint
- RHEL/CentOS/Scientific/Amazon/Oracle
- Fedora
- openSUSE
- Windows
Chef
- Chef 12.7+
Cookbooks
- none
Recipes
-
default
- On Linux installs perl packages and pulls cpanm from Github. On Windows installs the Strawberry Perl Chocolatey package. Requires Chocolatey to be installed prior to running this cookbook, which can be done with the chocolatey cookbook from the Supermarket.
Attributes
The cookbook ships with a sane set of platform specific attributes for installing perl as well as cpanm. There should be no need to modify these attributes to use this cookbook.
-
node['perl']['packages']
- platform specific packages installed by default recipe -
node['perl']['cpanm']['path']
- platform specific path forcpanm
binary to live -
node['perl']['cpanm']['url']
- URL to download cpanm script from (*nix only) -
node['perl']['cpanm']['checksum']
- checksum for the above remote file (*nix only) -
node['perl']['version']
- version of perl to install. (windows only) -
node['perl']['cpanm']['path']
- The path to the cpanm binary. On *nix systems this is where the file will be installed. On Windows it's part of Strawberry Perl so no additional installation is required. -
node['perl']['cpanm']['suppress_diff']
- Whether or not to suppress the diff of the cpanm file.
Resources
cpan_module
Actions
-
:install
- install the module (default action) -
:uninstall
- uninstall the module
Properties
-
module_name
- The name of the module if it's different than the name of the resource property -
force
- To force the install within cpanm (default: false) -
test
- To do a test install (default: false) -
version
- Any version string cpanm would find acceptable -
cwd
- A path to change into before running cpanm
Examples
To install a module from CPAN:
cpan_module 'App::Munchies'
Optionally, installation can forced with the 'force' parameter.
cpan_module 'App::Munchies' force true end
You can also use cpanm's version mechanism to grab a specific version, or glob a version.
Exactly version 1.01 of App::Munchies
will be installed:
cpan_module 'App::Munchies' version '== 1.01' end
At least version 1.01 of App::Munchies
will be installed:
cpan_module 'App::Munchies' version '1.01' end
At least version 1.01 will be installed, but not version 2:
cpan_module 'App::Munchies' version '>= 1.01, < 2.0' end
Additionally, you can use the cpan_module
LWRP to delete a given package (uses cpanm's --uninstall
param)
cpan_module 'App::Munchies' action :uninstall end
Maintainers
This cookbook is maintained by Chef's Community Cookbook Engineering team. Our goal is to improve cookbook quality and to aid the community in contributing to cookbooks. To learn more about our team, process, and design goals see our team documentation. To learn more about contributing to cookbooks like this see our contributing documentation, or if you have general questions about this cookbook come chat with us in #cookbok-engineering on the Chef Community Slack
License
Copyright: 2009-2017, 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
This cookbook has no specified dependencies.
Contingent cookbooks
perl Cookbook CHANGELOG
This file is used to list changes made in each version of the perl cookbook.
7.0.0 (2018-07-24)
- Remove windows cookbook dependency and require Chef 13.4+
6.0.1 (2018-02-16)
- Allow suppressing the
cpanm
diff with a new attribute - Remove the ChefSpec matchers that are autogenerated now
6.0.0 (2017-11-27)
Breaking changes
- On Windows this cookbook now uses the Chocolatey package manager to install Strawberry Perl instead of downloading the zip file and manually installing it. This does require chocolatey to first be installed on the system and will use the C:\strawberry\perl path
Other Changes
- Fixed Amazon Linux support on Chef 13
- Removed build-essential from the Berksfile since it wasn't needed there
- Fixed cpan_module resource to work on Windows as well
- Added Windows 2016 Testing
- Improved attribute and resource documentation in the readme
5.3.0 (2017-11-27)
- Fixing the removal of the leading
v
and the conversion of the underscores to dots in Perl module versions when the version strings already have dots (ex: v1.2.0) - Enable FC016 testing again
- Use the latest cpanm which has 4 years of bug fixes and enhancements
5.2.1 (2017-08-30)
- Do not use an explicit owner and group on Windows. Let Chef do the right thing here which prevents breakage when the Administrator account has been renamed
5.2.0 (2017-05-06)
- Fix license string to be a SPDX standard license string
- Simplify true/false statement
- Depend on a modern windows cookbook
- Require Chef 12.7+ to workaround an action_class bug
5.1.0 (2017-03-01)
- Resolve resource cloning in the test cookbook
- Test with Local Delivery instead of Rake
- Use the root_group attribute from Ohai instead of defining it ourselves
- Use multi-package to speed up installs in the default recipe
- Don't use "module" as a resource property since its reserved. Instead use module_name and wire it up so a user can actually define a module name here instead of the module name coming from the name of the resource
5.0.0 (2017-02-27)
- Convert the existing HWRP to a custom resource and require Chef 12.5 and later
4.0.0 (2016-09-03)
- Testing updates
- Require Chef 12 or later
v3.1.0 (2016-08-05)
- Added support for SUSE / openSUSE and IBM zlinux
v3.0.0 (2016-04-07)
- Removed installation of the libwww-perl package, which is not required for Perl to function out of the box and can be installed by CPAN instead
- Resolved Chef 13 compatibility warnings in the cpan_module provider
- Updated the Windows Perl download URL to the new server
- Updated Perl to 5.22.1.3 on Windows
- Added the windows cookbook as a dependency so the Windows install converges
- Added module install / uninstall to the default Test Kitchen suite
- Added a basic Kitchen Inspec test to ensure perl is installed
- Added build-essential to the test cookbook so module installs would complete
- Added perl-devel to RHEL 6+ hosts
v2.0.0 (2015-09-24)
- Rewrote cpan_module definition as a LWRP with Chefspec tests and matchers
- Add the ability to select version in the cpan_module LWRP
- Fixed cpan_module incompatibility with Chef 12
- Fixed download location for cpanm to prevent failures on the redirect
- Removed Chef 10 compatibility. This cookbook now requires 11+
- Added libwww-perl installation on Debian systems
- Added support for RHEL/CentOS 7 and Fedora to the default.rb recipe
- Added source_url and issues_url metadata
- Added a chefignore file to limit files uploaded to the server
- Updated Contributing and Testing docs
- Added a rakefile for simplified testing
- Added maintainers.md and maintainers.toml file and a Rake task for generating MD from TOML
- Updated platforms tested in Kitchen CI and update the Kitchen config format
- Updated to the standard chef .rubocop.yml file
- Updated all testing and development gems to the latest
- Add basic Chefspec test
- Updated Travis CI to test on modern ruby versions and reenabled rspec and foodcritic testing
- Added cookbook version and Travis CI badges to the readme
- Added a .foodcritic file to skip FC015
- Removed all references to Opscode
- Remove the Gemfile.lock that shouldn't have been committed
v1.2.4 (2014-06-16)
- [COOK-4725] Use windows_path to set the PATH
v1.2.2
New Feature
- COOK-4013 - add omnios support to perl cookbook
v1.2.0
Improvement
v1.1.2
Bug
- [COOK-2973]: perl cookbook has foodcritic errors
v1.1.0
- [COOK-1765] - Install Strawberry Perl on Windows in Perl Cookbook
v1.0.2
- [COOK-1300] - add support for Mac OS X
v1.0.0
- [COOK-1129] - move lists of perl packages to attributes by platform
- [COOK-1279] - resolve regression from COOK-1129
- [COOK-1299] - use App::cpanminus (cpanm) to install "cpan packages"
v0.10.2
- [COOK-1279] Re-factor recipe and fix platform_version 5 bug for redhat family platforms
v0.10.1
- [COOK-1129] centos/redhat needs the CPAN RPM installed
v0.10.0
- Current released version
Collaborator Number Metric
7.0.0 failed this metric
Failure: Cookbook has 1 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
7.0.0 passed this metric
Foodcritic Metric
7.0.0 passed this metric
No Binaries Metric
7.0.0 passed this metric
Testing File Metric
7.0.0 passed this metric
Version Tag Metric
7.0.0 passed this metric
7.0.0 failed this metric
7.0.0 passed this metric
Foodcritic Metric
7.0.0 passed this metric
No Binaries Metric
7.0.0 passed this metric
Testing File Metric
7.0.0 passed this metric
Version Tag Metric
7.0.0 passed this metric
7.0.0 passed this metric
7.0.0 passed this metric
Testing File Metric
7.0.0 passed this metric
Version Tag Metric
7.0.0 passed this metric
7.0.0 passed this metric
7.0.0 passed this metric