From: intrigeri Date: Wed, 2 Jan 2013 15:14:06 +0000 (+0100) Subject: Merge remote-tracking branch 'riseup/immerda_27_readme' into shared X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=517040bb2e088325c2baa5bc4e9860d218357669;p=puppet-apt.git Merge remote-tracking branch 'riseup/immerda_27_readme' into shared Conflicts: README manifests/cron/dist_upgrade.pp manifests/cron/download.pp manifests/init.pp manifests/preferences.pp --- 517040bb2e088325c2baa5bc4e9860d218357669 diff --cc README index b625ff9,3cd341d..f2cda47 --- a/README +++ b/README @@@ -43,13 -117,6 +115,15 @@@ site_apt/files/some.host.com/03clean_vs Variables ========= - $lsbdistcodename - ---------------- ++$apt_disable_update ++------------------- + - Contains the codename ("etch", "lenny", ...) of the client's - release. While these values come from lsb-release by default, this - value can be set manually too, e.g. to enable forced upgrades. ++Disable "apt-get update" which is normally triggered by apt::upgrade_package ++and apt::dist_upgrade. ++Note that nodes can be updated once a day by using ++ APT::Periodic::Update-Package-Lists "1"; ++in i.e. /etc/apt/apt.conf.d/80_apt_update_daily. + $custom_sources_list -------------------- @@@ -237,9 -303,9 +310,9 @@@ file's content changes. The initiator f available source amongst the following ones, in decreasing priority order: - - puppet:///modules/site_apt/${fqdn}/upgrade_initiator -- puppet:///site_apt/${::fqdn}/upgrade_initiator -- puppet:///site_apt/upgrade_initiator -- puppet:///apt/upgrade_initiator ++- puppet:///modules/site_apt/${::fqdn}/upgrade_initiator +- puppet:///modules/site_apt/upgrade_initiator +- puppet:///modules/apt/upgrade_initiator This is useful when one does not want to setup a fully automated upgrade process but still needs a way to manually trigger full @@@ -261,17 -327,20 +334,20 @@@ suppress superfluous help screens apt::listchanges ---------------- - This class, when included, installs apt-listchanges and configures it using the - following variables, the defaults are below: + This class, when instantiated, installs apt-listchanges and configures it using + the following parameterized variables, which can be changed: - $apt_listchanges_version = 'present' - $apt_listchanges_config = "apt/${operatingsystem}/listchanges_${lsbrelease}.erb" - $apt_listchanges_frontend = 'pager' - $apt_listchanges_email = 'root' - $apt_listchanges_confirm = 0 - $apt_listchanges_saveseen = '/var/lib/apt/listchanges.db' - $apt_listchanges_which = 'both' + version = "present" + config = "apt/${::operatingsystem}/listchanges_${::lsbrelease}.erb" - frontend = "pager" - email = "root" - confirm = "0" - saveseen = "/var/lib/apt/listchanges.db" - which = "both" ++ frontend = 'pager' ++ email = 'root' ++ confirm = 0 ++ saveseen = '/var/lib/apt/listchanges.db' ++ which = 'both' + Example usage: + class { 'apt::listchanges': email => "foo@example.com" } + apt::proxy_client ----------------- diff --cc manifests/init.pp index 3df48c3,3de4d9e..c098ef3 --- a/manifests/init.pp +++ b/manifests/init.pp @@@ -3,53 -3,24 +3,25 @@@ # Copyright (C) 2007 David Schmitt # See LICENSE for the full license granted to you. - class apt { - - $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://http.debian.net/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}", - } - $disable_update = $apt_disable_update ? { - '' => false, - default => $apt_disable_update - } - - case $operatingsystem { + class apt( + $codename = '', + $use_volatile = false, + $include_src = false, + $use_next_release = false, - $debian_url = 'http://cdn.debian.net/debian/', ++ $debian_url = 'http://http.debian.net/debian/', + $security_url = 'http://security.debian.org/', + $backports_url = 'http://backports.debian.org/debian-backports/', + $volatile_url = 'http://volatile.debian.org/debian-volatile/', + $ubuntu_url = 'http://archive.ubuntu.com/ubuntu', + $repos = 'auto', - $custom_preferences = '' ++ $custom_preferences = '', ++ $disable_update = false + ){ + case $::operatingsystem { 'debian': { - $repos = $apt_repos ? { - '' => 'main contrib non-free', - default => "${apt_repos}", + $real_repos = $repos ? { + 'auto' => 'main contrib non-free', + default => $repos, } } 'ubuntu': { @@@ -68,16 -39,12 +40,15 @@@ include lsb # init $release, $next_release, $codename, $next_codename, $release_version - case $lsbdistcodename { + case $codename { '': { - $codename = $lsbdistcodename - $release = $lsbdistrelease + $codename = $::lsbdistcodename + $release = $::lsbdistrelease } + 'n/a': { + fail("Unknown lsbdistcodename reported by facter: '$lsbdistcodename', please fix this by setting this variable in your manifest.") - } ++ } default: { - $codename = $lsbdistcodename $release = debian_release($codename) } } @@@ -90,12 -57,12 +61,13 @@@ # additional sources should be included via the apt::sources_list define "/etc/apt/sources.list": content => $custom_sources_list ? { - '' => template( "apt/$operatingsystem/sources.list.erb"), + '' => template( "apt/${::operatingsystem}/sources.list.erb"), default => $custom_sources_list }, + mode => 0644, owner => root, group => 0, require => Package['lsb'], notify => Exec['refresh_apt'], + owner => root, group => 0, mode => 0644; } apt_conf { "02show_upgraded": diff --cc manifests/preferences.pp index f766819,e9a74ff..66f36a7 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@@ -1,18 -1,20 +1,18 @@@ class apt::preferences { - concat::fragment{"apt_preferences_header": - content => $apt::custom_preferences ? { - '' => $::operatingsystem ? { - 'debian' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"), - 'ubuntu' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"), - }, - default => $custom_preferences + $pref_contents = $custom_preferences ? { + '' => $operatingsystem ? { - 'debian' => template("apt/${operatingsystem}/preferences_${codename}.erb"), - 'ubuntu' => template("apt/${operatingsystem}/preferences_${codename}.erb"), ++ 'debian' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"), ++ 'ubuntu' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"), }, - order => 00, - target => '/etc/apt/preferences', + default => $custom_preferences } - concat{'/etc/apt/preferences': - alias => apt_config, + 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; }