Note that there are some explanatory texts on larger screens.

plurals
  1. PONot respecting dependency order?
    primarykey
    data
    text
    <p>I have a couple Puppet modules which I've created which compile and install <code>x264</code>, which depends on <code>yasm</code>, a compiler.</p> <p>The modules look like this:</p> <pre><code>class yasm { $install_dir = "/usr/local/yasm" include yasm::download, yasm::compile, yasm::install } class x264 { require yasm $install_dir = "/usr/local/x264" include x264::download, x264::compile, x264::install } </code></pre> <p>Thus, when I declare a dependency on <code>x264</code> in my node, I expect that <code>yasm</code> will be downloaded, compiled, and installed before anything happens with <code>x264</code>.</p> <p>However, this isn't what happens at all:</p> <pre><code>[default] Running provisioner: puppet... Running Puppet with vagrant-precise64.pp... stdin: is not a tty warning: Could not retrieve fact fqdn warning: Host is missing hostname and/or domain: precise64 info: Applying configuration version '1385018183' notice: /Stage[main]/X264::Download/File[x264-dir]/ensure: created notice: /Stage[main]/X264::Download/Exec[x264-clone]/returns: executed successfully notice: /Stage[main]/X264::Compile/Exec[x264-compile]/returns: Makefile:3: config.mak: No such file or directory notice: /Stage[main]/X264::Compile/Exec[x264-compile]/returns: cat: config.h: No such file or directory notice: /Stage[main]/X264::Compile/Exec[x264-compile]/returns: ./configure notice: /Stage[main]/X264::Compile/Exec[x264-compile]/returns: Found no assembler notice: /Stage[main]/X264::Compile/Exec[x264-compile]/returns: Minimum version is yasm-1.2.0 notice: /Stage[main]/X264::Compile/Exec[x264-compile]/returns: If you really want to compile without asm, configure with --disable-asm. notice: /Stage[main]/X264::Compile/Exec[x264-compile]/returns: make: *** [config.mak] Error 1 err: /Stage[main]/X264::Compile/Exec[x264-compile]/returns: change from notrun to 0 failed: make returned 2 instead of one of [0] at /tmp/vagrant-puppet/modules-0/x264/manifests/compile.pp:21 notice: /Stage[main]/X264::Install/Exec[x264-install]: Dependency Exec[x264-compile] has failures: true warning: /Stage[main]/X264::Install/Exec[x264-install]: Skipping because of failed dependencies notice: /Stage[main]/Yasm::Download/File[yasm-dir]/ensure: created notice: /Stage[main]/Yasm::Download/Exec[yasm-download]/returns: executed successfully notice: /Stage[main]/Yasm::Download/Exec[yasm-extract]/returns: executed successfully notice: /Stage[main]/Yasm::Compile/Exec[yasm-configure]/returns: executed successfully notice: /Stage[main]/Yasm::Compile/Exec[yasm-compile]/returns: executed successfully notice: /Stage[main]/Yasm::Install/Exec[yasm-install]/returns: executed successfully notice: Finished catalog run in 22.66 seconds The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! puppet apply --verbose --modulepath '/etc/puppet/modules:/tmp/vagrant-puppet/modules-0' --color=false --manifestdir /tmp/vagrant-puppet/manifests --detailed-exitcodes /tmp/vagrant-puppet/manifests/vagrant-precise64.pp || [ $? -eq 2 ] </code></pre> <p>For whatever reason, my Puppet apply tries installing x264 <em>before</em> installing yasm, which is a <em>dependency</em> of x264. What am I doing wrong? How can I express that x264 completely depends on yasm?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload