Puppet Class: apt::backports

Inherits:
apt::params
Defined in:
manifests/backports.pp

Overview

This adds the necessary components to get backports for ubuntu and debian

Parameters

release

The ubuntu/debian release name. Defaults to $lsbdistcodename. Setting this manually can cause undefined behavior. (Read: universe exploding)

pin_priority

default: 200

The priority that should be awarded by default to all packages coming from the Debian Backports project.

Examples

include apt::backports

class { 'apt::backports':
  release => 'natty',
}

Authors

Ben Hughes, I think. At least blame him if this goes wrong. I just added puppet doc.

Copyright 2011 Puppet Labs Inc, unless otherwise noted.

Parameters:

  • release (Any) (defaults to: $::lsbdistcodename)
  • location (Any) (defaults to: $::apt::params::backports_location)
  • pin_priority (Any) (defaults to: 200)


31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'manifests/backports.pp', line 31

class apt::backports(
  $release      = $::lsbdistcodename,
  $location     = $::apt::params::backports_location,
  $pin_priority = 200,
) inherits apt::params {

  if ! is_integer($pin_priority) {
    fail('$pin_priority must be an integer')
  }

  if $::lsbdistid == 'LinuxMint' {
    if $::lsbdistcodename == 'debian' {
      $distid = 'debian'
      $release_real = 'wheezy'
    } else {
      $distid = 'ubuntu'
      $release_real = $::lsbdistcodename ? {
        'qiana'  => 'trusty',
        'petra'  => 'saucy',
        'olivia' => 'raring',
        'nadia'  => 'quantal',
        'maya'   => 'precise',
      }
    }
  } else {
    $distid = $::lsbdistid
    $release_real = downcase($release)
  }

  $key = $distid ? {
    'debian' => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553',
    'ubuntu' => '630239CC130E1A7FD81A27B140976EAF437D05B5',
  }
  $repos = $distid ? {
    'debian' => 'main contrib non-free',
    'ubuntu' => 'main universe multiverse restricted',
  }

  apt::pin { 'backports':
    before   => Apt::Source['backports'],
    release  => "${release_real}-backports",
    priority => $pin_priority,
  }

  apt::source { 'backports':
    location   => $location,
    release    => "${release_real}-backports",
    repos      => $repos,
    key        => $key,
    key_server => 'pgp.mit.edu',
  }
}