]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/site/manifests/aptrepo.pp
Apply Aurelien's nfs patch to the dsa-check-libs copy in puppet also
[dsa-puppet.git] / modules / site / manifests / aptrepo.pp
index ea1b9202da1e3d07a4c0d33cfe36e47af1647142..148f9cf0b8a5862e46cba42307fc039518382545 100644 (file)
@@ -1,53 +1,42 @@
-define site::aptrepo ($key = undef, $keyid = undef, $content = '', $source = '', $ensure = present) {
+define site::aptrepo (
+       $url='',
+       $suite='',
+       $components=[],
+       $key = undef,
+       $ensure = present
+) {
 
        case $ensure {
                present: {
                        if $key {
-                               exec { "apt-key-update-${name}":
-                                       command     => "apt-key add /etc/apt/trusted-keys.d/${name}.asc",
-                                       refreshonly => true,
-                               }
-
-                               file { "/etc/apt/trusted-keys.d/${name}.asc":
+                               file { "/etc/apt/trusted.gpg.d/${name}.gpg":
                                        source => $key,
                                        mode   => '0664',
-                                       notify => Exec["apt-key-update-${name}"]
                                }
                        }
                }
                absent:  {
-                       if ($keyid) and ($key) {
-                               file { "/etc/apt/trusted-keys.d/${name}.asc":
-                                       ensure => absent,
-                                       notify => Exec["apt-key-del-${keyid}"]
-                               }
-                               exec { "apt-key-del-${keyid}":
-                                       command     => "apt-key del ${keyid}",
-                                       refreshonly => true,
-                               }
-                       } elsif $key {
-                               file { "/etc/apt/trusted-keys.d/${name}.asc":
+                       if $key {
+                               file { "/etc/apt/trusted.gpg.d/${name}.gpg":
                                        ensure => absent,
                                }
-                       } elsif $keyid {
-                               exec { "apt-key-del-${keyid}":
-                                       command     => "apt-key del ${keyid}",
-                               }
                        }
                }
                default: { fail ( "Unknown ensure value: '$ensure'" ) }
        }
 
-       if $ensure == present {
-               if ! ($source or $content) {
-                       fail ( "No configuration found for ${name}" )
+       case $ensure {
+               present: {
+                       if !($url and $suite) {
+                               fail ( "Need both url and suite for $name" )
+                       }
                }
+               default: {}
        }
 
        file { "/etc/apt/sources.list.d/${name}.list":
                ensure  => $ensure,
-               content => $content,
-               source  => $source,
+               content => template('site/aptrepo.erb'),
                notify  => Exec['apt-get update'],
        }
 }