X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=manifests%2Fparams.pp;h=32e4dbae6f6a936f109fbd73d373fd26c8733272;hb=23855f199bed69cdd50aff411942c7704a40c824;hp=cf6547a44ccc205936e38c0549241a1c6046d626;hpb=0cbd24a4e59daa7c9e14d35ad7f38e00a93ba1dd;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/manifests/params.pp b/manifests/params.pp index cf6547a..32e4dba 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -4,32 +4,45 @@ class apt::params { fail('This module only works on Debian or derivatives like Ubuntu') } - # Strict variables facts lookup compatibility - $xfacts = { - 'lsbdistcodename' => defined('$lsbdistcodename') ? { - true => $::lsbdistcodename, - default => undef, - }, - 'lsbdistrelease' => defined('$lsbdistrelease') ? { - true => $::lsbdistrelease, - default => undef, - }, - 'lsbmajdistrelease' => defined('$lsbmajdistrelease') ? { - true => $::lsbmajdistrelease, - default => undef, - }, - 'lsbdistdescription' => defined('$lsbdistdescription') ? { - true => $::lsbdistdescription, - default => undef, - }, - 'lsbminordistrelease' => defined('$lsbminordistrelease') ? { - true => $::lsbminordistrelease, - default => undef, - }, - 'lsbdistid' => defined('$lsbdistid') ? { - true => $::lsbdistid, - 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 versioncmp($::puppetversion, '3.5.0') < 0 { + $xfacts = { + 'lsbdistcodename' => $::lsbdistcodename, + 'lsbdistrelease' => $::lsbdistrelease, + 'lsbmajdistrelease' => $::lsbmajdistrelease, + 'lsbdistdescription' => $::lsbdistdescription, + 'lsbminordistrelease' => $::lsbminordistrelease, + 'lsbdistid' => $::lsbdistid, + } + } else { + # Strict variables facts lookup compatibility + $xfacts = { + 'lsbdistcodename' => defined('$lsbdistcodename') ? { + true => $::lsbdistcodename, + default => undef, + }, + 'lsbdistrelease' => defined('$lsbdistrelease') ? { + true => $::lsbdistrelease, + default => undef, + }, + 'lsbmajdistrelease' => defined('$lsbmajdistrelease') ? { + true => $::lsbmajdistrelease, + default => undef, + }, + 'lsbdistdescription' => defined('$lsbdistdescription') ? { + true => $::lsbdistdescription, + default => undef, + }, + 'lsbminordistrelease' => defined('$lsbminordistrelease') ? { + true => $::lsbminordistrelease, + default => undef, + }, + 'lsbdistid' => defined('$lsbdistid') ? { + true => $::lsbdistid, + default => undef, + }, + } } $root = '/etc/apt' @@ -69,10 +82,10 @@ class apt::params { } $purge_defaults = { - 'sources.list' => true, - 'sources.list.d' => true, - 'preferences' => true, - 'preferences.d' => true, + 'sources.list' => false, + 'sources.list.d' => false, + 'preferences' => false, + 'preferences.d' => false, } $source_key_defaults = { @@ -88,35 +101,36 @@ class apt::params { } case $xfacts['lsbdistid'] { - 'ubuntu', 'debian': { - $distid = $xfacts['lsbdistid'] - $distcodename = $xfacts['lsbdistcodename'] - } - 'linuxmint': { - if $xfacts['lsbdistcodename'] == 'debian' { - $distid = 'debian' - $distcodename = 'wheezy' - } else { - $distid = 'ubuntu' - $distcodename = $xfacts['lsbdistcodename'] ? { - 'qiana' => 'trusty', - 'petra' => 'saucy', - 'olivia' => 'raring', - 'nadia' => 'quantal', - 'maya' => 'precise', + 'debian': { + case $xfacts['lsbdistcodename'] { + 'squeeze': { + $backports = { + 'location' => 'http://backports.debian.org/debian-backports', + 'key' => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', + 'repos' => 'main contrib non-free', + } + } + default: { + $backports = { + 'location' => 'http://ftp.debian.org/debian/', + 'key' => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', + 'repos' => 'main contrib non-free', + } } } + + $ppa_options = undef + $ppa_package = undef + } - undef: { - fail('Unable to determine lsbdistid, is lsb-release installed?') - } - default: { - fail("Unsupported lsbdistid (${::lsbdistid})") - } - } - case $distid { 'ubuntu': { - case $distcodename { + $backports = { + 'location' => 'http://archive.ubuntu.com/ubuntu', + 'key' => '630239CC130E1A7FD81A27B140976EAF437D05B5', + 'repos' => 'main universe multiverse restricted', + } + + case $xfacts['lsbdistcodename'] { 'lucid': { $ppa_options = undef $ppa_package = 'python-software-properties' @@ -131,13 +145,17 @@ class apt::params { } default: { $ppa_options = '-y' - $ppa_package = 'software-properties-common' + $ppa_package = 'python-software-properties' } } } - '', default: { + undef: { + fail('Unable to determine lsbdistid, is lsb-release installed?') + } + default: { $ppa_options = undef $ppa_package = undef + $backports = undef } } }