# 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
#
# == Authors
#
-# Ben Hughes, I think. At least blame him if this goes wrong. I just added puppet doc.
+# 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
+ $release = $::lsbdistcodename,
+ $location = $::apt::params::backports_location,
+ $pin_priority = 200,
) inherits apt::params {
- $release_real = downcase($release)
+ 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.list':
+ apt::source { 'backports':
location => $location,
release => "${release_real}-backports",
- repos => $::lsbdistid ? {
- 'debian' => 'main contrib non-free',
- 'ubuntu' => 'universe multiverse restricted',
- },
- key => $::lsbdistid ? {
- 'debian' => '55BE302B',
- 'ubuntu' => '437D05B5',
- },
+ repos => $repos,
+ key => $key,
key_server => 'pgp.mit.edu',
- pin => '200',
}
}