$release = 'testing',
$version = false
) {
-
- exec { "aptitude -y -t ${release} install ${name}":
+
+ exec { "/usr/bin/aptitude -y -t ${release} install ${name}":
unless => $version ? {
- false => "dpkg -l | grep ${name}",
- default => "dpkg -l | grep ${name} | grep ${version}"
+ false => "/usr/bin/dpkg -l | grep ${name}",
+ default => "/usr/bin/dpkg -l | grep ${name} | grep ${version}"
}
}
-
+
}
class apt {
$root = '/etc/apt'
- $provider = 'apt-get'
-
+ $provider = '/usr/bin/apt-get'
+
file { "sources.list":
name => "${root}/sources.list",
ensure => present,
group => root,
mode => 644,
}
-
+
file { "sources.list.d":
name => "${root}/sources.list.d",
ensure => directory,
owner => root,
group => root,
}
-
+
exec { "apt_update":
command => "${provider} update",
subscribe => [ File["sources.list"], File["sources.list.d"] ],
) {
include apt
-
+
file { "${name}.pref":
name => "${apt::root}/preferences.d/${name}",
ensure => file,
# ppa.pp
define apt::ppa(
-
+
) {
include apt
-
+
exec { "/usr/bin/add-apt-repository ${name}":
require => Package["python-software-properties"],
# TODO: unless => 'check'
) {
include apt
-
+
file { "${apt::root}/apt.conf.d/01release":
owner => root,
group => root,
mode => 644,
content => "APT::Default-Release \"${name}\";"
- }
+ }
}
mode => 644,
content => template("apt/source.list.erb"),
}
-
+
if $pin != false {
apt::pin { "${release}": priority => "${pin}" }
}
-
+
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,
}
}
-
+
if $key != false {
- exec { "apt-key adv --keyserver ${key_server} --recv-keys ${key}":
- unless => "apt-key list | grep ${key}",
+ exec { "/usr/bin/apt-key adv --keyserver ${key_server} --recv-keys ${key}":
+ unless => "/usr/bin/apt-key list | grep ${key}",
before => File["${name}.list"],
}
}