diff --git a/apt/manifests/init.pp b/apt/manifests/init.pp index 596ce0d..395c903 100644 --- a/apt/manifests/init.pp +++ b/apt/manifests/init.pp @@ -163,6 +163,10 @@ define apt::package($ensure, $source) { # GPG key id. # $keyserver: # GPG keyserver uri. +# $use_proxy: +# Use apt proxy (if set). Defaults to true. +# $use_source: +# Use source packages. Defaults to false. # # === Sample usage # @@ -172,7 +176,7 @@ define apt::package($ensure, $source) { # keyserver => "hkp://keys.gnupg.net", # } # -define apt::repo($source, $dist="", $components="main", $key="", $keyserver="") { +define apt::repo($source, $dist="", $components="main", $key="", $keyserver="", $use_proxy=true, $use_source=false) { include apt @@ -182,18 +186,24 @@ define apt::repo($source, $dist="", $components="main", $key="", $keyserver="") $dist_real = $lsbdistcodename } - if $apt_proxy { + if $apt_proxy and $use_proxy { $source_real = regsubst($source, "^([^:]+://)(.+)$", "\\1$apt_proxy/\\2") } else { $source_real = $source } + if $use_source { + $content = "deb ${source_real} ${dist_real} ${components}\ndeb-src ${source_real} ${dist_real} ${components}\n" + } else { + $content = "deb ${source_real} ${dist_real} ${components}\n" + } + file { "/etc/apt/sources.list.d/${name}.list": ensure => present, mode => 0644, owner => root, group => root, - content => "deb ${source_real} ${dist_real} ${components}\ndeb-src ${source_real} ${dist_real} ${components}\n", + content => $content, notify => Exec["apt-get-update"], }