From 4d28e6668f0c26d7484198c1cdf418c83898b3c7 Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 17 Oct 2010 13:58:59 +0200 Subject: introduce preferences snippet Now, we have the possibility to externally add snippes, so that we can preferences for packages that are for example only in backports or unstable. --- manifests/preferences_snippet.pp | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 manifests/preferences_snippet.pp (limited to 'manifests/preferences_snippet.pp') diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp new file mode 100644 index 0000000..52edf97 --- /dev/null +++ b/manifests/preferences_snippet.pp @@ -0,0 +1,11 @@ +define apt::preferences_snippet( + $ensure => 'present', + $content +){ + file { "/var/lib/puppet/modules/apt/preferences/${name}": + ensure => $ensure, + content => "${content}\n", + notify => Exec['concat_/var/lib/puppet/modules/apt/preferences'], + owner => root, group => 0, mode => 0600; + } +} -- cgit v1.2.3 From 822d482f4d6e94546cb5454d571b4d58525af94b Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 17 Oct 2010 14:13:02 +0200 Subject: improve prefrences snippet --- manifests/preferences_snippet.pp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'manifests/preferences_snippet.pp') diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 52edf97..8d82a42 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -1,10 +1,14 @@ define apt::preferences_snippet( - $ensure => 'present', - $content + $ensure = 'present', + $release, + $priority ){ file { "/var/lib/puppet/modules/apt/preferences/${name}": ensure => $ensure, - content => "${content}\n", + content => "Package: ${name} +Pin: release a=${release} +Pin-Priority: ${priority} +", notify => Exec['concat_/var/lib/puppet/modules/apt/preferences'], owner => root, group => 0, mode => 0600; } -- cgit v1.2.3 From b989192dfd5c6604afe6e0562f9d39a7487b6cf4 Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 17 Oct 2010 14:27:27 +0200 Subject: fix modules directory stuff --- manifests/module_dir.pp | 3 --- manifests/preferences.pp | 5 +++-- manifests/preferences_snippet.pp | 5 +++-- 3 files changed, 6 insertions(+), 7 deletions(-) delete mode 100644 manifests/module_dir.pp (limited to 'manifests/preferences_snippet.pp') diff --git a/manifests/module_dir.pp b/manifests/module_dir.pp deleted file mode 100644 index 6dcfca3..0000000 --- a/manifests/module_dir.pp +++ /dev/null @@ -1,3 +0,0 @@ -class apt::module_dir { - module_dir{'apt': } -} diff --git a/manifests/preferences.pp b/manifests/preferences.pp index b106153..e806f9f 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -1,9 +1,10 @@ class apt::preferences { - include apt::module_dir + include common::moduledir + $apt_preferences_dir = "${common::moduledir::module_dir_path}/apt/preferences" module_dir{'apt/preferences': } concatenated_file{'/etc/apt/preferences': - dir => '/var/lib/puppet/modules/apt/preferences', + dir => $apt_preferences_dir, header => 'Package: * Pin: release a=unstable Pin-Priority: 1 diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 8d82a42..e5393bd 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -3,13 +3,14 @@ define apt::preferences_snippet( $release, $priority ){ - file { "/var/lib/puppet/modules/apt/preferences/${name}": + include apt::preferences_snippet + file { "${apt::preferences::apt_preferences_dir}/${name}": ensure => $ensure, content => "Package: ${name} Pin: release a=${release} Pin-Priority: ${priority} ", - notify => Exec['concat_/var/lib/puppet/modules/apt/preferences'], + notify => Exec["concat_${apt::preferences::apt_preferences_dir}"], owner => root, group => 0, mode => 0600; } } -- cgit v1.2.3 From 80ad2d086edb86456c3e944f7f440fbaf96cfad3 Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 17 Oct 2010 14:29:01 +0200 Subject: fix classname --- manifests/preferences_snippet.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'manifests/preferences_snippet.pp') diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index e5393bd..71c095b 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -3,7 +3,7 @@ define apt::preferences_snippet( $release, $priority ){ - include apt::preferences_snippet + include apt::preferences file { "${apt::preferences::apt_preferences_dir}/${name}": ensure => $ensure, content => "Package: ${name} -- cgit v1.2.3 From b497ed88efd04852cb4deefacc9b19b9a3f625d6 Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 17 Oct 2010 14:40:27 +0200 Subject: empty line between snippets --- manifests/preferences.pp | 1 + manifests/preferences_snippet.pp | 1 + 2 files changed, 2 insertions(+) (limited to 'manifests/preferences_snippet.pp') diff --git a/manifests/preferences.pp b/manifests/preferences.pp index 479e910..232b8f7 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -11,6 +11,7 @@ Pin-Priority: 1 Package: * Pin: release a=testing Pin-Priority: 2 + ', } diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 71c095b..21dfe86 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -9,6 +9,7 @@ define apt::preferences_snippet( content => "Package: ${name} Pin: release a=${release} Pin-Priority: ${priority} + ", notify => Exec["concat_${apt::preferences::apt_preferences_dir}"], owner => root, group => 0, mode => 0600; -- cgit v1.2.3 From d97a49b7b2c020c2c43df6524236f50a421789ee Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Mon, 25 Oct 2010 00:14:33 -0400 Subject: refactor: simplify and remove inline content Simplifications: make apt_conf_snippet repeat less code, make code that generates sources.list more concise. Remove all inline content in favor of templates and static files. The ability to include sources for static files was needed for the main 'preferences' file, so it was added to the preferences_snippet define. Signed-off-by: Gabriel Filion --- files/preferences | 8 ++++++++ files/preferences_snippet.erb | 4 ++++ manifests/apt_conf_snippet.pp | 16 ++++++++-------- manifests/init.pp | 29 +++++++++++------------------ manifests/preferences.pp | 15 +++------------ manifests/preferences_snippet.pp | 22 +++++++++++++++++----- templates/preferences.erb | 7 ------- 7 files changed, 51 insertions(+), 50 deletions(-) create mode 100644 files/preferences create mode 100644 files/preferences_snippet.erb delete mode 100644 templates/preferences.erb (limited to 'manifests/preferences_snippet.pp') diff --git a/files/preferences b/files/preferences new file mode 100644 index 0000000..e893b7e --- /dev/null +++ b/files/preferences @@ -0,0 +1,8 @@ +Package: * +Pin: release a=unstable +Pin-Priority: 1 + +Package: * +Pin: release a=testing +Pin-Priority: 2 + diff --git a/files/preferences_snippet.erb b/files/preferences_snippet.erb new file mode 100644 index 0000000..4dfb701 --- /dev/null +++ b/files/preferences_snippet.erb @@ -0,0 +1,4 @@ +Package: <%= name %> +Pin: release a=<%= release %> +Pin-Priority: <%= priority %> + diff --git a/manifests/apt_conf_snippet.pp b/manifests/apt_conf_snippet.pp index 77b88ae..c1cd884 100644 --- a/manifests/apt_conf_snippet.pp +++ b/manifests/apt_conf_snippet.pp @@ -10,20 +10,20 @@ define apt::apt_conf_snippet( fail("Only one of \$source or \$content must specified for apt_conf_snippet ${name}") } + file { "/etc/apt/apt.conf.d/${name}": + ensure => $ensure, + notify => Exec["refresh_apt"], + owner => root, group => 0, mode => 0600; + } + if $source { - file { "/etc/apt/apt.conf.d/${name}": - ensure => $ensure, + File["/etc/apt/apt.conf.d/${name}"] { source => $source, - notify => Exec["refresh_apt"], - owner => root, group => 0, mode => 0600; } } else { - file { "/etc/apt/apt.conf.d/${name}": - ensure => $ensure, + File["/etc/apt/apt.conf.d/${name}"] { content => $content, - notify => Exec["refresh_apt"], - owner => root, group => 0, mode => 0600; } } } diff --git a/manifests/init.pp b/manifests/init.pp index 0e4bd5c..7d68303 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -19,23 +19,16 @@ class apt { } include lsb - case $custom_sources_list { - '': { - config_file { - # include main, security and backports - # additional sources should be included via the custom_sources_template - # define - "/etc/apt/sources.list": - content => template( "apt/$operatingsystem/sources.list.erb"), - require => Package['lsb']; - } - } - default: { - config_file { "/etc/apt/sources.list": - content => $custom_sources_list, - require => Package['lsb']; - } - } + config_file { + # include main, security and backports + # additional sources should be included via the custom_sources_template + # define + "/etc/apt/sources.list": + content => $custom_sources_list ? { + '' => template( "apt/$operatingsystem/sources.list.erb"), + default => $custom_sources_list + }, + require => Package['lsb']; } # 01autoremove already present by default @@ -109,4 +102,4 @@ class apt { # workaround for preseeded_package component file { [ "/var/cache", "/var/cache/local", "/var/cache/local/preseeding" ]: ensure => directory } -} +} diff --git a/manifests/preferences.pp b/manifests/preferences.pp index 772b426..5be3bd0 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -4,18 +4,9 @@ class apt::preferences { $apt_preferences_dir = "${common::moduledir::module_dir_path}/apt/preferences" module_dir{'apt/preferences': } file{"${apt_preferences_dir}_header": - content => $custom_preferences ? { - '' => 'Package: * -Pin: release a=unstable -Pin-Priority: 1 - -Package: * -Pin: release a=testing -Pin-Priority: 2 - -', - default => $custom_preferences - }, + source => ["puppet:///modules/site-apt/${fqdn}/preferences", + "puppet:///modules/site-apt/preferences", + "puppet:///modules/apt/preferences"] } concatenated_file{'/etc/apt/preferences': diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 21dfe86..a723206 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -1,17 +1,29 @@ define apt::preferences_snippet( $ensure = 'present', + $source = '', $release, $priority ){ include apt::preferences + file { "${apt::preferences::apt_preferences_dir}/${name}": ensure => $ensure, - content => "Package: ${name} -Pin: release a=${release} -Pin-Priority: ${priority} - -", + #TODO this template is somewhat limited notify => Exec["concat_${apt::preferences::apt_preferences_dir}"], owner => root, group => 0, mode => 0600; } + + # This should really work in the same manner as sources_list and apt_conf + # snippets, but since the preferences.d directory cannot be used in Debian + # lenny, we can't generalize without going into ugly special-casing. + case $source { + '' => + File["${apt::preferences::apt_preferences_dir/${name}"] { + content => template("apt/preferences_snippet.erb") + }, + default => + File["${apt::preferences::apt_preferences_dir/${name}"] { + source => $source + } + } } diff --git a/templates/preferences.erb b/templates/preferences.erb deleted file mode 100644 index ac71582..0000000 --- a/templates/preferences.erb +++ /dev/null @@ -1,7 +0,0 @@ -Package: * -Pin: release a=unstable -Pin-Priority: 1 - -Package: * -Pin: release a=testing -Pin-Priority: 2 -- cgit v1.2.3 From 4ebb7d463ed6e85a715f0a311378bf673a907042 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Mon, 25 Oct 2010 12:17:50 -0400 Subject: Fix apt::preferences::absent Currently, setting the $custom_preferences variable to false fails because of the /etc/apt/preferences concatenated_file being re-defined. Fix this by setting dependencies on the resource only when we expect to create the /etc/apt/preferences file. Also, since there is no "ensure" parameter to concatenated_file, use a simple file resource to ensure that it is removed. Signed-off-by: Gabriel Filion --- manifests/init.pp | 6 +++++- manifests/preferences/absent.pp | 5 +---- manifests/preferences_snippet.pp | 4 ++++ manifests/unattended_upgrades.pp | 8 ++++++-- 4 files changed, 16 insertions(+), 7 deletions(-) (limited to 'manifests/preferences_snippet.pp') diff --git a/manifests/init.pp b/manifests/init.pp index 8588932..dde9c29 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -96,7 +96,11 @@ class apt { alias => "custom_keys", subscribe => File["${apt_base_dir}/keys.d"], refreshonly => true, - before => Concatenated_file[apt_config]; + } + if $custom_preferences != false { + Exec["custom_keys"] { + before => Concatenated_file[apt_config], + } } } diff --git a/manifests/preferences/absent.pp b/manifests/preferences/absent.pp index 3131aff..d8b2e10 100644 --- a/manifests/preferences/absent.pp +++ b/manifests/preferences/absent.pp @@ -1,8 +1,5 @@ class apt::preferences::absent { - include common::moduledir - $apt_preferences_dir = "${common::moduledir::module_dir_path}/apt/preferences" - concatenated_file{'/etc/apt/preferences': - dir => $apt_preferences_dir, + file {'/etc/apt/preferences': ensure => absent, } } diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index a723206..9da7a8e 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -4,6 +4,10 @@ define apt::preferences_snippet( $release, $priority ){ + if $custom_preferences == false { + fail("Trying to define a preferences_snippet with \$custom_preferences set to false.") + } + include apt::preferences file { "${apt::preferences::apt_preferences_dir}/${name}": diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index fb04193..f52448d 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -7,8 +7,12 @@ class apt::unattended_upgrades { apt_conf { "50unattended-upgrades": source => ["puppet:///modules/site-apt/50unattended-upgrades", "puppet:///modules/apt/50unattended-upgrades" ], - - before => Concatenated_file[apt_config], require => Package['unattended-upgrades'], } + + if $custom_preferences != false { + Apt_conf["50unattended-upgrades"] { + before => Concatenated_file[apt_config], + } + } } -- cgit v1.2.3 From 90c45cfe446588345eb5d9061ea359d121db2dc3 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 28 Oct 2010 22:05:37 +0200 Subject: put the file at the right place & fix typos --- files/preferences_snippet.erb | 4 ---- manifests/preferences_snippet.pp | 12 +++++++----- templates/preferences_snippet.erb | 4 ++++ 3 files changed, 11 insertions(+), 9 deletions(-) delete mode 100644 files/preferences_snippet.erb create mode 100644 templates/preferences_snippet.erb (limited to 'manifests/preferences_snippet.pp') diff --git a/files/preferences_snippet.erb b/files/preferences_snippet.erb deleted file mode 100644 index 4dfb701..0000000 --- a/files/preferences_snippet.erb +++ /dev/null @@ -1,4 +0,0 @@ -Package: <%= name %> -Pin: release a=<%= release %> -Pin-Priority: <%= priority %> - diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 9da7a8e..fd2956d 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -21,13 +21,15 @@ define apt::preferences_snippet( # snippets, but since the preferences.d directory cannot be used in Debian # lenny, we can't generalize without going into ugly special-casing. case $source { - '' => - File["${apt::preferences::apt_preferences_dir/${name}"] { + '': { + File["${apt::preferences::apt_preferences_dir}/${name}"] { content => template("apt/preferences_snippet.erb") - }, - default => - File["${apt::preferences::apt_preferences_dir/${name}"] { + } + } + default: { + File["${apt::preferences::apt_preferences_dir}/${name}"] { source => $source } + } } } diff --git a/templates/preferences_snippet.erb b/templates/preferences_snippet.erb new file mode 100644 index 0000000..4dfb701 --- /dev/null +++ b/templates/preferences_snippet.erb @@ -0,0 +1,4 @@ +Package: <%= name %> +Pin: release a=<%= release %> +Pin-Priority: <%= priority %> + -- cgit v1.2.3 From e15283b781f35779a75415725cd315104879aa67 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Tue, 7 Dec 2010 13:18:41 -0500 Subject: format standardization --- manifests/apt_conf.pp | 6 ++++-- manifests/cron/base.pp | 3 ++- manifests/dselect.pp | 1 + manifests/init.pp | 33 ++++++++++++++------------------- manifests/preferences.pp | 4 ++-- manifests/preferences/absent.pp | 3 ++- manifests/preferences_snippet.pp | 5 +++-- manifests/preseeded_package.pp | 2 +- manifests/sources_list.pp | 5 +++-- manifests/unattended_upgrades.pp | 3 ++- manifests/upgrade_package.pp | 1 + 11 files changed, 35 insertions(+), 31 deletions(-) (limited to 'manifests/preferences_snippet.pp') diff --git a/manifests/apt_conf.pp b/manifests/apt_conf.pp index 62e4377..a18a9bd 100644 --- a/manifests/apt_conf.pp +++ b/manifests/apt_conf.pp @@ -1,11 +1,13 @@ define apt::apt_conf( $ensure = 'present', $source = '', - $content = undef -){ + $content = undef ) +{ + if $source == '' and $content == undef { fail("One of \$source or \$content must be specified for apt_conf ${name}") } + if $source != '' and $content != undef { fail("Only one of \$source or \$content must specified for apt_conf ${name}") } diff --git a/manifests/cron/base.pp b/manifests/cron/base.pp index 2cfbefb..de55772 100644 --- a/manifests/cron/base.pp +++ b/manifests/cron/base.pp @@ -1,3 +1,4 @@ class apt::cron::base { - package { cron-apt: ensure => installed } + + package { cron-apt: ensure => installed } } diff --git a/manifests/dselect.pp b/manifests/dselect.pp index 52c66cb..45a5ddc 100644 --- a/manifests/dselect.pp +++ b/manifests/dselect.pp @@ -1,4 +1,5 @@ class apt::dselect { + # suppress annoying help texts of dselect append_if_no_such_line { dselect_expert: file => "/etc/dpkg/dselect.cfg", diff --git a/manifests/init.pp b/manifests/init.pp index e7eac33..4ca2b2e 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -88,23 +88,23 @@ class apt { } apt_conf { "02show_upgraded": - source => ["puppet:///modules/site-apt/${fqdn}/02show_upgraded", - "puppet:///modules/site-apt/02show_upgraded", - "puppet:///modules/apt/02show_upgraded"] + source => [ "puppet:///modules/site-apt/${fqdn}/02show_upgraded", + "puppet:///modules/site-apt/02show_upgraded", + "puppet:///modules/apt/02show_upgraded" ] } if ( $virtual == "vserver" ) { apt_conf { "03clean_vserver": - source => ["puppet:///modules/site-apt/${fqdn}/03clean_vserver", - "puppet:///modules/site-apt/03clean_vserver", - "puppet:///modules/apt/03clean_vserver"] + source => [ "puppet:///modules/site-apt/${fqdn}/03clean_vserver", + "puppet:///modules/site-apt/03clean_vserver", + "puppet:///modules/apt/03clean_vserver" ] } } else { apt_conf { "03clean": - source => ["puppet:///modules/site-apt/${fqdn}/03clean", - "puppet:///modules/site-apt/03clean", - "puppet:///modules/apt/03clean"] + source => [ "puppet:///modules/site-apt/${fqdn}/03clean", + "puppet:///modules/site-apt/03clean", + "puppet:///modules/apt/03clean" ] } } @@ -121,13 +121,9 @@ 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" - ]: + [ "/etc/apt/apt.conf.d/from_puppet", "/etc/apt/apt.conf.d/99from_puppet" ]: ensure => 'absent', - require => [ Apt_conf['02show_upgraded'], - Apt_conf['03clean'], - ], + require => [ Apt_conf['02show_upgraded'], Apt_conf['03clean'] ]; } # watch .d directories and ensure they are present @@ -143,13 +139,12 @@ class apt { 'refresh_apt': command => '/usr/bin/apt-get update && sleep 1', refreshonly => true, - subscribe => [ File['/etc/apt/apt.conf.d'], - Config_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'], + require => [ File['/etc/apt/apt.conf.d', '/etc/apt/preferences' ], Config_file['/etc/apt/sources.list'] ], loglevel => info, # Another Semaphor for all packages to reference diff --git a/manifests/preferences.pp b/manifests/preferences.pp index 4acfdaf..4c93542 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -3,7 +3,7 @@ class apt::preferences { include common::moduledir $apt_preferences_dir = "${common::moduledir::module_dir_path}/apt/preferences" module_dir{'apt/preferences': } - file{"${apt_preferences_dir}_header": + file { "${apt_preferences_dir}_header": content => $custom_preferences ? { '' => $operatingsystem ? { 'debian' => template("apt/${operatingsystem}/preferences_${codename}.erb"), @@ -13,7 +13,7 @@ class apt::preferences { }, } - concatenated_file{'/etc/apt/preferences': + concatenated_file { '/etc/apt/preferences': dir => $apt_preferences_dir, header => "${apt_preferences_dir}_header", # use Concatenated_file[apt_config] to reference a completed configuration diff --git a/manifests/preferences/absent.pp b/manifests/preferences/absent.pp index d8b2e10..0e96119 100644 --- a/manifests/preferences/absent.pp +++ b/manifests/preferences/absent.pp @@ -1,5 +1,6 @@ class apt::preferences::absent { - file {'/etc/apt/preferences': + + file { '/etc/apt/preferences': ensure => absent, } } diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index fd2956d..4b8e575 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -2,8 +2,9 @@ define apt::preferences_snippet( $ensure = 'present', $source = '', $release, - $priority -){ + $priority ) +{ + if $custom_preferences == false { fail("Trying to define a preferences_snippet with \$custom_preferences set to false.") } diff --git a/manifests/preseeded_package.pp b/manifests/preseeded_package.pp index 76c432e..8f3bcbd 100644 --- a/manifests/preseeded_package.pp +++ b/manifests/preseeded_package.pp @@ -5,7 +5,7 @@ define apt::preseeded_package ($content = "", $ensure = "installed") { default => $content } - file{ $seedfile: + file { $seedfile: content => $real_content, mode => 0600, owner => root, group => root, } diff --git a/manifests/sources_list.pp b/manifests/sources_list.pp index bbf887a..ff8f21a 100644 --- a/manifests/sources_list.pp +++ b/manifests/sources_list.pp @@ -1,8 +1,9 @@ define apt::sources_list ( $ensure = 'present', $source = '', - $content = undef -) { + $content = undef ) +{ + if $source == '' and $content == undef { fail("One of \$source or \$content must be specified for apt_sources_snippet ${name}") } diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index f52448d..e2992f8 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -1,5 +1,6 @@ class apt::unattended_upgrades { - package{'unattended-upgrades': + + package { 'unattended-upgrades': ensure => present, require => undef, } diff --git a/manifests/upgrade_package.pp b/manifests/upgrade_package.pp index 41d5d52..99e9c2a 100644 --- a/manifests/upgrade_package.pp +++ b/manifests/upgrade_package.pp @@ -1,4 +1,5 @@ define apt::upgrade_package ($version = "") { + case $version { '': { exec { "aptitude -y install $name": -- cgit v1.2.3