# ppa.pp
define apt::ppa(
- $ensure = 'present',
$release = $::lsbdistcodename,
- $options = '-y'
+ $options = $apt::params::ppa_options,
) {
+ $ensure = 'present'
include apt::params
include apt::update
fail('lsbdistcodename fact not available: release parameter required')
}
+ if $::operatingsystem != 'Ubuntu' {
+ fail("apt::ppa is currently supported on Ubuntu only.")
+ }
+
$filename_without_slashes = regsubst($name, '/', '-', 'G')
$filename_without_dots = regsubst($filename_without_slashes, '\.', '_', 'G')
$filename_without_ppa = regsubst($filename_without_dots, '^ppa:', '', 'G')
environment => $proxy_env,
command => "/usr/bin/add-apt-repository ${options} ${name}",
unless => "/usr/bin/test -s ${sources_list_d}/${sources_list_d_filename}",
+ user => 'root',
logoutput => 'on_failure',
notify => Exec['apt_update'],
require => [
- File[$sources_list_d],
+ File['sources.list.d'],
Package[$package],
],
}
file { "${sources_list_d}/${sources_list_d_filename}":
ensure => 'absent',
+ mode => '0644',
+ owner => 'root',
+ gruop => 'root',
notify => Exec['apt_update'],
}
}