X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=manifests%2Fsource.pp;h=9f31fe91308bbb911b5013a21227b17e4f0e11db;hb=fab62e6de7510c2660c63e385f6553ed69d30e75;hp=b6e8476b4cff5b33fa4780dff45d4cf2a181ec00;hpb=77d2b0dd05c70aad99596dc314be065e06cfb4cf;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/manifests/source.pp b/manifests/source.pp index b6e8476..9f31fe9 100644 --- a/manifests/source.pp +++ b/manifests/source.pp @@ -9,23 +9,24 @@ define apt::source( $required_packages = false, $key = false, $key_server = 'keyserver.ubuntu.com', - $pin = false + $pin = false, + $key_content = false ) { include apt::params - file { "${name}.list": - name => "${apt::params::root}/sources.list.d/${name}.list", + path => "${apt::params::root}/sources.list.d/${name}.list", ensure => file, owner => root, group => root, mode => 644, content => template("apt/source.list.erb"), + } if $pin != false { - apt::pin { "${release}": priority => "${pin}" } + apt::pin { "${release}": priority => "${pin}" } -> File["${name}.list"] } exec { "${name} apt update": @@ -35,16 +36,26 @@ define apt::source( } if $required_packages != false { - exec { "${apt::params::provider} -y install ${required_packages}": - subscribe => File["${name}.list"], + exec { "Required packages: '${required_packages}' for ${name}": + command => "${apt::params::provider} -y install ${required_packages}", + subscribe => File["${name}.list"], refreshonly => true, } } if $key != false { - exec { "/usr/bin/apt-key adv --keyserver ${key_server} --recv-keys ${key}": - unless => "/usr/bin/apt-key list | grep ${key}", - before => File["${name}.list"], + if $key_content { + exec { "Add key: ${key} from content for ${name}": + command => "/bin/echo '${key_content}' | /usr/bin/apt-key add -", + unless => "/usr/bin/apt-key list | /bin/grep '${key}'", + before => File["${name}.list"], + } + } else { + exec { "Add key: ${key} from ${key_server} for ${name}": + command => "/usr/bin/apt-key adv --keyserver ${key_server} --recv-keys ${key}", + unless => "/usr/bin/apt-key list | /bin/grep ${key}", + before => File["${name}.list"], + } } } }