summaryrefslogtreecommitdiff
path: root/manifests/preferences.pp
diff options
context:
space:
mode:
authorLeLutin <gabster@lelutin.ca>2017-02-24 23:27:32 +0000
committerLeLutin <gabster@lelutin.ca>2017-02-24 23:27:32 +0000
commit6739923a0f75ffc82d0822eb15636cb244b8e31f (patch)
treeb76b03a4c226d47605c30f8821711d09ec2f3825 /manifests/preferences.pp
parent1c31ee4c7240e192fc933c934bb05ea50537bedd (diff)
parent4a261733172f2699b217ea6d43ec9ee09a32c72d (diff)
Merge branch 'master' into 'master'
Move old monolithic preferences files to mutiple preferences.d files (Fix #14) Closes #14 See merge request !61
Diffstat (limited to 'manifests/preferences.pp')
-rw-r--r--manifests/preferences.pp117
1 files changed, 104 insertions, 13 deletions
diff --git a/manifests/preferences.pp b/manifests/preferences.pp
index d3eb780..ce28d37 100644
--- a/manifests/preferences.pp
+++ b/manifests/preferences.pp
@@ -1,19 +1,110 @@
class apt::preferences {
- $pref_contents = $apt::custom_preferences ? {
- '' => $::operatingsystem ? {
- 'debian' => template("apt/${::operatingsystem}/preferences.erb"),
- 'ubuntu' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"),
- },
- default => $apt::custom_preferences
+ file { '/etc/apt/preferences':
+ ensure => absent;
}
- file { '/etc/apt/preferences':
- ensure => present,
- alias => 'apt_config',
- # only update together
- content => $pref_contents,
- require => File['/etc/apt/sources.list'],
- owner => root, group => 0, mode => '0644';
+ 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/stable':
+ ensure => absent;
+
+ '/etc/apt/preferences.d/volatile':
+ ensure => absent;
+
+ '/etc/apt/preferences.d/lts':
+ ensure => absent;
+
+ '/etc/apt/preferences.d/nextcodename':
+ ensure => absent;
+ }
+ }
+
+ elsif $apt::manage_preferences == true {
+
+ if $::operatingsystem == "Debian" {
+
+ file {
+ '/etc/apt/preferences.d/stable':
+ ensure => present,
+ alias => 'apt_config',
+ content => template('apt/Debian/stable.erb'),
+ require => File['/etc/apt/sources.list'],
+ owner => root, group => 0, mode => '0644';
+
+ '/etc/apt/preferences.d/custom':
+ ensure => absent;
+ }
+
+ if $apt::use_volatile {
+
+ file { '/etc/apt/preferences.d/volatile':
+ ensure => present,
+ content => template('apt/Debian/volatile.erb'),
+ 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'),
+ require => File['/etc/apt/sources.list'],
+ owner => root, group => 0, mode => '0644';
+ }
+ }
+
+ if ($::debian_nextcodename) and ($::debian_nextcodename != "experimental") {
+
+ file { '/etc/apt/preferences.d/nextcodename':
+ ensure => present,
+ content => template('apt/Debian/nextcodename.erb'),
+ require => File['/etc/apt/sources.list'],
+ owner => root, group => 0, mode => '0644';
+ }
+ }
+ }
+
+ 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';
+ }
+ }
+ }
+
+ elsif $apt::manage_preferences == false {
+
+ file {
+ '/etc/apt/preferences.d/custom':
+ ensure => absent;
+
+ '/etc/apt/preferences.d/stable':
+ ensure => absent;
+
+ '/etc/apt/preferences.d/volatile':
+ ensure => absent;
+
+ '/etc/apt/preferences.d/lts':
+ ensure => absent;
+
+ '/etc/apt/preferences.d/nextcodename':
+ ensure => absent;
+ }
}
}