Issue #9996 has been updated by Jacob Helwig.

This should fix things:

    diff --git i/lib/puppet/util.rb w/lib/puppet/util.rb
    index 80ce963..a264a0a 100644
    --- i/lib/puppet/util.rb
    +++ w/lib/puppet/util.rb
    @@ -244,7 +244,12 @@ module Util
     
       def execute_posix(command, arguments, stdin, stdout, stderr)
         child_pid = Kernel.fork do
    -      command = Array(command)
    +      # We can't just call Array(command), and rely on it returning
    +      # things like ['foo'], when passed ['foo'], because
    +      # Array(command) will call command.to_a internally, which when
    +      # given a string can end up doing Very Bad Things(TM), such as
    +      # turning "/tmp/foo;\r\n /bin/echo" into ["/tmp/foo;\r\n", " 
/bin/echo"]
    +      command = [command].flatten
           Process.setsid
           begin
             $stdin.reopen(stdin)

----------------------------------------
Bug #9996: 2.7.5 and higher do not support multi-line strings in the 'command' 
portion of 'exec'.
https://projects.puppetlabs.com/issues/9996

Author: Trevor Vaughan
Status: Accepted
Priority: High
Assignee: Jacob Helwig
Category: exec
Target version: 2.7.x
Affected Puppet version: 2.7.5
Keywords: exec, multi-line
Branch: 


'Test' works, 'Test2' does not. I think that this worked in 2.7.4.

<pre>
exec { "test":
      command =>  "/bin/echo '#Test' > /tmp/foo; /bin/echo 'bob' >> /tmp/foo;"
}

exec { "test2":
      command =>  "/bin/echo '#Test' > /tmp/foo;
                   /bin/echo 'bob' >> /tmp/foo;"
}
</pre>


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to