Hello community,
here is the log from the commit of package rubygem-childprocess for
openSUSE:Factory checked in at 2020-09-12 00:12:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-childprocess (Old)
and /work/SRC/openSUSE:Factory/.rubygem-childprocess.new.4249 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-childprocess"
Sat Sep 12 00:12:44 2020 rev:28 rq:829970 version:4.0.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-childprocess/rubygem-childprocess.changes
2019-11-13 13:27:02.275617031 +0100
+++
/work/SRC/openSUSE:Factory/.rubygem-childprocess.new.4249/rubygem-childprocess.changes
2020-09-12 00:13:24.141265226 +0200
@@ -1,0 +2,11 @@
+Wed Aug 26 14:53:48 UTC 2020 - Dan Čermák <[email protected]>
+
+- New upstream release 4.0.0
+
+ * [#167](https://github.com/enkessler/childprocess/pull/167): Fix detach
behavior on Windows
+ * [#168](https://github.com/enkessler/childprocess/pull/168): Drop support
for Ruby 2.3
+
+- packaging changes:
+ * drop development only files
+
+-------------------------------------------------------------------
Old:
----
childprocess-3.0.0.gem
New:
----
childprocess-4.0.0.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-childprocess.spec ++++++
--- /var/tmp/diff_new_pack.FM61mD/_old 2020-09-12 00:13:25.301266336 +0200
+++ /var/tmp/diff_new_pack.FM61mD/_new 2020-09-12 00:13:25.305266340 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-childprocess
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,15 +24,15 @@
#
Name: rubygem-childprocess
-Version: 3.0.0
+Version: 4.0.0
Release: 0
%define mod_name childprocess
%define mod_full_name %{mod_name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: %{ruby >= 2.3.0}
+BuildRequires: %{ruby >= 2.4.0}
BuildRequires: %{rubygem gem2rpm}
BuildRequires: ruby-macros >= 5
-Url: http://github.com/enkessler/childprocess
+URL: http://github.com/enkessler/childprocess
Source: https://rubygems.org/gems/%{mod_full_name}.gem
Source1: gem2rpm.yml
Summary: A simple and reliable solution for controlling external
programs
@@ -51,6 +51,10 @@
%gem_install \
--doc-files="CHANGELOG.md LICENSE README.md" \
-f
+# MANUAL
+# delete custom files here or do other fancy stuff
+find %{buildroot}/%{_libdir}/ruby/gems/ \( -name '.document' -o -name
'.travis.yml' -o -name '.gitignore' -o -name '.rspec' \) | xargs rm
+# /MANUAL
%gem_packages
++++++ childprocess-3.0.0.gem -> childprocess-4.0.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/.travis.yml new/.travis.yml
--- old/.travis.yml 2019-09-20 15:31:04.000000000 +0200
+++ new/.travis.yml 2020-06-18 08:32:02.000000000 +0200
@@ -4,7 +4,6 @@
rvm:
- rbx-3
- - 2.3
- 2.4
- 2.5
- 2.6
@@ -16,9 +15,7 @@
before_install:
- "echo 'gem: --no-document' > ~/.gemrc"
- # RubyGems update is supported for Ruby 2.3 and later
- - ruby -e "system('gem update --system') if Gem::Version.new(RUBY_VERSION)
>= Gem::Version.new('2.3')"
- - gem install bundler --version '~> 1.17'
+ - gem install bundler
before_script:
- 'export JAVA_OPTS="${JAVA_OPTS_FOR_SPECS}"'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2019-09-20 15:31:04.000000000 +0200
+++ new/CHANGELOG.md 2020-06-18 08:32:02.000000000 +0200
@@ -1,6 +1,10 @@
+### Version 4.0.0 / 2020-06-18
+
+* [#167](https://github.com/enkessler/childprocess/pull/167): Fix detach
behavior on Windows
+
### Version 3.0.0 / 2019-09-20
-* [#156](https://github.com/enkessler/childprocess/pull/156)Remove unused
`rubyforge_project` from gemspec
+* [#156](https://github.com/enkessler/childprocess/pull/156): Remove unused
`rubyforge_project` from gemspec
* [#160](https://github.com/enkessler/childprocess/pull/160): Remove extension
to conditionally install `ffi` gem on Windows platforms
* [#160](https://github.com/enkessler/childprocess/pull/160): Remove runtime
dependency on `rake` gem
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md 2019-09-20 15:31:04.000000000 +0200
+++ new/README.md 2020-06-18 08:32:02.000000000 +0200
@@ -14,7 +14,7 @@
# Requirements
-* Ruby 2.3+, JRuby 9+
+* Ruby 2.4+, JRuby 9+
Windows users **must** ensure the `ffi` gem (`>= 1.0.11`) is installed in
order to use ChildProcess.
@@ -69,21 +69,33 @@
```ruby
r, w = IO.pipe
-proc = ChildProcess.build("echo", "foo")
-proc.io.stdout = proc.io.stderr = w
-proc.start
-
-Thread.new {
- begin
- loop do
- print r.readpartial(8192)
+begin
+ process = ChildProcess.build("sh" , "-c",
+ "for i in {1..3}; do echo $i; sleep 1; done")
+ process.io.stdout = w
+ process.start # This results in a fork, inheriting the write end of the pipe.
+
+ # Close parent's copy of the write end of the pipe so when the (forked) child
+ # process closes its write end of the pipe the parent receives EOF when
+ # attempting to read from it. If the parent leaves its write end open, it
+ # will not detect EOF.
+ w.close
+
+ thread = Thread.new do
+ begin
+ loop do
+ print r.readpartial(16384)
+ end
+ rescue EOFError
+ # Child has closed the write end of the pipe
end
- rescue EOFError
end
-}
-proc.wait
-w.close
+ process.wait
+ thread.join
+ensure
+ r.close
+end
```
Note that if you just want to get the output of a command, the backtick method
on Kernel may be a better fit.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/appveyor.yml new/appveyor.yml
--- old/appveyor.yml 2019-09-20 15:31:04.000000000 +0200
+++ new/appveyor.yml 2020-06-18 08:32:02.000000000 +0200
@@ -4,12 +4,6 @@
matrix:
- CHILDPROCESS_POSIX_SPAWN: true
CHILDPROCESS_UNSET: should-be-unset
- RUBY_VERSION: 23-x64
- - CHILDPROCESS_POSIX_SPAWN: false
- CHILDPROCESS_UNSET: should-be-unset
- RUBY_VERSION: 23-x64
- - CHILDPROCESS_POSIX_SPAWN: true
- CHILDPROCESS_UNSET: should-be-unset
RUBY_VERSION: 24-x64
- CHILDPROCESS_POSIX_SPAWN: false
CHILDPROCESS_UNSET: should-be-unset
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/childprocess.gemspec new/childprocess.gemspec
--- old/childprocess.gemspec 2019-09-20 15:31:04.000000000 +0200
+++ new/childprocess.gemspec 2020-06-18 08:32:02.000000000 +0200
@@ -18,7 +18,7 @@
s.test_files = `git ls-files -- spec/*`.split("\n")
s.require_paths = ["lib"]
- s.required_ruby_version = '>= 2.3.0'
+ s.required_ruby_version = '>= 2.4.0'
s.add_development_dependency "rspec", "~> 3.0"
s.add_development_dependency "yard", "~> 0.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/childprocess/version.rb
new/lib/childprocess/version.rb
--- old/lib/childprocess/version.rb 2019-09-20 15:31:04.000000000 +0200
+++ new/lib/childprocess/version.rb 2020-06-18 08:32:02.000000000 +0200
@@ -1,3 +1,3 @@
module ChildProcess
- VERSION = '3.0.0'
+ VERSION = '4.0.0'
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/childprocess/windows/process.rb
new/lib/childprocess/windows/process.rb
--- old/lib/childprocess/windows/process.rb 2019-09-20 15:31:04.000000000
+0200
+++ new/lib/childprocess/windows/process.rb 2020-06-18 08:32:02.000000000
+0200
@@ -71,7 +71,7 @@
@handle = Handle.open @pid
if leader?
- @job = Job.new
+ @job = Job.new(detach?, true)
@job << @handle
end
@@ -93,7 +93,7 @@
class Job
- def initialize
+ def initialize(detach, leader)
@pointer = Lib.create_job_object(nil, nil)
if @pointer.nil? || @pointer.null?
@@ -101,7 +101,8 @@
end
basic = JobObjectBasicLimitInformation.new
- basic[:LimitFlags] = JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE |
JOB_OBJECT_LIMIT_BREAKAWAY_OK
+ basic[:LimitFlags] |= JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE if !detach
+ basic[:LimitFlags] |= JOB_OBJECT_LIMIT_BREAKAWAY_OK if leader
extended = JobObjectExtendedLimitInformation.new
extended[:BasicLimitInformation] = basic
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2019-09-20 15:31:04.000000000 +0200
+++ new/metadata 2020-06-18 08:32:02.000000000 +0200
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: childprocess
version: !ruby/object:Gem::Version
- version: 3.0.0
+ version: 4.0.0
platform: ruby
authors:
- Jari Bakken
@@ -10,7 +10,7 @@
autorequire:
bindir: bin
cert_chain: []
-date: 2019-09-20 00:00:00.000000000 Z
+date: 2020-06-18 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: rspec
@@ -123,14 +123,14 @@
requirements:
- - ">="
- !ruby/object:Gem::Version
- version: 2.3.0
+ version: 2.4.0
required_rubygems_version: !ruby/object:Gem::Requirement
requirements:
- - ">="
- !ruby/object:Gem::Version
version: '0'
requirements: []
-rubygems_version: 3.0.3
+rubygems_version: 3.1.1
signing_key:
specification_version: 4
summary: A simple and reliable solution for controlling external programs
running
++++++ gem2rpm.yml ++++++
--- /var/tmp/diff_new_pack.FM61mD/_old 2020-09-12 00:13:25.417266447 +0200
+++ /var/tmp/diff_new_pack.FM61mD/_new 2020-09-12 00:13:25.417266447 +0200
@@ -33,9 +33,9 @@
# export USE_VENDORED_LIBEV="no"
# %endif
# ## used by gem2rpm
-# :post_install: |-
-# # delete custom files here or do other fancy stuff
-# install -D -m 0644 %{S:1} %{buildroot}%{_bindir}/gem2rpm-opensuse
+:post_install: |-
+ # delete custom files here or do other fancy stuff
+ find %{buildroot}/%{_libdir}/ruby/gems/ \( -name '.document' -o -name
'.travis.yml' -o -name '.gitignore' -o -name '.rspec' \) | xargs rm
# ## used by gem2rpm
# :testsuite_command: |-
# (pushd %{buildroot}%{gem_base}/gems/%{mod_full_name} && rake test)