From 70463c98b076639413199b7ae2cfe9328c2ba005 Mon Sep 17 00:00:00 2001 From: Alex Mace Date: Thu, 27 Nov 2014 12:33:25 +0000 Subject: [PATCH 1/6] Added the mailparse extension --- manifests/extension/mailparse.pp | 51 ++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 manifests/extension/mailparse.pp diff --git a/manifests/extension/mailparse.pp b/manifests/extension/mailparse.pp new file mode 100644 index 0000000..2c92c01 --- /dev/null +++ b/manifests/extension/mailparse.pp @@ -0,0 +1,51 @@ +# Installs a php extension for a specific version of php. +# +# Usage: +# +# php::extension::mailparse { 'mailparse for 5.4.10': +# php => '5.4.10', +# version => '1.0.6' +# } +# +define php::extension::mailparse( + $php, + $version = '1.0.6' +) { + include boxen::config + + require php::config + # Require php version eg. php::5_4_10 + # This will compile, install and set up config dirs if not present + require join(['php', join(split($php, '[.]'), '_')], '::') + + + $extension = 'mailparse' + $package_name = "mailparse-${version}" + $url = "http://pecl.php.net/get/mailparse-${version}.tgz" + + # Final module install path + $module_path = "${php::config::root}/versions/${php}/modules/${extension}.so" + + # Additional options + $configure_params = "" + + php_extension { $name: + extension => $extension, + version => $version, + package_name => $package_name, + package_url => $url, + homebrew_path => $boxen::config::homebrewdir, + phpenv_root => $php::config::root, + php_version => $php, + cache_dir => $php::config::extensioncachedir, + configure_params => $configure_params, + } + + # Add config file once extension is installed + + file { "${php::config::configdir}/${php}/conf.d/${extension}.ini": + content => template('php/extensions/generic.ini.erb'), + require => Php_extension[$name], + } + +} From e4f8d64e31da55b42ae9b90379b5115d878c2ffb Mon Sep 17 00:00:00 2001 From: Alex Mace Date: Thu, 27 Nov 2014 12:39:21 +0000 Subject: [PATCH 2/6] Corrected the version number of mailparse --- manifests/extension/mailparse.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/extension/mailparse.pp b/manifests/extension/mailparse.pp index 2c92c01..94b6ef2 100644 --- a/manifests/extension/mailparse.pp +++ b/manifests/extension/mailparse.pp @@ -9,7 +9,7 @@ # define php::extension::mailparse( $php, - $version = '1.0.6' + $version = '2.1.6' ) { include boxen::config From 158ff6c20c9b604eb3eb21bed48bfac5e7cac460 Mon Sep 17 00:00:00 2001 From: Alex Mace Date: Mon, 27 Apr 2015 23:02:27 +0100 Subject: [PATCH 3/6] Updates based on what other extensions are doing, and fixing a lart error --- manifests/extension/mailparse.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/extension/mailparse.pp b/manifests/extension/mailparse.pp index 94b6ef2..c83ee66 100644 --- a/manifests/extension/mailparse.pp +++ b/manifests/extension/mailparse.pp @@ -16,7 +16,7 @@ require php::config # Require php version eg. php::5_4_10 # This will compile, install and set up config dirs if not present - require join(['php', join(split($php, '[.]'), '_')], '::') + php_require($php) $extension = 'mailparse' @@ -27,7 +27,7 @@ $module_path = "${php::config::root}/versions/${php}/modules/${extension}.so" # Additional options - $configure_params = "" + $configure_params = '' php_extension { $name: extension => $extension, From e678619ebf88bd8ad1821d443c7a721a56344417 Mon Sep 17 00:00:00 2001 From: Alex Mace Date: Mon, 27 Apr 2015 23:04:45 +0100 Subject: [PATCH 4/6] A spec file added for the mailparse extension --- .../php_extension_mailparse_spec.rb | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 spec/defines/extensions/php_extension_mailparse_spec.rb diff --git a/spec/defines/extensions/php_extension_mailparse_spec.rb b/spec/defines/extensions/php_extension_mailparse_spec.rb new file mode 100644 index 0000000..cb492a3 --- /dev/null +++ b/spec/defines/extensions/php_extension_mailparse_spec.rb @@ -0,0 +1,35 @@ +require 'spec_helper' + +describe "php::extension::mailparse" do + let(:facts) { default_test_facts } + let(:title) { "mailparse for 5.4.17" } + let(:params) do + { + :php => "5.4.17", + :version => "2.1.6" + } + end + + it do + should contain_class("boxen::config") + should contain_class("php::config") + should contain_php__version("5.4.17") +# +# should contain_php_extension("mailparse for 5.4.17").with({ +# :extension => "mailparse", +# :version => "2.1.6", +# :package_name => "mailparse-2.1.6", +# :package_url => "http://pecl.php.net/get/mailparse-2.1.6.tgz", +# :homebrew_path => "/test/boxen/homebrew", +# :phpenv_root => "/test/boxen/phpenv", +# :php_version => "5.4.17", +# :cache_dir => "/test/boxen/data/php/cache/extensions", +# :provider => "pecl", +# }) +# +# should contain_file("/test/boxen/config/php/5.4.17/conf.d/mailparse.ini").with({ +# :content => File.read("spec/fixtures/mailparse.ini"), +# :require => "Php_extension[mailparse for 5.4.17]" +# }) + end +end From 01f4930aa27181224ea738d56592f43a6a93a962 Mon Sep 17 00:00:00 2001 From: Alex Mace Date: Mon, 27 Apr 2015 23:48:06 +0100 Subject: [PATCH 5/6] Forgot to uncomment this part of the mailparse spec --- .../php_extension_mailparse_spec.rb | 34 +++++++++---------- spec/fixtures/mailparse.ini | 1 + 2 files changed, 18 insertions(+), 17 deletions(-) create mode 100644 spec/fixtures/mailparse.ini diff --git a/spec/defines/extensions/php_extension_mailparse_spec.rb b/spec/defines/extensions/php_extension_mailparse_spec.rb index cb492a3..6d11522 100644 --- a/spec/defines/extensions/php_extension_mailparse_spec.rb +++ b/spec/defines/extensions/php_extension_mailparse_spec.rb @@ -14,22 +14,22 @@ should contain_class("boxen::config") should contain_class("php::config") should contain_php__version("5.4.17") -# -# should contain_php_extension("mailparse for 5.4.17").with({ -# :extension => "mailparse", -# :version => "2.1.6", -# :package_name => "mailparse-2.1.6", -# :package_url => "http://pecl.php.net/get/mailparse-2.1.6.tgz", -# :homebrew_path => "/test/boxen/homebrew", -# :phpenv_root => "/test/boxen/phpenv", -# :php_version => "5.4.17", -# :cache_dir => "/test/boxen/data/php/cache/extensions", -# :provider => "pecl", -# }) -# -# should contain_file("/test/boxen/config/php/5.4.17/conf.d/mailparse.ini").with({ -# :content => File.read("spec/fixtures/mailparse.ini"), -# :require => "Php_extension[mailparse for 5.4.17]" -# }) + + should contain_php_extension("mailparse for 5.4.17").with({ + :extension => "mailparse", + :version => "2.1.6", + :package_name => "mailparse-2.1.6", + :package_url => "http://pecl.php.net/get/mailparse-2.1.6.tgz", + :homebrew_path => "/test/boxen/homebrew", + :phpenv_root => "/test/boxen/phpenv", + :php_version => "5.4.17", + :cache_dir => "/test/boxen/data/php/cache/extensions", + :configure_params => '', + }) + + should contain_file("/test/boxen/config/php/5.4.17/conf.d/mailparse.ini").with({ + :content => File.read("spec/fixtures/mailparse.ini"), + :require => "Php_extension[mailparse for 5.4.17]" + }) end end diff --git a/spec/fixtures/mailparse.ini b/spec/fixtures/mailparse.ini new file mode 100644 index 0000000..98b983e --- /dev/null +++ b/spec/fixtures/mailparse.ini @@ -0,0 +1 @@ +extension=/test/boxen/phpenv/versions/5.4.17/modules/mailparse.so From a995e4602f79df27183cd98752840d91d1ea5f26 Mon Sep 17 00:00:00 2001 From: Alex Mace Date: Wed, 13 May 2015 21:23:04 +0100 Subject: [PATCH 6/6] Updated the comment to remove the reference to v1 syntax --- manifests/extension/mailparse.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/extension/mailparse.pp b/manifests/extension/mailparse.pp index c83ee66..5435cdb 100644 --- a/manifests/extension/mailparse.pp +++ b/manifests/extension/mailparse.pp @@ -14,8 +14,8 @@ include boxen::config require php::config - # Require php version eg. php::5_4_10 - # This will compile, install and set up config dirs if not present + + # Ensure that the specified version of PHP is installed. php_require($php)