(#16070) Allow optional order parameter to apt::pin
[puppet-modules/puppetlabs-apt.git] / manifests / force.pp
1 # force.pp
2 # force a package from a specific release
3
4 define apt::force(
5   $release = 'testing',
6   $version = false
7 ) {
8
9   $version_string = $version ? {
10     false   => undef,
11     default => "=${version}",
12   }
13
14   $install_check = $version ? {
15     false   => "/usr/bin/dpkg -s ${name} | grep -q 'Status: install'",
16     default => "/usr/bin/dpkg -s ${name} | grep -q 'Version: ${version}'",
17   }
18   exec { "/usr/bin/aptitude -y -t ${release} install ${name}${version_string}":
19     unless    => $install_check,
20     logoutput => 'on_failure',
21   }
22 }