Move Package['python-software-properties'] to apt:ppa
Also updates the apt-update in Apt::Ppa to use $apt::params::provider instead of aptitude.
This commit is contained in:
parent
669f5b51fb
commit
0ffe484c7c
4 changed files with 23 additions and 14 deletions
|
@ -33,10 +33,6 @@ class apt(
|
|||
|
||||
validate_bool($purge_sources_list, $purge_sources_list_d)
|
||||
|
||||
if ! defined(Package['python-software-properties']) {
|
||||
package { 'python-software-properties': }
|
||||
}
|
||||
|
||||
$sources_list_content = $purge_sources_list ? {
|
||||
false => undef,
|
||||
true => "# Repos managed by puppet.\n",
|
||||
|
|
|
@ -20,9 +20,14 @@ define apt::ppa(
|
|||
$filename_without_ppa = regsubst($filename_without_slashes, '^ppa:','','G')
|
||||
$sources_list_d_filename = "${filename_without_ppa}-${release}.list"
|
||||
|
||||
if ! defined(Package['python-software-properties']) {
|
||||
package { 'python-software-properties': }
|
||||
}
|
||||
|
||||
exec { "add-apt-repository-${name}":
|
||||
command => "/usr/bin/add-apt-repository ${name}",
|
||||
creates => "${sources_list_d}/${sources_list_d_filename}",
|
||||
require => Package['python-software-properties'],
|
||||
notify => Exec['apt_update'],
|
||||
}
|
||||
|
||||
|
|
|
@ -41,8 +41,6 @@ describe 'apt', :type => :class do
|
|||
|
||||
it { should include_class("apt::params") }
|
||||
|
||||
it { should contain_package("python-software-properties") }
|
||||
|
||||
it {
|
||||
if param_hash[:purge_sources_list]
|
||||
should contain_file("sources.list").with({
|
||||
|
@ -128,9 +126,4 @@ describe 'apt', :type => :class do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "it should not error if package['python-software-properties'] is already defined" do
|
||||
let(:pre_condition) { 'package { "python-software-properties": }->Class["Apt"]' }
|
||||
it { should contain_package("python-software-properties") }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,6 +18,8 @@ describe 'apt::ppa', :type => :define do
|
|||
t.sub(/^ppa:/,'').gsub('/','-') << "-" << "#{release}.list"
|
||||
end
|
||||
|
||||
it { should contain_package("python-software-properties") }
|
||||
|
||||
it { should contain_exec("apt_update").with(
|
||||
'command' => '/usr/bin/apt-get update',
|
||||
'refreshonly' => true
|
||||
|
@ -26,8 +28,9 @@ describe 'apt::ppa', :type => :define do
|
|||
|
||||
it { should contain_exec("add-apt-repository-#{t}").with(
|
||||
'command' => "/usr/bin/add-apt-repository #{t}",
|
||||
'notify' => "Exec[apt_update]",
|
||||
'creates' => "/etc/apt/sources.list.d/#{filename}"
|
||||
'creates' => "/etc/apt/sources.list.d/#{filename}",
|
||||
'require' => "Package[python-software-properties]",
|
||||
'notify' => "Exec[apt_update]"
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -39,6 +42,19 @@ describe 'apt::ppa', :type => :define do
|
|||
end
|
||||
end
|
||||
|
||||
describe "it should not error if package['python-software-properties'] is already defined" do
|
||||
let :pre_condition do
|
||||
'class {"apt": }' +
|
||||
'package { "python-software-properties": }->Apt::Ppa["ppa"]'
|
||||
end
|
||||
let :facts do
|
||||
{:lsbdistcodename => 'natty'}
|
||||
end
|
||||
let(:title) { "ppa" }
|
||||
let(:release) { "natty" }
|
||||
it { should contain_package("python-software-properties") }
|
||||
end
|
||||
|
||||
describe "without Class[apt] should raise a Puppet::Error" do
|
||||
let(:release) { "natty" }
|
||||
let(:title) { "ppa" }
|
||||
|
@ -49,5 +65,4 @@ describe 'apt::ppa', :type => :define do
|
|||
let(:title) { "ppa:" }
|
||||
it { expect { should contain_apt__ppa(:release) }.to raise_error(Puppet::Error) }
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue