module-puppetlabs-apt/manifests/backports.pp
2015-01-28 12:34:18 +00:00

82 líneas
1,9 KiB
Puppet

# 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
#
# Copyright 2011 Puppet Labs Inc, unless otherwise noted.
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' => '46925553',
'ubuntu' => '437D05B5',
}
$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',
}
}