$always_apt_update = false
) {
- $root = '/etc/apt'
- $provider = '/usr/bin/apt-get'
+ include apt::params
+
$refresh_only_apt_update = $always_apt_update? {
true => false,
false => true
package { "python-software-properties": }
file { "sources.list":
- name => "${root}/sources.list",
ensure => present,
owner => root,
group => root,
mode => 644,
}
+ name => "${apt::params::root}/sources.list",
file { "sources.list.d":
- name => "${root}/sources.list.d",
ensure => directory,
owner => root,
group => root,
}
+ name => "${apt::params::root}/sources.list.d",
exec { "apt_update":
command => "${apt::params::provider} update",
--- /dev/null
+class apt::params {
+ $root = '/etc/apt'
+ $provider = '/usr/bin/apt-get'
+}
$priority = 0
) {
- include apt
-
file { "${name}.pref":
- name => "${apt::root}/preferences.d/${name}",
ensure => file,
owner => root,
group => root,
mode => 644,
content => "# ${name}\nPackage: ${packages}\nPin: release a=${name}\nPin-Priority: ${priority}",
}
+ include apt::params
+ name => "${apt::params::root}/preferences.d/${name}",
}
define apt::release (
) {
- include apt
- file { "${apt::root}/apt.conf.d/01release":
owner => root,
group => root,
mode => 644,
content => "APT::Default-Release \"${name}\";"
}
+ include apt::params
+
+ file { "${apt::params::root}/apt.conf.d/01release":
}
$pin = false
) {
- include apt
-
file { "${name}.list":
- name => "${apt::root}/sources.list.d/${name}.list",
ensure => file,
owner => root,
group => root,
}
exec { "${name} apt update":
- command => "${apt::provider} update",
subscribe => File["${name}.list"],
refreshonly => true,
}
if $required_packages != false {
- exec { "${apt::provider} -y install ${required_packages}":
subscribe => File["${name}.list"],
refreshonly => true,
}
before => File["${name}.list"],
}
}
+ include apt::params
+ name => "${apt::params::root}/sources.list.d/${name}.list",
+ command => "${apt::params::provider} update",
+ exec { "${apt::params::provider} -y install ${required_packages}":
}