Issue #19848 has been updated by Josh Cooper. Description updated Status changed from Unreviewed to Needs More Information
Thanks for the report. Would you expect that value of the environment variable to be empty string or nil (as in removing the variable from the environment)? ---------------------------------------- Bug #19848: Exec provider should support environment variables with empty values https://projects.puppetlabs.com/issues/19848#change-87392 * Author: Marc Tardif * Status: Needs More Information * Priority: Normal * Assignee: * Category: * Target version: * Affected Puppet version: * Keywords: * Branch: ---------------------------------------- The exec provider takes an environment parameter that takes either a string or an array of variables. Each variable is expressed as a pair, like "KEY=value" for example. The problem is that the code that parses this string requires a value whereas this is not strictly necessary, like "KEY=" should be perfectly acceptable. The code in Puppet::Provider::Exec.run looks like this: <pre> if setting =~ /^(\w+)=((.|\n)+)$/ env_name = $1 value = $2 </pre> Simply changing the regular expression to use "*" instread of "+" for the value should work just fine: <pre> irb(main):001:0> setting = 'KEY=' => "KEY=" irb(main):002:0> setting =~ /^(\w+)=((.|\n)+)$/ => nil irb(main):003:0> setting =~ /^(\w+)=((.|\n)*)$/ => 0 irb(main):004:0> $1 => "KEY" irb(main):005:0> $2 => "" </pre> So, the value of empty string is exactly what was requested. -- 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 unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-bugs?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
