diff options
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/init.pp | 21 | ||||
-rw-r--r-- | manifests/params.pp | 17 | ||||
-rw-r--r-- | manifests/preferences.pp | 7 | ||||
-rw-r--r-- | manifests/preseeded_package.pp | 5 | ||||
-rw-r--r-- | manifests/sources_list.pp | 5 | ||||
-rw-r--r-- | manifests/upgrade_package.pp | 4 |
6 files changed, 34 insertions, 25 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index 4c44af2..46e5cb0 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -20,19 +20,10 @@ class apt( $custom_sources_list = '', $custom_key_dir = $apt::params::custom_key_dir ) inherits apt::params { - case $::operatingsystem { - 'debian': { - $real_repos = $repos ? { - 'auto' => 'main contrib non-free', - default => $repos, - } - } - 'ubuntu': { - $real_repos = $repos ? { - 'auto' => 'main restricted universe multiverse', - default => $repos, - } - } + + $real_backports_url = $backports_url ? { + false => $debian_url, + default => $backports_url, } package { 'apt': @@ -99,12 +90,12 @@ class apt( if ($use_backports and !($::debian_release in ['testing', 'unstable', 'experimental'])) { apt::sources_list { 'backports': - content => "deb $backports_url ${::debian_codename}-backports ${apt::real_repos}", + content => "deb ${real_backports_url} ${::debian_codename}-backports ${apt::repos}", } if $include_src { apt::sources_list { 'backports-src': - content => "deb-src $backports_url ${::debian_codename}-backports ${apt::real_repos}", + content => "deb-src ${real_backports_url} ${::debian_codename}-backports ${apt::repos}", } } } diff --git a/manifests/params.pp b/manifests/params.pp index 28af06e..a70dac1 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -9,14 +9,21 @@ class apt::params () { $ubuntu_url = 'http://archive.ubuntu.com/ubuntu' $backports_url = $::debian_codename ? { 'squeeze' => 'http://backports.debian.org/debian-backports/', - default => $::operatingsystem ? { - 'Ubuntu' => $ubuntu_url, - default => $debian_url, - } + default => false, } $lts_url = $debian_url $volatile_url = 'http://volatile.debian.org/debian-volatile/' - $repos = 'auto' + case $::operatingsystem { + 'debian': { + $repos = 'main contrib non-free' + } + 'ubuntu': { + $repos = 'main restricted universe multiverse' + } + default: { + fail("Unsupported system '${::operatingsystem}'.") + } + } $custom_preferences = '' $custom_key_dir = false } diff --git a/manifests/preferences.pp b/manifests/preferences.pp index 6982ca0..50ca23a 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -2,8 +2,11 @@ class apt::preferences { $pref_contents = $apt::custom_preferences ? { '' => $::operatingsystem ? { - 'debian' => template("apt/${::operatingsystem}/preferences_${::debian_codename}.erb"), - 'ubuntu' => template("apt/${::operatingsystem}/preferences_${::ubuntu_codename}.erb"), + 'debian' => $::debian_codename ? { + 'lenny' => template("apt/${::operatingsystem}/preferences_lenny.erb"), + default => template("apt/${::operatingsystem}/preferences.erb"), + }, + 'ubuntu' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"), }, default => $apt::custom_preferences } diff --git a/manifests/preseeded_package.pp b/manifests/preseeded_package.pp index 3ef0687..162ade7 100644 --- a/manifests/preseeded_package.pp +++ b/manifests/preseeded_package.pp @@ -1,3 +1,4 @@ +# Install a package with a preseed file to automatically answer some questions. define apt::preseeded_package ( $ensure = 'installed', $content = '' @@ -10,7 +11,9 @@ define apt::preseeded_package ( file { $seedfile: content => $real_content, - mode => '0600', owner => root, group => root, + mode => '0600', + owner => 'root', + group => 0, } package { $name: diff --git a/manifests/sources_list.pp b/manifests/sources_list.pp index 0ee068d..7565bce 100644 --- a/manifests/sources_list.pp +++ b/manifests/sources_list.pp @@ -1,3 +1,4 @@ +# Configure an apt source define apt::sources_list ( $ensure = 'present', $source = '', @@ -22,7 +23,9 @@ define apt::sources_list ( # apparently doesn't. file { "/etc/apt/sources.list.d/${realname}.list": ensure => $ensure, - owner => root, group => 0, mode => '0644', + mode => '0644', + owner => 'root', + group => 0, notify => Exec['apt_updated'], } diff --git a/manifests/upgrade_package.pp b/manifests/upgrade_package.pp index 30572c9..e61b15d 100644 --- a/manifests/upgrade_package.pp +++ b/manifests/upgrade_package.pp @@ -1,3 +1,5 @@ +# Install a package either to a certain version, or while making sure that it's +# always the latest version that's installed. define apt::upgrade_package ( $version = '' ) { @@ -23,7 +25,7 @@ define apt::upgrade_package ( } exec { "apt-get -q -y -o 'DPkg::Options::=--force-confold' install ${name}${version_suffix}": - onlyif => [ "grep-status -F Status installed -a -P $name -q", "apt-show-versions -u $name | grep -q upgradeable" ], + onlyif => [ "grep-status -F Status installed -a -P ${name} -q", "apt-show-versions -u ${name} | grep -q upgradeable" ], require => Package['apt-show-versions', 'dctrl-tools'], before => Exec['apt_updated'] } |