diff -Nru ruby-childprocess-0.3.0/debian/changelog ruby-childprocess-0.3.1/debian/changelog --- ruby-childprocess-0.3.0/debian/changelog 2012-01-26 00:09:51.000000000 +1300 +++ ruby-childprocess-0.3.1/debian/changelog 2012-02-14 00:13:24.000000000 +1300 @@ -1,3 +1,9 @@ +ruby-childprocess (0.3.1-1) unstable; urgency=low + + * New upstream release + + -- Laurent Bigonville Mon, 13 Feb 2012 12:13:21 +0100 + ruby-childprocess (0.3.0-1) unstable; urgency=low * Initial release (Closes: #657020) diff -Nru ruby-childprocess-0.3.0/lib/childprocess/jruby/pump.rb ruby-childprocess-0.3.1/lib/childprocess/jruby/pump.rb --- ruby-childprocess-0.3.0/lib/childprocess/jruby/pump.rb 2012-01-24 08:42:44.000000000 +1300 +++ ruby-childprocess-0.3.1/lib/childprocess/jruby/pump.rb 2012-02-13 23:37:37.000000000 +1300 @@ -30,6 +30,7 @@ while read != -1 avail = [@input.available, 1].max + avail = BUFFER_SIZE if avail > BUFFER_SIZE read = @input.read(buffer, 0, avail) if read > 0 diff -Nru ruby-childprocess-0.3.0/lib/childprocess/jruby.rb ruby-childprocess-0.3.1/lib/childprocess/jruby.rb --- ruby-childprocess-0.3.0/lib/childprocess/jruby.rb 2012-01-24 08:42:44.000000000 +1300 +++ ruby-childprocess-0.3.1/lib/childprocess/jruby.rb 2012-02-13 23:37:37.000000000 +1300 @@ -8,9 +8,9 @@ class Java::JavaIo::FileDescriptor if ChildProcess.os == :windows field_reader :handle - else - field_reader :fd end + + field_reader :fd end module ChildProcess diff -Nru ruby-childprocess-0.3.0/lib/childprocess/tools/generator.rb ruby-childprocess-0.3.1/lib/childprocess/tools/generator.rb --- ruby-childprocess-0.3.0/lib/childprocess/tools/generator.rb 2012-01-24 08:42:44.000000000 +1300 +++ ruby-childprocess-0.3.1/lib/childprocess/tools/generator.rb 2012-02-13 23:37:37.000000000 +1300 @@ -1,4 +1,3 @@ -require 'ffi' require 'fileutils' module ChildProcess @@ -120,8 +119,8 @@ end def result - if @sizeof.empty? - raise "no sizes collected, nothing to do" + if @sizeof.empty? && @constants.empty? + raise "no data collected, nothing to do" end out = ['module ChildProcess::Unix::Platform'] diff -Nru ruby-childprocess-0.3.0/lib/childprocess/unix/platform/i386-solaris.rb ruby-childprocess-0.3.1/lib/childprocess/unix/platform/i386-solaris.rb --- ruby-childprocess-0.3.0/lib/childprocess/unix/platform/i386-solaris.rb 1970-01-01 12:00:00.000000000 +1200 +++ ruby-childprocess-0.3.1/lib/childprocess/unix/platform/i386-solaris.rb 2012-02-13 23:37:37.000000000 +1300 @@ -0,0 +1,11 @@ +module ChildProcess::Unix::Platform + SIZEOF = { + :posix_spawn_file_actions_t => 4, + :posix_spawnattr_t => 4, + :sigset_t => 16 + } + POSIX_SPAWN_RESETIDS = 1 + POSIX_SPAWN_SETPGROUP = 2 + POSIX_SPAWN_SETSIGDEF = 4 + POSIX_SPAWN_SETSIGMASK = 8 +end diff -Nru ruby-childprocess-0.3.0/lib/childprocess/version.rb ruby-childprocess-0.3.1/lib/childprocess/version.rb --- ruby-childprocess-0.3.0/lib/childprocess/version.rb 2012-01-24 08:42:44.000000000 +1300 +++ ruby-childprocess-0.3.1/lib/childprocess/version.rb 2012-02-13 23:37:37.000000000 +1300 @@ -1,3 +1,3 @@ module ChildProcess - VERSION = "0.3.0" + VERSION = "0.3.1" end \ No newline at end of file diff -Nru ruby-childprocess-0.3.0/lib/childprocess/windows/lib.rb ruby-childprocess-0.3.1/lib/childprocess/windows/lib.rb --- ruby-childprocess-0.3.0/lib/childprocess/windows/lib.rb 2012-01-24 08:42:44.000000000 +1300 +++ ruby-childprocess-0.3.1/lib/childprocess/windows/lib.rb 2012-02-13 23:37:37.000000000 +1300 @@ -138,12 +138,12 @@ attach_function :terminate_process, :TerminateProcess, [:pointer, :uint], :bool # - # long _get_osfhandle( + # intptr_t _get_osfhandle( # int fd # ); # - attach_function :get_osfhandle, :_get_osfhandle, [:int], :long + attach_function :get_osfhandle, :_get_osfhandle, [:int], :intptr_t # # int _open_osfhandle ( diff -Nru ruby-childprocess-0.3.0/lib/childprocess/windows/process_builder.rb ruby-childprocess-0.3.1/lib/childprocess/windows/process_builder.rb --- ruby-childprocess-0.3.0/lib/childprocess/windows/process_builder.rb 2012-01-24 08:42:44.000000000 +1300 +++ ruby-childprocess-0.3.1/lib/childprocess/windows/process_builder.rb 2012-02-13 23:37:37.000000000 +1300 @@ -72,7 +72,7 @@ @inherit, # inherit handles @flags, # creation flags @env_ptr, # environment - nil, # current directory + cwd, # current directory startup_info, # startup info process_info # process info ) @@ -94,6 +94,10 @@ @flags |= DETACHED_PROCESS if @detach end + def cwd + @cwd ||= FFI::MemoryPointer.from_string(Dir.pwd) + end + def setup_io if @stdout || @stderr startup_info[:dwFlags] ||= 0 diff -Nru ruby-childprocess-0.3.0/lib/childprocess.rb ruby-childprocess-0.3.1/lib/childprocess.rb --- ruby-childprocess-0.3.0/lib/childprocess.rb 2012-01-24 08:42:44.000000000 +1300 +++ ruby-childprocess-0.3.1/lib/childprocess.rb 2012-02-13 23:37:37.000000000 +1300 @@ -11,7 +11,7 @@ class << self def new(*args) case os - when :macosx, :linux, :unix, :cygwin + when :macosx, :linux, :solaris, :bsd, :cygwin if posix_spawn? Unix::PosixSpawnProcess.new(args) elsif jruby? @@ -22,7 +22,7 @@ when :windows Windows::Process.new(args) else - raise Error, "unsupported platform #{platform.inspect}" + raise Error, "unsupported platform #{platform_name.inspect}" end end alias_method :build, :new @@ -101,8 +101,10 @@ :windows when /cygwin/ :cygwin - when /solaris|bsd/ - :unix + when /solaris|sunos/ + :solaris + when /bsd/ + :bsd else raise Error, "unknown os: #{host_os.inspect}" end @@ -144,7 +146,7 @@ elsif windows? Windows::Lib.dont_inherit file else - raise Error, "not sure how to set close-on-exec for #{file.inspect} on #{platform.inspect}" + raise Error, "not sure how to set close-on-exec for #{file.inspect} on #{platform_name.inspect}" end end diff -Nru ruby-childprocess-0.3.0/metadata.yml ruby-childprocess-0.3.1/metadata.yml --- ruby-childprocess-0.3.0/metadata.yml 2012-01-24 08:42:44.000000000 +1300 +++ ruby-childprocess-0.3.1/metadata.yml 2012-02-13 23:37:37.000000000 +1300 @@ -1,13 +1,13 @@ --- !ruby/object:Gem::Specification name: childprocess version: !ruby/object:Gem::Version - hash: 19 + hash: 17 prerelease: segments: - 0 - 3 - - 0 - version: 0.3.0 + - 1 + version: 0.3.1 platform: ruby authors: - Jari Bakken @@ -15,7 +15,7 @@ bindir: bin cert_chain: [] -date: 2012-01-13 00:00:00 Z +date: 2012-02-05 00:00:00 Z dependencies: - !ruby/object:Gem::Dependency name: rspec @@ -112,6 +112,7 @@ - lib/childprocess/unix/io.rb - lib/childprocess/unix/lib.rb - lib/childprocess/unix/platform/i386-linux.rb +- lib/childprocess/unix/platform/i386-solaris.rb - lib/childprocess/unix/platform/x86_64-linux.rb - lib/childprocess/unix/platform/x86_64-macosx.rb - lib/childprocess/unix/posix_spawn_process.rb @@ -161,7 +162,7 @@ requirements: [] rubyforge_project: childprocess -rubygems_version: 1.8.10 +rubygems_version: 1.8.15 signing_key: specification_version: 3 summary: This gem aims at being a simple and reliable solution for controlling external programs running in the background on any Ruby / OS combination. diff -Nru ruby-childprocess-0.3.0/spec/childprocess_spec.rb ruby-childprocess-0.3.1/spec/childprocess_spec.rb --- ruby-childprocess-0.3.0/spec/childprocess_spec.rb 2012-01-24 08:42:44.000000000 +1300 +++ ruby-childprocess-0.3.1/spec/childprocess_spec.rb 2012-02-13 23:37:37.000000000 +1300 @@ -138,14 +138,16 @@ process = ruby("print Dir.pwd") process.io.stdout = process.io.stderr = file + expected_dir = nil Dir.chdir(Dir.tmpdir) do + expected_dir = Dir.pwd process.start end process.wait file.rewind - file.read.should == Dir.tmpdir + file.read.should == expected_dir end end diff -Nru ruby-childprocess-0.3.0/spec/io_spec.rb ruby-childprocess-0.3.1/spec/io_spec.rb --- ruby-childprocess-0.3.0/spec/io_spec.rb 2012-01-24 08:42:44.000000000 +1300 +++ ruby-childprocess-0.3.1/spec/io_spec.rb 2012-02-13 23:37:37.000000000 +1300 @@ -128,4 +128,25 @@ wait_until { can_bind? "127.0.0.1", port } end + + it "handles long output" do + process = ruby <<-CODE + print 'a'*3000 + CODE + + out = Tempfile.new("long-output") + out.sync = true + + begin + process.io.stdout = out + + process.start + process.wait + + out.rewind + out.read.size.should == 3000 + ensure + out.close + end + end end diff -Nru ruby-childprocess-0.3.0/spec/spec_helper.rb ruby-childprocess-0.3.1/spec/spec_helper.rb --- ruby-childprocess-0.3.0/spec/spec_helper.rb 2012-01-24 08:42:44.000000000 +1300 +++ ruby-childprocess-0.3.1/spec/spec_helper.rb 2012-02-13 23:37:37.000000000 +1300 @@ -151,7 +151,7 @@ @process && @process.alive? && @process.stop } - if ChildProcess.jruby? && !ChildProcess.posix_spawn? + if ChildProcess.jruby? && ChildProcess.new("true").instance_of?(ChildProcess::JRuby::Process) c.filter_run_excluding :process_builder => false end