diff --git a/manifests/init.pp b/manifests/init.pp index 453df3171f..140e171c50 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -133,10 +133,7 @@ notify => Exec['apt_update'], } - # Need anchor to provide containment for dependencies. - anchor { 'apt::update': - require => Class['apt::update'], - } + contain 'apt::update' # manage sources if present if $sources { diff --git a/manifests/ppa.pp b/manifests/ppa.pp index 5fc7f3c503..5d4c8903d5 100644 --- a/manifests/ppa.pp +++ b/manifests/ppa.pp @@ -60,9 +60,4 @@ notify => Exec['apt_update'], } } - - # Need anchor to provide containment for dependencies. - anchor { "apt::ppa::${name}": - require => Class['apt::update'], - } } diff --git a/manifests/setting.pp b/manifests/setting.pp index bc0e15a8d5..ab84460232 100644 --- a/manifests/setting.pp +++ b/manifests/setting.pp @@ -60,10 +60,4 @@ source => $source, notify => $_notify, } - - if $notify_update { - anchor { "apt::setting::${name}": - require => Class['apt::update'] - } - } } diff --git a/spec/defines/ppa_spec.rb b/spec/defines/ppa_spec.rb index 7c0d072c08..30a09a48a0 100644 --- a/spec/defines/ppa_spec.rb +++ b/spec/defines/ppa_spec.rb @@ -27,10 +27,18 @@ } end - describe 'apt included, no proxy' do + describe 'ppa depending on ppa, MODULES-1156' do let :pre_condition do 'class { "apt": }' end + end + + describe 'apt included, no proxy' do + let :pre_condition do + 'class { "apt": } + apt::ppa { "ppa:foo2": } + ' + end let :facts do { :lsbdistrelease => '14.04', @@ -42,11 +50,13 @@ end let :params do { - :options => '', + :options => '', :package_manage => true, + :require => 'Apt::Ppa[ppa:foo2]', } end let(:title) { 'ppa:foo' } + it { is_expected.to compile.with_all_deps } it { is_expected.to contain_package('software-properties-common') } it { is_expected.to contain_exec('add-apt-repository-ppa:foo').that_notifies('Exec[apt_update]').with({ :environment => [], diff --git a/spec/defines/setting_spec.rb b/spec/defines/setting_spec.rb index d69ae45a7e..6f09f9ccf0 100644 --- a/spec/defines/setting_spec.rb +++ b/spec/defines/setting_spec.rb @@ -55,6 +55,21 @@ end end + describe 'settings requiring settings, MODULES-769' do + let(:pre_condition) do + 'class { "apt": } + apt::setting { "list-teddybear": content => "foo" } + ' + end + let(:facts) { { :lsbdistid => 'Debian', :osfamily => 'Debian', :lsbdistcodename => 'wheezy' } } + let(:title) { 'conf-teddybear' } + let(:default_params) { { :content => 'di' } } + + let(:params) { default_params.merge({ :require => 'Apt::Setting[list-teddybear]' }) } + + it { is_expected.to compile.with_all_deps } + end + describe 'when trying to pull one over' do context 'with source and content' do let(:params) { default_params.merge({ :source => 'la' }) }