From 988a66b70585b8c03bfaed1d064744723b70e3e2 Mon Sep 17 00:00:00 2001 From: Adriaan Peeters Date: Tue, 14 Jul 2015 11:50:11 +0200 Subject: Check for strict_variables setting before using defined(), fixes compatibility with Puppet < 3.5.0 --- manifests/params.pp | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'manifests') diff --git a/manifests/params.pp b/manifests/params.pp index b7ba380..22c3052 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -10,16 +10,25 @@ class unattended_upgrades::params { $default_age = { 'min' => 2, 'max' => 0, } $default_upgradeable_packages = { 'download_only' => 0, 'debdelta' => 1, } - # Strict variables facts lookup compatibility - $xfacts = { - 'lsbdistid' => defined('$lsbdistid') ? { - true => $::lsbdistid, - default => undef, - }, - 'lsbdistcodename' => defined('$lsbdistcodename') ? { - true => $::lsbdistcodename, - default => undef, - }, + # prior to puppet 3.5.0, defined couldn't test if a variable was defined + # strict variables wasn't added until 3.5.0, so this should be fine. + if ! $::settings::strict_variables { + $xfacts = { + 'lsbdistid' => $::lsbdistid, + 'lsbdistcodename' => $::lsbdistcodename, + } + } else { + # Strict variables facts lookup compatibility + $xfacts = { + 'lsbdistid' => defined('$lsbdistid') ? { + true => $::lsbdistid, + default => undef, + }, + 'lsbdistcodename' => defined('$lsbdistcodename') ? { + true => $::lsbdistcodename, + default => undef, + }, + } } case $xfacts['lsbdistid'] { -- cgit v1.2.3