summaryrefslogtreecommitdiff
path: root/manifests/preferences.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/preferences.pp')
-rw-r--r--manifests/preferences.pp144
1 files changed, 76 insertions, 68 deletions
diff --git a/manifests/preferences.pp b/manifests/preferences.pp
index 04a09b0..0ec77cf 100644
--- a/manifests/preferences.pp
+++ b/manifests/preferences.pp
@@ -1,9 +1,16 @@
+# Configure basic pins for debian/Ubuntu codenames
+#
+# This all ensures that apt behaves as expected with regards to packages when
+# we have more sources than just the one for the current codenamed release.
+#
+# This class should not be included directly. It is automatically called in by
+# the 'apt' class. Thus you should use the apt class instead.
+#
class apt::preferences {
file { '/etc/apt/preferences':
- ensure => absent;
+ ensure => absent,
}
-
# Remove the file that we were previously deploying. It's now been renamed to
# current_codename
file { '/etc/apt/preferences.d/stable':
@@ -11,43 +18,44 @@ class apt::preferences {
}
if ($apt::manage_preferences == true) and ($apt::custom_preferences != undef) {
-
- file {
- '/etc/apt/preferences.d/custom':
- ensure => present,
- alias => 'apt_config',
- content => template($apt::custom_preferences),
- require => File['/etc/apt/sources.list'],
- owner => root, group => 0, mode => '0644';
-
- '/etc/apt/preferences.d/current_codename':
- ensure => absent;
-
- '/etc/apt/preferences.d/volatile':
- ensure => absent;
-
- '/etc/apt/preferences.d/lts':
- ensure => absent;
-
- '/etc/apt/preferences.d/nextcodename':
- ensure => absent;
+ file { '/etc/apt/preferences.d/custom':
+ ensure => present,
+ alias => 'apt_config',
+ content => template($apt::custom_preferences),
+ owner => 'root',
+ group => 0,
+ mode => '0644',
+ require => File['/etc/apt/sources.list'],
+ }
+ file { '/etc/apt/preferences.d/current_codename':
+ ensure => absent,
+ }
+ file { '/etc/apt/preferences.d/volatile':
+ ensure => absent,
+ }
+ file { '/etc/apt/preferences.d/lts':
+ ensure => absent,
+ }
+ file { '/etc/apt/preferences.d/nextcodename':
+ ensure => absent,
}
}
-
elsif $apt::manage_preferences == true {
- if $::operatingsystem == "Debian" {
-
- file {
- '/etc/apt/preferences.d/current_codename':
- ensure => present,
- alias => 'apt_config',
- content => template('apt/Debian/current_codename.erb'),
- require => File['/etc/apt/sources.list'],
- owner => root, group => 0, mode => '0644';
-
- '/etc/apt/preferences.d/custom':
- ensure => absent;
+ if $::operatingsystem == 'Debian' {
+ file { '/etc/apt/preferences.d/current_codename':
+ ensure => present,
+ alias => 'apt_config',
+ content => template('apt/Debian/current_codename.erb'),
+ owner => 'root',
+ group => 0,
+ mode => '0644',
+ require => File['/etc/apt/sources.list'],
+ }
+ # Cleanup for cases where users might switch from using
+ # custom_preferences to not using it anymore.
+ file { '/etc/apt/preferences.d/custom':
+ ensure => absent,
}
# This file ensures that all debian packages that don't have a
# preference file shouldn't be considered for auto-install or upgrade at
@@ -62,66 +70,66 @@ class apt::preferences {
}
if $apt::use_volatile {
-
file { '/etc/apt/preferences.d/volatile':
ensure => present,
content => template('apt/Debian/volatile.erb'),
+ owner => 'root',
+ group => 0,
+ mode => '0644',
require => File['/etc/apt/sources.list'],
- owner => root, group => 0, mode => '0644';
}
}
if $apt::use_lts {
-
file { '/etc/apt/preferences.d/lts':
ensure => present,
content => template('apt/Debian/lts.erb'),
+ owner => 'root',
+ group => 0,
+ mode => '0644',
require => File['/etc/apt/sources.list'],
- owner => root, group => 0, mode => '0644';
}
}
- if ($::debian_nextcodename) and ($::debian_nextcodename != "experimental") {
-
+ if ($::debian_nextcodename) and ($::debian_nextcodename != 'experimental') {
file { '/etc/apt/preferences.d/nextcodename':
ensure => present,
content => template('apt/Debian/nextcodename.erb'),
+ owner => 'root',
+ group => 0,
+ mode => '0644',
require => File['/etc/apt/sources.list'],
- owner => root, group => 0, mode => '0644';
}
}
}
-
- elsif $::operatingsystem == "Ubuntu" {
-
+ elsif $::operatingsystem == 'Ubuntu' {
file { '/etc/apt/preferences':
- ensure => present,
- alias => 'apt_config',
- # only update together
- content => template("apt/Ubuntu/preferences_${apt::codename}.erb"),
- require => File['/etc/apt/sources.list'],
- owner => root, group => 0, mode => '0644';
+ ensure => present,
+ alias => 'apt_config',
+ # only update together
+ content => template("apt/Ubuntu/preferences_${apt::codename}.erb"),
+ owner => 'root',
+ group => 0,
+ mode => '0644',
+ require => File['/etc/apt/sources.list'],
}
}
}
-
elsif $apt::manage_preferences == false {
-
- file {
- '/etc/apt/preferences.d/custom':
- ensure => absent;
-
- '/etc/apt/preferences.d/current_codename':
- ensure => absent;
-
- '/etc/apt/preferences.d/volatile':
- ensure => absent;
-
- '/etc/apt/preferences.d/lts':
- ensure => absent;
-
- '/etc/apt/preferences.d/nextcodename':
- ensure => absent;
+ file { '/etc/apt/preferences.d/custom':
+ ensure => absent,
+ }
+ file { '/etc/apt/preferences.d/current_codename':
+ ensure => absent,
+ }
+ file { '/etc/apt/preferences.d/volatile':
+ ensure => absent,
+ }
+ file { '/etc/apt/preferences.d/lts':
+ ensure => absent,
+ }
+ file { '/etc/apt/preferences.d/nextcodename':
+ ensure => absent,
}
}
}