Hello puppet users !

My problem is simple. I use the following classes in three different stages 
(setup/main/runtime) :

class { 'apt::client':
      stage => 'setup',
}
...
...
class { 'hostpkg': }
...
...
class { 'extrapkg':
      stage => 'runtime',
}

The idea is that the "apt::client" class configure the Debian apt tools. 
Next the "hostpkg" class install and configure the important packages (ex: 
those needed to allow the connexion of users). And finally the "extrapkg" 
class install the secondary packages (internet browser etc ...). But 
sometimes the "hostpkg" or "extrapkg" packages need some extra apt sources, 
some apt-pinning or the multiarch. So I created three resources/class :

define apt::client::pinning( $package = $title, $pin, $priority, $ensure = 
present)
define apt::client::source( $sourcename = $title, $type = 'deb', $uri, 
$distribution = $apt::client::distribution, $components, $ensure = present)
class apt::client::multiarch

There three resources are contained in the "apt::client" class as they must 
be run before "apt-get update" (near "apt::client::end"). The problem come 
when a package in "extrapkg" need for example the multiarch :

-> From the "extrapkg" class I include the "apt::client::multiarch" class 
to get the multiarch activated
-> As the "extrapkg" class is in the "runtime" stage, the 
"apt::client::multiarch" is contained in the stage
-> I get a circular dependency as "apt::client::multiarch" need to be run 
before "apt::client::end" and so after the beginning of the runtime stage 
as it is included in the "runtime" stage.

How I can declare, inside a stage, a resource or a class that must not be 
contained in the stage. It is just "required" and must be run inside it's 
corresponding stage.

If anyone can help !

Baptiste.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/86c3ec6e-2c4a-46ac-a348-4cadf332847a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to