(#13289) Clean up style violations and fix corresponding tests
[puppet-modules/puppetlabs-apt.git] / manifests / ppa.pp
1 # ppa.pp
2
3 define apt::ppa(
4   $release = $lsbdistcodename
5 ) {
6
7   Class['apt'] -> Apt::Ppa[$title]
8
9   include apt::params
10
11   if ! $release {
12     fail('lsbdistcodename fact not available: release parameter required')
13   }
14
15   exec { "apt-update-${name}":
16     command     => '/usr/bin/aptitude update',
17     refreshonly => true,
18   }
19
20   $filename_without_slashes = regsubst($name,'/','-','G')
21   $filename_without_ppa = regsubst($filename_without_slashes, '^ppa:','','G')
22   $sources_list_d_filename = "${filename_without_ppa}-${release}.list"
23
24   exec { "add-apt-repository-${name}":
25     command => "/usr/bin/add-apt-repository ${name}",
26     notify  => Exec["apt-update-${name}"],
27     creates => "${apt::params::sources_list_d}/${sources_list_d_filename}",
28   }
29
30   file { "${apt::params::sources_list_d}/${sources_list_d_filename}":
31     ensure  => file,
32     require => Exec["add-apt-repository-${name}"];
33   }
34
35 }
36