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:
Thomas Broyer 2012-04-02 09:00:59 +02:00 committed by Branan Purvine-Riley
parent 669f5b51fb
commit 0ffe484c7c
4 changed files with 23 additions and 14 deletions

View file

@ -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",

View file

@ -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'],
}

View file

@ -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

View file

@ -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