X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fsite%2Fmanifests%2Faptrepo.pp;h=148f9cf0b8a5862e46cba42307fc039518382545;hb=f6a4eb4d0eb7078ffb261191abab23801e12db17;hp=d461807af79a14af447f51162da33b2ad959e8b2;hpb=cdd25919b7c854f7a384a1abc65f6bfd2507428c;p=mirror%2Fdsa-puppet.git diff --git a/modules/site/manifests/aptrepo.pp b/modules/site/manifests/aptrepo.pp index d461807af..148f9cf0b 100644 --- a/modules/site/manifests/aptrepo.pp +++ b/modules/site/manifests/aptrepo.pp @@ -1,39 +1,42 @@ -define site::aptrepo ($key = undef, $template = undef, $config = undef, $ensure = present) { +define site::aptrepo ( + $url='', + $suite='', + $components=[], + $key = undef, + $ensure = present +) { - if $key { - exec { "apt-key-update-${name}": - command => "apt-key add /etc/apt/trusted-keys.d/${name}.asc", - refreshonly => true, + case $ensure { + present: { + if $key { + file { "/etc/apt/trusted.gpg.d/${name}.gpg": + source => $key, + mode => '0664', + } + } } - - file { "/etc/apt/trusted-keys.d/${name}.asc": - source => $key, - mode => '0664', - notify => Exec["apt-key-update-${name}"] + absent: { + if $key { + file { "/etc/apt/trusted.gpg.d/${name}.gpg": + ensure => absent, + } + } } + default: { fail ( "Unknown ensure value: '$ensure'" ) } } case $ensure { - present: {} - absent: {} - default: { err ( "Unknown ensure value: '$ensure'" ) } - } - - if ! ($template or $config) { - err ( "Can't find configuration for ${name}" ) + present: { + if !($url and $suite) { + fail ( "Need both url and suite for $name" ) + } + } + default: {} } - if $template { - file { "/etc/apt/sources.list.d/${name}.list": - ensure => $ensure, - content => template($template), - notify => Exec['apt-get update'], - } - } else { - file { "/etc/apt/sources.list.d/${name}.list": - ensure => $ensure, - source => $config, - notify => Exec['apt-get update'], - } + file { "/etc/apt/sources.list.d/${name}.list": + ensure => $ensure, + content => template('site/aptrepo.erb'), + notify => Exec['apt-get update'], } }