Code Review
/
puppet-modules
/
puppetlabs-apt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Merge pull request #683 from HelenCampbell/rpreppy
[puppet-modules/puppetlabs-apt.git]
/
manifests
/
backports.pp
diff --git
a/manifests/backports.pp
b/manifests/backports.pp
index 3cac0b5b5bc54bf7420a145231c7a1d4e94c3b5d..4faad6157a7f31664555471071c211e177e56ce2 100644
(file)
--- a/
manifests/backports.pp
+++ b/
manifests/backports.pp
@@
-1,40
+1,28
@@
class apt::backports (
class apt::backports (
-
$location
= undef,
-
$release
= undef,
-
$repos
= undef,
-
$key
= undef,
-
$pin
= 200,
+
Optional[String] $location
= undef,
+
Optional[String] $release
= undef,
+
Optional[String] $repos
= undef,
+
Optional[Variant[String, Hash]] $key
= undef,
+
Optional[Variant[Integer, String, Hash]] $pin
= 200,
){
if $location {
){
if $location {
- validate_string($location)
$_location = $location
}
if $release {
$_location = $location
}
if $release {
- validate_string($release)
$_release = $release
}
if $repos {
$_release = $release
}
if $repos {
- validate_string($repos)
$_repos = $repos
}
if $key {
$_repos = $repos
}
if $key {
- unless is_hash($key) {
- validate_string($key)
- }
$_key = $key
}
$_key = $key
}
- unless is_hash($pin) {
- unless (is_numeric($pin) or is_string($pin)) {
- fail('pin must be either a string, number or hash')
- }
- }
-
- if ($::apt::xfacts['lsbdistid'] == 'debian' or $::apt::xfacts['lsbdistid'] == 'ubuntu') {
+ if ($facts['lsbdistid'] == 'Debian' or $facts['lsbdistid'] == 'Ubuntu') {
unless $location {
$_location = $::apt::backports['location']
}
unless $release {
unless $location {
$_location = $::apt::backports['location']
}
unless $release {
- $_release = "${
::apt::x
facts['lsbdistcodename']}-backports"
+ $_release = "${facts['lsbdistcodename']}-backports"
}
unless $repos {
$_repos = $::apt::backports['repos']
}
unless $repos {
$_repos = $::apt::backports['repos']
@@
-48,12
+36,24
@@
class apt::backports (
}
}
}
}
+ if is_hash($pin) {
+ $_pin = $pin
+ } elsif is_numeric($pin) or is_string($pin) {
+ # apt::source defaults to pinning to origin, but we should pin to release
+ # for backports
+ $_pin = {
+ 'priority' => $pin,
+ 'release' => $_release,
+ }
+ } else {
+ fail('pin must be either a string, number or hash')
+ }
+
apt::source { 'backports':
location => $_location,
release => $_release,
repos => $_repos,
key => $_key,
apt::source { 'backports':
location => $_location,
release => $_release,
repos => $_repos,
key => $_key,
- pin => $pin,
+ pin => $
_
pin,
}
}
-
}
}