lib/autobuild/subcommand.rb in autobuild-1.10.0.rc3 vs lib/autobuild/subcommand.rb in autobuild-1.10.0.rc4

- old
+ new

@@ -232,11 +232,11 @@ if target.respond_to?(:working_directory) options[:working_directory] ||= target.working_directory end - logname = File.join(logdir, "#{target_name.gsub(/[:]/,'_')}-#{phase.to_s.gsub(/[:]/,'_')}.log") + logname = File.join(logdir, "#{target_name.gsub(/[:]/,'_')}-#{phase.to_s.gsub(/[:]/,'_')}.log") if !File.directory?(File.dirname(logname)) FileUtils.mkdir_p File.dirname(logname) end if Autobuild.verbose @@ -268,11 +268,13 @@ logfile.puts logfile.puts "#{Time.now}: running" logfile.puts " #{command.join(" ")}" logfile.puts "with environment:" env.keys.sort.each do |key| - logfile.puts " '#{key}'='#{env[key]}'" + if value = env[key] + logfile.puts " '#{key}'='#{value}'" + end end logfile.puts logfile.puts "#{Time.now}: running" logfile.puts " #{command.join(" ")}" logfile.flush @@ -300,17 +302,10 @@ cwrite.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC) pid = fork do begin - env.each do |k, v| - if v - ENV[k] = v - else - ENV.delete(k) - end - end if options[:working_directory] && (options[:working_directory] != Dir.pwd) Dir.chdir(options[:working_directory]) end logfile.puts "in directory #{Dir.pwd}" @@ -334,10 +329,10 @@ end if RUBY_VERSION >= "1.9" command << Hash[:close_others => false] end - exec(*command) + exec(env, *command) rescue Errno::ENOENT cwrite.write([CONTROL_COMMAND_NOT_FOUND].pack('I')) exit(100) rescue Interrupt cwrite.write([CONTROL_INTERRUPT].pack('I'))