From 2904008ee2cdc1751434346a08d226f6698db7b0 Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Wed, 9 Mar 2011 14:02:44 +0200 Subject: [PATCH] Added support for setting apt repository priority --- apt/manifests/init.pp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apt/manifests/init.pp b/apt/manifests/init.pp index ca3e0be..65b4580 100644 --- a/apt/manifests/init.pp +++ b/apt/manifests/init.pp @@ -197,6 +197,8 @@ define apt::package($ensure, $source) { # GPG key id. # $keyserver: # GPG keyserver uri. +# $priority: +# Set priority for this repository. # $use_proxy: # Use apt proxy (if set). Defaults to true. # $use_source: @@ -210,7 +212,8 @@ define apt::package($ensure, $source) { # keyserver => "hkp://keys.gnupg.net", # } # -define apt::repo($source, $dist="", $components="main", $key="", $keyserver="", $use_proxy=true, $use_source=false) { +define apt::repo($source, $dist="", $components="main", $key="", $keyserver="", + $priority="", $use_proxy=true, $use_source=false) { tag("bootstrap") @@ -271,4 +274,15 @@ define apt::repo($source, $dist="", $components="main", $key="", $keyserver="", } } + if $priority { + $origin = regsubst($source, "^([^:]+://)([^/]+)/.*$", "\\2") + file { "/etc/apt/preferences.d/${name}.pref": + ensure => present, + mode => 0644, + owner => root, + group => root, + content => "Package: *\nPin: origin ${origin}\nPin-Priority: ${priority}\n", + } + } + }