How to ensure Exec[update_apt] is defined before apt::preferences_snippet is used?
On some systems of mine (Puppet 3.8.5-2~bpo8+1) I've seen a weird issue after enabling the future parser: apt::preferences_snippet
fails because Puppet says it does not know about Exec[update_apt]
. These nodes have include ::apt
declared (transitively, via two class inclusions).
I've workaround'ed this problem with the following patch:
--- a/manifests/preferences_snippet.pp
+++ b/manifests/preferences_snippet.pp
@@ -7,6 +7,8 @@ define apt::preferences_snippet (
$pin = undef,
) {
+ include ::apt
+
$real_package = $package ? {
false => $name,
default => $package,
… but that feels wrong, at least because it forces the user of our apt module to pass parameters to the apt
class via hiera.
Is there a better, canonical way to ensure Exec[update_apt]
is defined before apt::preferences_snippet
is used?