I\'m trying to create puppet module which automates installation of zend server CE, this is not important here, but steps are as following
Since Puppet 2.6.0 a new feature "relationship syntax" was introduced.
An example in Puppet 2.6.0 and above would look like this:
exec { "apt-update":
command => "/usr/bin/apt-get update"
}
Exec["apt-update"] -> Package <| |>
Every time a package command is executed, the dependency (in our case 'apt-update') will be triggered fist. You can even define longer chains.
Package that needs updating APT lists should require Class['apt::update']
package { "zend-server-ce-php-5.2":
ensure => "latest",
require => Class['apt::update']
}
If you're using custom APT source, just ensure correct ordering:
Apt::Source['my_source']
-> Class['apt::update']