X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=manifests%2Fppa.pp;h=a67e1a19457e204ce7e5cfb1237115b0081bbc0d;hb=bbec706b5da9d9e2ea0bedbc73be8d38f31d4cd8;hp=7069e2ed09949dde0666a746a30d758e8f5bbb68;hpb=cc537070e8ee5fbecbbb8f76dc69f39dd79433cc;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/manifests/ppa.pp b/manifests/ppa.pp index 7069e2e..a67e1a1 100644 --- a/manifests/ppa.pp +++ b/manifests/ppa.pp @@ -1,24 +1,21 @@ # ppa.pp define apt::ppa( - $ensure = 'present', - $options = $::apt::ppa_options, - $release = $::apt::xfacts['lsbdistcodename'], - $package_name = $::apt::ppa_package, - $package_manage = false, + String $ensure = 'present', + Optional[String] $options = $::apt::ppa_options, + Optional[String] $release = $facts['lsbdistcodename'], + Optional[String] $package_name = $::apt::ppa_package, + Boolean $package_manage = false, ) { unless $release { fail('lsbdistcodename fact not available: release parameter required') } - if $::apt::xfacts['lsbdistid'] == 'Debian' { + if $facts['lsbdistid'] == 'Debian' { fail('apt::ppa is not currently supported on Debian.') } - $ubuntu_release_year = regsubst($::apt::xfacts['lsbdistrelease'], '\.\d+$', '', 'G') + 0 - $ubuntu_release_month = regsubst($::apt::xfacts['lsbdistrelease'], '^\d+\.', '', 'G') + 0 - - if $ubuntu_release_year >= 15 and $ubuntu_release_month >= 10 { - $distid = downcase($::apt::xfacts['lsbdistid']) + if versioncmp($facts['lsbdistrelease'], '15.10') >= 0 { + $distid = downcase($facts['lsbdistid']) $filename = regsubst($name, '^ppa:([^/]+)/(.+)$', "\\1-${distid}-\\2-${release}") } else { $filename = regsubst($name, '^ppa:([^/]+)/(.+)$', "\\1-\\2-${release}") @@ -31,7 +28,6 @@ define apt::ppa( if $ensure == 'present' { if $package_manage { ensure_packages($package_name) - $_require = [File['sources.list.d'], Package[$package_name]] } else { $_require = File['sources.list.d'] @@ -51,7 +47,7 @@ define apt::ppa( exec { "add-apt-repository-${name}": environment => $_proxy_env, command => "/usr/bin/add-apt-repository ${options} ${name}", - unless => "/usr/bin/test -s ${::apt::sources_list_d}/${sources_list_d_filename}", + unless => "/usr/bin/test -f ${::apt::sources_list_d}/${sources_list_d_filename}", user => 'root', logoutput => 'on_failure', notify => Class['apt::update'],