diff options
Diffstat (limited to 'manifests/init.pp')
| -rw-r--r-- | manifests/init.pp | 96 | 
1 files changed, 86 insertions, 10 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index 7d68303..6938c2c 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -13,12 +13,77 @@ class apt {      default => $apt_clean,    } +  $use_volatile = $apt_volatile_enabled ? { +    ''      => false, +    default => $apt_volatile_enabled, +  } + +  $include_src = $apt_include_src ? { +    ''      => false, +    default => $apt_include_src, +  } + +  $use_next_release = $apt_use_next_release ? { +    ''      => false, +    default => $apt_use_next_release, +  } + +  $debian_url = $apt_debian_url ? { +    ''      => 'http://ftp.debian.org/debian/', +    default => "${apt_debian_url}", +  } +  $security_url = $apt_security_url ? { +    ''      => 'http://security.debian.org/', +    default => "${apt_security_url}", +  } +  $backports_url = $apt_backports_url ? { +    ''      => 'http://backports.debian.org/debian-backports/', +    default => "${apt_backports_url}", +  } +  $volatile_url = $apt_volatile_url ? { +    ''      => 'http://volatile.debian.org/debian-volatile/', +    default => "${apt_volatile_url}", +  } +  $ubuntu_url = $apt_ubuntu_url ? { +    ''      => 'http://archive.ubuntu.com/ubuntu', +    default => "${apt_ubuntu_url}", +  } +  case $operatingsystem { +    'debian': { +      $repos = $apt_repos ? { +        ''      => 'main contrib non-free', +        default => "${apt_repos}", +      } +    } +    'ubuntu': { +      $repos = $apt_repos ? { +        ''      => 'main restricted universe multiverse', +        default => "${apt_repos}", +      } +    } +  } +    package { apt:      ensure => installed,      require => undef,    }    include lsb + +  # init $release, $next_release, $codename, $next_codename +  case $lsbdistcodename { +    '': { +      $codename = $lsbdistcodename +      $release = $lsbdistrelease +    } +    default: { +      $codename = $lsbdistcodename +      $release = debian_release($codename) +    } +  } +  $next_codename = debian_nextcodename($codename) +  $next_release = debian_nextrelease($release) +    config_file {      # include main, security and backports      # additional sources should be included via the custom_sources_template @@ -31,7 +96,6 @@ class apt {        require => Package['lsb'];    } -  # 01autoremove already present by default    apt_conf_snippet{ "02show_upgraded":      source => ["puppet:///modules/site-apt/${fqdn}/02show_upgraded",                 "puppet:///modules/site-apt/02show_upgraded", @@ -53,6 +117,17 @@ class apt {      }    } +  # backward compatibility: upgrade from previous versions of this module. +  file { +    ["/etc/apt/apt.conf.d/from_puppet", +     "/etc/apt/apt.conf.d/99from_puppet" +    ]: +      ensure  => 'absent', +      require => [ Apt_conf_snippet['02show_upgraded'], +                   Apt_conf_snippet['03clean'], +                 ], +  } +    if $apt_unattended_upgrades {      include apt::unattended_upgrades    } @@ -68,16 +143,17 @@ class apt {      'refresh_apt':        command => '/usr/bin/apt-get update && sleep 1',        refreshonly => true, -      subscribe => File['/etc/apt/sources.list', -                        '/etc/apt/apt.conf.d', -                        '/etc/apt/preferences']; -      'update_apt': -        command => '/usr/bin/apt-get update && /usr/bin/apt-get autoclean', -        require => File['/etc/apt/sources.list', +      subscribe => [ File['/etc/apt/apt.conf.d'], +                     Config_file['/etc/apt/sources.list'] ]; +    'update_apt': +      command => '/usr/bin/apt-get update && /usr/bin/apt-get autoclean', +      refreshonly => true, +      require => [ File['/etc/apt/apt.conf.d',                          '/etc/apt/preferences'], -        loglevel => info, -        # Another Semaphor for all packages to reference -        alias => "apt_updated"; +                   Config_file['/etc/apt/sources.list'] ], +      loglevel => info, +      # Another Semaphor for all packages to reference +      alias => "apt_updated";    }    ## This package should really always be current  | 
