diff options
author | Louis-Philippe Véronneau <pollito@riseup.net> | 2017-02-24 16:30:49 -0500 |
---|---|---|
committer | Louis-Philippe Véronneau <pollito@riseup.net> | 2017-02-24 16:30:49 -0500 |
commit | 3f0a363088c64c905a3fe7f6369d28b770cdf481 (patch) | |
tree | e7345dfba6fcd3b79001e13bc08395424cf88c74 /manifests/preferences.pp | |
parent | f447904e47c14f287283d8a3de9fb17033ccafdb (diff) |
fix custom_preferences && refactor how they work
Diffstat (limited to 'manifests/preferences.pp')
-rw-r--r-- | manifests/preferences.pp | 93 |
1 files changed, 60 insertions, 33 deletions
diff --git a/manifests/preferences.pp b/manifests/preferences.pp index 787f46f..548098f 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -1,56 +1,83 @@ class apt::preferences { - if $::operatingsystem == "Debian" { - - file { '/etc/apt/preferences.d/stable': - ensure => present, - alias => 'apt_config', - # only update together - content => template('apt/Debian/stable.erb'), - 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', + # only update together + content => $custom_preferences, + require => File['/etc/apt/sources.list'], + owner => root, group => 0, mode => '0644'; } + } - if $apt::use_volatile { + elsif $apt::manage_preferences == true { - file { '/etc/apt/preferences.d/volatile': + if $::operatingsystem == "Debian" { + + file { '/etc/apt/preferences.d/stable': ensure => present, - content => template('apt/Debian/volatile.erb'), + alias => 'apt_config', + # only update together + content => template('apt/Debian/stable.erb'), require => File['/etc/apt/sources.list'], owner => root, group => 0, mode => '0644'; } - } - if $apt::use_lts { + if $apt::use_volatile { - 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'; + 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'; + } } } - if ($::debian_nextcodename) and ($::debian_nextcodename != "experimental") { + elsif $::operatingsystem == "Ubuntu" { - 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'; + 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 $::operatingsystem == "Ubuntu" { + elsif $apt::manage_preferences == false { - 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'; + file { + [ '/etc/apt/preferences.d/custom', + '/etc/apt/preferences.d/stable', + '/etc/apt/preferences.d/volatile', + '/etc/apt/preferences.d/lts', + '/etc/apt/preferences.d/nextcodename']: + ensure => absent; } } } |