|
@@ -3,6 +3,7 @@
|
|
|
|
|
|
define apt::pin(
|
|
|
$ensure = present,
|
|
|
+ $order = '',
|
|
|
$packages = '*',
|
|
|
$priority = 0,
|
|
|
$release = '',
|
|
@@ -14,6 +15,10 @@ define apt::pin(
|
|
|
|
|
|
$preferences_d = $apt::params::preferences_d
|
|
|
|
|
|
+ if $order != '' and !is_integer($order) {
|
|
|
+ fail('Only integers are allowed in the apt::pin order param')
|
|
|
+ }
|
|
|
+
|
|
|
if $release != '' {
|
|
|
$pin = "release a=${release}"
|
|
|
} elsif $origin != '' {
|
|
@@ -24,9 +29,13 @@ define apt::pin(
|
|
|
$pin = "release a=${name}"
|
|
|
}
|
|
|
|
|
|
+ $path = $order ? {
|
|
|
+ '' => "${preferences_d}/${name}.pref",
|
|
|
+ default => "${preferences_d}/${order}-${name}.pref",
|
|
|
+ }
|
|
|
file { "${name}.pref":
|
|
|
ensure => $ensure,
|
|
|
- path => "${preferences_d}/${name}.pref",
|
|
|
+ path => $path,
|
|
|
owner => root,
|
|
|
group => root,
|
|
|
mode => '0644',
|