Merge pull request #122 from strangeman/master
authorHunter Haugen <h.haugen@gmail.com>
Tue, 2 Jul 2013 18:34:21 +0000 (11:34 -0700)
committerHunter Haugen <h.haugen@gmail.com>
Tue, 2 Jul 2013 18:34:21 +0000 (11:34 -0700)
Add a $key_options parameter to apt::key.

1  2 
manifests/key.pp

diff --combined manifests/key.pp
index b14500ed039db17ca3990435af036f1945c61893,a6ebf7bd37ef0273ea9f70ec0d1c64815e7ba6b1..c78bf658ce984a538aad7552ca3dd98581b3f29c
@@@ -3,14 -3,13 +3,15 @@@ define apt::key 
    $ensure = present,
    $key_content = false,
    $key_source = false,
-   $key_server = 'keyserver.ubuntu.com'
+   $key_server = 'keyserver.ubuntu.com',
+   $key_options = false
  ) {
  
    include apt::params
  
    $upkey = upcase($key)
 +  # trim the key to the last 8 chars so we can match longer keys with apt-key list too
 +  $trimmedkey = regsubst($upkey, '^.*(.{8})$', '\1')
  
    if $key_content {
      $method = 'content'
          anchor { "apt::key ${upkey} present": }
        }
  
+       if $key_options{
+         $options_string = "--keyserver-options ${key_options}"
+       }
+       else{
+         $options_string = ''
+       }
        if !defined(Exec[$digest]) {
          $digest_command = $method ? {
            'content' => "echo '${key_content}' | /usr/bin/apt-key add -",
            'source'  => "wget -q '${key_source}' -O- | apt-key add -",
-           'server'  => "apt-key adv --keyserver '${key_server}' --recv-keys '${upkey}'",
+           'server'  => "apt-key adv --keyserver '${key_server}' ${options_string} --recv-keys '${upkey}'",
          }
          exec { $digest:
            command   => $digest_command,
            path      => '/bin:/usr/bin',
 -          unless    => "/usr/bin/apt-key list | /bin/grep '${upkey}'",
 +          unless    => "/usr/bin/apt-key list | /bin/grep '${trimmedkey}'",
            logoutput => 'on_failure',
            before    => Anchor["apt::key ${upkey} present"],
          }
@@@ -68,7 -74,7 +76,7 @@@
        exec { "apt::key ${upkey} absent":
          command   => "apt-key del '${upkey}'",
          path      => '/bin:/usr/bin',
 -        onlyif    => "apt-key list | grep '${upkey}'",
 +        onlyif    => "apt-key list | grep '${trimmedkey}'",
          user      => 'root',
          group     => 'root',
          logoutput => 'on_failure',