Update .gitignore
[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   $timeout = 300
8 ) {
9
10   $version_string = $version ? {
11     false   => undef,
12     default => "=${version}",
13   }
14
15   $install_check = $version ? {
16     false   => "/usr/bin/dpkg -s ${name} | grep -q 'Status: install'",
17     default => "/usr/bin/dpkg -s ${name} | grep -q 'Version: ${version}'",
18   }
19   exec { "/usr/bin/aptitude -y -t ${release} install ${name}${version_string}":
20     unless    => $install_check,
21     logoutput => 'on_failure',
22     timeout   => $timeout,
23   }
24 }