X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=manifests%2Fbackports.pp;h=f7e85f59ed9744fdaaaa8ce7b46d9b788e23ce60;hb=3f6863ac4c97f834bebc811852452b073d202682;hp=3cac0b5b5bc54bf7420a145231c7a1d4e94c3b5d;hpb=33c296b963a433c6fe5584b0fd1148c7330c69d0;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/manifests/backports.pp b/manifests/backports.pp index 3cac0b5..f7e85f5 100644 --- a/manifests/backports.pp +++ b/manifests/backports.pp @@ -23,12 +23,6 @@ class apt::backports ( } $_key = $key } - unless is_hash($pin) { - unless (is_numeric($pin) or is_string($pin)) { - fail('pin must be either a string, number or hash') - } - } - if ($::apt::xfacts['lsbdistid'] == 'debian' or $::apt::xfacts['lsbdistid'] == 'ubuntu') { unless $location { $_location = $::apt::backports['location'] @@ -48,12 +42,24 @@ class apt::backports ( } } + if is_hash($pin) { + $_pin = $pin + } elsif is_numeric($pin) or is_string($pin) { + # apt::source defaults to pinning to origin, but we should pin to release + # for backports + $_pin = { + 'priority' => $pin, + 'release' => $_release, + } + } else { + fail('pin must be either a string, number or hash') + } + apt::source { 'backports': location => $_location, release => $_release, repos => $_repos, key => $_key, - pin => $pin, + pin => $_pin, } - }