]> review.fuel-infra Code Review - puppet-modules/puppetlabs-apt.git/commitdiff
Merge pull request #583 from tdb/fix_ppa_pluses
authorJT (Jonny) <jonathan.tripathy@puppetlabs.com>
Tue, 19 Jan 2016 16:09:39 +0000 (16:09 +0000)
committerJT (Jonny) <jonathan.tripathy@puppetlabs.com>
Tue, 19 Jan 2016 16:09:39 +0000 (16:09 +0000)
Handle PPA names that contain a plus character.

manifests/ppa.pp
spec/defines/ppa_spec.rb

index 6352352c8d54711baeffecb0871c0dfa17bfc4eb..d6b49007608c2f6811d3d4d812b017a200727173 100644 (file)
@@ -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' {
index b7a2f6c0046cba98a205f2b6dd5ba004e8986cc1..fe259782550fe7548713409b9936ac054951f76a 100644 (file)
@@ -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',
     })