Handle PPA names that contain a plus character.
It looks like add-apt-repository changes pluses to underscores when creating the sources.list.d file. So the name it creates doesn't match what Puppet expects, and the resource keeps applying on every Puppet run. This works around that problem.
This commit is contained in:
parent
7aa9778e4d
commit
7fa207e335
2 changed files with 6 additions and 5 deletions
|
@ -16,7 +16,8 @@ define apt::ppa(
|
|||
|
||||
$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_pluses = regsubst($filename_without_dots, '\+', '_', 'G')
|
||||
$filename_without_ppa = regsubst($filename_without_pluses, '^ppa:', '', 'G')
|
||||
$sources_list_d_filename = "${filename_without_ppa}-${release}.list"
|
||||
|
||||
if $ensure == 'present' {
|
||||
|
|
|
@ -16,12 +16,12 @@ describe 'apt::ppa' do
|
|||
}
|
||||
end
|
||||
|
||||
let(:title) { 'ppa:needs/such.substitution/wow' }
|
||||
let(:title) { 'ppa:needs/such.substitution/wow+type' }
|
||||
it { is_expected.to_not contain_package('python-software-properties') }
|
||||
it { is_expected.to contain_exec('add-apt-repository-ppa:needs/such.substitution/wow').that_notifies('Class[Apt::Update]').with({
|
||||
it { is_expected.to contain_exec('add-apt-repository-ppa:needs/such.substitution/wow+type').that_notifies('Class[Apt::Update]').with({
|
||||
:environment => [],
|
||||
:command => '/usr/bin/add-apt-repository -y ppa:needs/such.substitution/wow',
|
||||
:unless => '/usr/bin/test -s /etc/apt/sources.list.d/needs-such_substitution-wow-natty.list',
|
||||
:command => '/usr/bin/add-apt-repository -y ppa:needs/such.substitution/wow+type',
|
||||
:unless => '/usr/bin/test -s /etc/apt/sources.list.d/needs-such_substitution-wow_type-natty.list',
|
||||
:user => 'root',
|
||||
:logoutput => 'on_failure',
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue