# ppa.pp
define apt::ppa(
- $release = $::lsbdistcodename
+ $release = $::lsbdistcodename,
+ $options = "-y"
) {
include apt::params
include apt::update
fail('lsbdistcodename fact not available: release parameter required')
}
- $filename_without_slashes = regsubst($name, '/', '-', G)
- $filename_without_dots = regsubst($filename_without_slashes, '\.', '_', G)
- $filename_without_ppa = regsubst($filename_without_dots, '^ppa:', '', G)
+ $filename_without_slashes = regsubst($name, '/', '-', 'G')
+ $filename_without_dots = regsubst($filename_without_slashes, '\.', '_', 'G')
+ $filename_without_ppa = regsubst($filename_without_dots, '^ppa:', '', 'G')
$sources_list_d_filename = "${filename_without_ppa}-${release}.list"
$package = $::lsbdistrelease ? {
}
exec { "add-apt-repository-${name}":
environment => $proxy_env,
- command => "/usr/bin/add-apt-repository ${name}",
+ command => "/usr/bin/add-apt-repository ${options} ${name}",
creates => "${sources_list_d}/${sources_list_d_filename}",
logoutput => 'on_failure',
require => [
let :package do
"#{platform[:package]}"
end
+ let :options do
+ "-y"
+ end
['ppa:dans_ppa', 'dans_ppa','ppa:dans-daily/ubuntu'].each do |t|
describe "with title #{t}" do
let :pre_condition do
}
it { should contain_exec("add-apt-repository-#{t}").with(
- 'command' => "/usr/bin/add-apt-repository #{t}",
+ 'command' => "/usr/bin/add-apt-repository #{options} #{t}",
'creates' => "/etc/apt/sources.list.d/#{filename}",
'require' => ["File[/etc/apt/sources.list.d]", "Package[#{package}]"],
'notify' => "Exec[apt_update]"
"http_proxy=http://user:pass@proxy:8080",
"https_proxy=http://user:pass@proxy:8080",
],
- 'command' => "/usr/bin/add-apt-repository #{title}",
+ 'command' => "/usr/bin/add-apt-repository #{options} #{title}",
'creates' => "/etc/apt/sources.list.d/#{filename}",
'require' => ["File[/etc/apt/sources.list.d]", "Package[#{package}]"],
'notify' => "Exec[apt_update]"