X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=manifests%2Fpin.pp;h=8e2873a9c042070dce835c30aa69aee094326ef2;hb=95beb15266d52e8f91a60b4cbe6d5086959b6b22;hp=7356a67497513a8575008c68a6927b3fb5fef4bb;hpb=feee023b24632b3bec03baa638dacde3ce1142f6;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/manifests/pin.pp b/manifests/pin.pp index 7356a67..8e2873a 100644 --- a/manifests/pin.pp +++ b/manifests/pin.pp @@ -2,22 +2,34 @@ # pin a release in apt, useful for unstable repositories define apt::pin( - $ensure = present, - $packages = '*', - $priority = 0, - $release = "${name}" + $ensure = present, + $packages = '*', + $priority = 0, + $release = '', + $origin = '', + $originator = '', ) { include apt::params $preferences_d = $apt::params::preferences_d + if $release != '' { + $pin = "release a=${release}" + } elsif $origin != '' { + $pin = "origin \"${origin}\"" + } elsif $originator != '' { + $pin = "release o=${originator}" + } else { + $pin = "release a=${name}" + } + file { "${name}.pref": ensure => $ensure, - path => "${preferences_d}/${name}", + path => "${preferences_d}/${name}.pref", owner => root, group => root, mode => '0644', - content => "# ${name}\nPackage: ${packages}\nPin: release a=${release}\nPin-Priority: ${priority}", + content => template("apt/pin.pref.erb"), } }