module Gem::Util
def self.popen *command
def self.popen *command IO.popen command, &:read rescue TypeError # ruby 1.8 only supports string command r, w = IO.pipe pid = fork do STDIN.close STDOUT.reopen w exec(*command) end w.close begin return r.read ensure Process.wait pid end end