The package rpms/rubygem-puma.git has added or updated architecture specific content in
its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rubygem-puma.git/commit/?id=6befd....
Change:
-%ifnarch armv7hl
Thanks.
Full change:
============
commit 9f335d4418bdd58ee0f36b77804c96553d98ae49
Author: Jun Aruga <jaruga(a)redhat.com>
Date: Mon Aug 21 13:11:29 2017 +0200
Fix for unstable test.
diff --git a/rubygem-puma.spec b/rubygem-puma.spec
index 98e570c..9a4915c 100644
--- a/rubygem-puma.spec
+++ b/rubygem-puma.spec
@@ -3,7 +3,7 @@
Name: rubygem-%{gem_name}
Version: 3.10.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: A simple, fast, threaded, and highly concurrent HTTP 1.1 server
Group: Development/Languages
License: BSD
@@ -95,6 +95,8 @@ tar xzf %{SOURCE3}
# We do not ship minitest-retry.
sed -i "/require 'minitest\/retry'/ s/^/#/" test/helper.rb
sed -i "/Minitest::Retry/ s/^/#/" test/helper.rb
+# Extend timeout time for unstable test: test_timeout_in_data_phase.
+sed -i '/::Timeout.timeout/ s/60/180/' test/helper.rb
# Make binary exension available in Ruby load path.
# Enable verbose mode to check unstable tests easily.
@@ -128,6 +130,9 @@ popd
%{gem_instdir}/tools
%changelog
+* Mon Aug 21 2017 Jun Aruga <jaruga(a)redhat.com> - 3.10.0-2
+- Fix for unstable test.
+
* Fri Aug 18 2017 Jun Aruga <jaruga(a)redhat.com> - 3.10.0-1
- Update to Puma 3.10.0.
commit 6befd81e754642bc39c5a5c423d28a2d0b9881fb
Author: Jun Aruga <jaruga(a)redhat.com>
Date: Mon Aug 21 11:10:18 2017 +0200
Update to Puma 3.10.0.
diff --git a/.gitignore b/.gitignore
index 84224f9..cca1fe8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,6 @@
/puma-3.9.1-tests.tgz
/puma-3.9.1.gem
/stopgap_13632-1.0.1.gem
+/puma-3.10.0-examples.tgz
+/puma-3.10.0-tests.tgz
+/puma-3.10.0.gem
diff --git a/rubygem-puma-3.9.1-fix-integration-test.patch
b/rubygem-puma-3.9.1-fix-integration-test.patch
deleted file mode 100644
index d543849..0000000
--- a/rubygem-puma-3.9.1-fix-integration-test.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From c00758199bbca387372d4910b60a1aaf0987a001 Mon Sep 17 00:00:00 2001
-From: Jun Aruga <jaruga(a)redhat.com>
-Date: Wed, 9 Aug 2017 16:37:17 +0200
-Subject: [PATCH] Fix failed tests for "rake test:integration".
-
----
- test/shell/t1.rb | 2 +-
- test/shell/t2_conf.rb | 2 +-
- test/shell/t3.rb | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/test/shell/t1.rb b/test/shell/t1.rb
-index ce2f3e0c..a79e8fe1 100644
---- a/test/shell/t1.rb
-+++ b/test/shell/t1.rb
-@@ -1,4 +1,4 @@
--system "ruby -rubygems -I../../lib ../../bin/puma -p 10102 -C t1_conf.rb
../hello.ru &"
-+system "ruby -rubygems -I../../lib ../../bin/puma -p 10102 -C t1_conf.rb
../rackup/hello.ru &"
- sleep 5
- system "curl
http://localhost:10102/"
-
-diff --git a/test/shell/t2_conf.rb b/test/shell/t2_conf.rb
-index 47d58e7e..d4de7ff7 100644
---- a/test/shell/t2_conf.rb
-+++ b/test/shell/t2_conf.rb
-@@ -2,5 +2,5 @@
- stdout_redirect "t2-stdout"
- pidfile "t2-pid"
- bind "tcp://0.0.0.0:10103"
--rackup File.expand_path('../hello.ru', File.dirname(__FILE__))
-+rackup File.expand_path('../rackup/hello.ru', File.dirname(__FILE__))
- daemonize
-diff --git a/test/shell/t3.rb b/test/shell/t3.rb
-index 2d48bca3..e9f566c4 100644
---- a/test/shell/t3.rb
-+++ b/test/shell/t3.rb
-@@ -1,4 +1,4 @@
--system "ruby -rubygems -I../../lib ../../bin/puma -p 10102 -C t3_conf.rb
../hello.ru &"
-+system "ruby -rubygems -I../../lib ../../bin/puma -p 10102 -C t3_conf.rb
../rackup/hello.ru &"
- sleep 5
-
- worker_pid_was_present = File.file? "t3-worker-2-pid"
diff --git a/rubygem-puma-3.9.1-fix-stream-closed.patch
b/rubygem-puma-3.9.1-fix-stream-closed.patch
deleted file mode 100644
index 338bafa..0000000
--- a/rubygem-puma-3.9.1-fix-stream-closed.patch
+++ /dev/null
@@ -1,217 +0,0 @@
-From 42e8d6e4e6680509f1d5a500cf41ba25e4d288fb Mon Sep 17 00:00:00 2001
-From: Nikolay Vashchenko <sir.nickolas(a)gmail.com>
-Date: Wed, 19 Jul 2017 21:22:36 +0300
-Subject: [PATCH] temporary workaround for
-
https://bugs.ruby-lang.org/issues/13632 (#1345)
-
-* temporary workaround for
https://bugs.ruby-lang.org/issues/13632
-Purging interrupt queue if IOError was caught.
-
-* fixing only if mri
-
-* optimization to avoid redundant checks in empty queue
-
-* scoping fix to only affected versions
-
-* serving ruby version from mkmf
-
-* safe invoking for the workaround
-
-* switching to preprocessor vars
-
-* purging queue on runtime error
-
-* rubocop fix
-
-* covering workaround
-
-* improving names
-
-* styling
-
-* rubocop fixes
-
-* improved test reporting
-
-* wording
-
-* condition
-
-* improving comment
-
-* bugfix moved to separate gem:
https://rubygems.org/gems/stopgap_13632
-
-* using stopgap_13632 in gemfile to fix the builds
-
-* requiring stopgap for tests
----
- Gemfile | 6 ++++++
- lib/puma/client.rb | 1 +
- lib/puma/cluster.rb | 3 +++
- lib/puma/minissl.rb | 1 +
- lib/puma/reactor.rb | 3 +++
- lib/puma/server.rb | 12 ++++++++++++
- test/helper.rb | 2 ++
- 7 files changed, 28 insertions(+)
-
-diff --git a/Gemfile b/Gemfile
-index a01c700..3ac4e74 100644
---- a/Gemfile
-+++ b/Gemfile
-@@ -12,3 +12,9 @@ gem "rack", "< 3.0"
- gem "minitest", "~> 5.9"
-
- gem "jruby-openssl", :platform => "jruby"
-+
-+gem "rubocop", "~> 0.49.1"
-+
-+if %w(2.2.7 2.3.4 2.4.1).include? RUBY_VERSION
-+ gem "stopgap_13632", "~> 1.0", :platform => "mri"
-+end
-diff --git a/lib/puma/client.rb b/lib/puma/client.rb
-index fba3115..0e12c31 100644
---- a/lib/puma/client.rb
-+++ b/lib/puma/client.rb
-@@ -111,6 +111,7 @@ module Puma
- begin
- @io.close
- rescue IOError
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
- end
- end
-
-diff --git a/lib/puma/cluster.rb b/lib/puma/cluster.rb
-index 44cb8b4..7bd3cc4 100644
---- a/lib/puma/cluster.rb
-+++ b/lib/puma/cluster.rb
-@@ -224,6 +224,7 @@ module Puma
- begin
- @wakeup.write "!" unless @wakeup.closed?
- rescue SystemCallError, IOError
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
- end
- end
-
-@@ -267,6 +268,7 @@ module Puma
- begin
- @worker_write << "b#{Process.pid}\n"
- rescue SystemCallError, IOError
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
- STDERR.puts "Master seems to have exited, exiting."
- return
- end
-@@ -282,6 +284,7 @@ module Puma
- payload = %Q!#{base_payload}{ "backlog":#{b},
"running":#{r} }\n!
- io << payload
- rescue IOError
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
- break
- end
- end
-diff --git a/lib/puma/minissl.rb b/lib/puma/minissl.rb
-index 88ded26..0ce2b92 100644
---- a/lib/puma/minissl.rb
-+++ b/lib/puma/minissl.rb
-@@ -125,6 +125,7 @@ module Puma
- break if done
- end
- rescue IOError, SystemCallError
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
- # nothing
- ensure
- @socket.close
-diff --git a/lib/puma/reactor.rb b/lib/puma/reactor.rb
-index 5c1cb62..12366ed 100644
---- a/lib/puma/reactor.rb
-+++ b/lib/puma/reactor.rb
-@@ -28,6 +28,7 @@ module Puma
- begin
- ready = IO.select sockets, nil, nil, @sleep_for
- rescue IOError => e
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
- if sockets.any? { |socket| socket.closed? }
- STDERR.puts "Error in select: #{e.message} (#{e.class})"
- STDERR.puts e.backtrace
-@@ -195,6 +196,7 @@ module Puma
- begin
- @trigger << "c"
- rescue IOError
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
- end
- end
-
-@@ -202,6 +204,7 @@ module Puma
- begin
- @trigger << "!"
- rescue IOError
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
- end
-
- @thread.join
-diff --git a/lib/puma/server.rb b/lib/puma/server.rb
-index 97efa85..6b23b4d 100644
---- a/lib/puma/server.rb
-+++ b/lib/puma/server.rb
-@@ -111,6 +111,7 @@ module Puma
- begin
- socket.setsockopt(6, 3, 1) if socket.kind_of? TCPSocket
- rescue IOError, SystemCallError
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
- end
- end
-
-@@ -118,6 +119,7 @@ module Puma
- begin
- socket.setsockopt(6, 3, 0) if socket.kind_of? TCPSocket
- rescue IOError, SystemCallError
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
- end
- end
-
-@@ -128,6 +130,7 @@ module Puma
- begin
- tcp_info = socket.getsockopt(Socket::SOL_TCP, Socket::TCP_INFO)
- rescue IOError, SystemCallError
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
- @precheck_closing = false
- false
- else
-@@ -491,6 +494,7 @@ module Puma
- begin
- client.close if close_socket
- rescue IOError, SystemCallError
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
- # Already closed
- rescue StandardError => e
- @events.unknown_error self, e, "Client"
-@@ -901,6 +905,14 @@ module Puma
- @notify << STOP_COMMAND
- rescue IOError
- # The server, in another thread, is shutting down
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
-+ rescue RuntimeError => e
-+ # Temporary workaround for
https://bugs.ruby-lang.org/issues/13239
-+ if e.message.include?('IOError')
-+ Thread.current.purge_interrupt_queue if Thread.current.respond_to?
:purge_interrupt_queue
-+ else
-+ raise e
-+ end
- end
-
- @thread.join if @thread && sync
-diff --git a/test/helper.rb b/test/helper.rb
-index d0ec019..6a6de99 100644
---- a/test/helper.rb
-+++ b/test/helper.rb
-@@ -1,6 +1,8 @@
- # Copyright (c) 2011 Evan Phoenix
- # Copyright (c) 2005 Zed A. Shaw
-
-+require 'stopgap_13632' if %w(2.2.7 2.3.4 2.4.1).include? RUBY_VERSION
-+
- begin
- require "bundler/setup"
- rescue LoadError
---
-2.9.4
-
diff --git a/rubygem-puma.spec b/rubygem-puma.spec
index 1941def..98e570c 100644
--- a/rubygem-puma.spec
+++ b/rubygem-puma.spec
@@ -2,7 +2,7 @@
%global gem_name puma
Name: rubygem-%{gem_name}
-Version: 3.9.1
+Version: 3.10.0
Release: 1%{?dist}
Summary: A simple, fast, threaded, and highly concurrent HTTP 1.1 server
Group: Development/Languages
@@ -11,24 +11,14 @@ URL:
http://puma.io
Source0:
https://rubygems.org/gems/%{gem_name}-%{version}.gem
# The puma gem doesn't ship with the test suite.
# git clone
https://github.com/puma/puma.git && cd puma
-# git checkout v3.9.1 && tar czvf puma-3.9.1-tests.tgz test/
+# git checkout v3.10.0 && tar czvf puma-3.10.0-tests.tgz test/
Source1: %{gem_name}-%{version}-tests.tgz
# The puma gem doesn't ship with the examples used in test suite.
-# tar czvf puma-3.9.1-examples.tgz examples/
+# tar czvf puma-3.10.0-examples.tgz examples/
Source3: %{gem_name}-%{version}-examples.tgz
-# This gem is needed in PATCH3.
-#
https://rubygems.org/gems/stopgap_13632
-Source4: stopgap_13632-1.0.1.gem
# Set the default cipher list "PROFILE=SYSTEM".
#
https://fedoraproject.org/wiki/Packaging:CryptoPolicies
Patch2: rubygem-puma-3.6.0-fedora-crypto-policy-cipher-list.patch
-# Fix stream closed error in tests on Ruby 2.4.1.
-#
https://github.com/puma/puma/commit/9141613
-#
https://bugs.ruby-lang.org/issues/13632
-Patch3: rubygem-puma-3.9.1-fix-stream-closed.patch
-# Fix integration test.
-#
https://github.com/puma/puma/pull/1390
-Patch4: rubygem-puma-3.9.1-fix-integration-test.patch
BuildRequires: openssl-devel
BuildRequires: ruby(release)
BuildRequires: rubygems-devel
@@ -58,13 +48,6 @@ gem unpack %{SOURCE0}
gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
-# Remove .github directory before the ri and rdoc document are created
-# to fix for rpmlint.
-#
https://github.com/puma/puma/pull/1391
-sed -i -e '/s\.files/ s|".github/issue_template.md".freeze, ||' \
- %{gem_name}.gemspec
-sed -i -e '/s\.extra_rdoc_files/ s|".github/issue_template.md".freeze,
||' \
- %{gem_name}.gemspec
%patch2 -p1
# Regenarate the parser.
@@ -103,31 +86,15 @@ find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
find %{buildroot}%{gem_instdir}/bin -type f | \
xargs sed -i 's|^#!/usr/bin/env ruby$|#!/usr/bin/ruby|'
-# To prevent "IOError: stream closed" on buildArch: armv7hl on Ruby 2.4.1.
-# Skipping check section for armv7hl is better than current build failure.
-%ifnarch armv7hl
# Run the test suite
%check
pushd .%{gem_instdir}
tar xzf %{SOURCE1}
tar xzf %{SOURCE3}
-# This patch has a issue on armv7h.
-# To prevent a segmentation fault on buildArch: armv7hl by the patch.
-#
https://github.com/NickolasVashchenko/stopgap_13632/issues/2
-%ifnarch armv7hl
-gem install --local %{SOURCE4}
-cat %{PATCH3} | patch -p1 -F 0
-%endif
-
-cat %{PATCH4} | patch -p1 -F 0
-
-# To prevent a segmentation fault in timeout.rb on buildArch: armv7hl.
-sed -i '/^module TimeoutEveryTestCase$/,/^end$/ s/::Timeout.*$/super/' \
- test/helper.rb
-
-# Log stdout and stderr of the test to detect an error easily.
-sed -i '/ruby / s| > /dev/null 2>&1||' test/shell/run.sh
+# We do not ship minitest-retry.
+sed -i "/require 'minitest\/retry'/ s/^/#/" test/helper.rb
+sed -i "/Minitest::Retry/ s/^/#/" test/helper.rb
# Make binary exension available in Ruby load path.
# Enable verbose mode to check unstable tests easily.
@@ -137,14 +104,10 @@ RUBYOPT="-Ilib:test:.:$(dirs +1 -l)%{gem_extdir_mri}" CI=1
ruby \
-- -v
# Integration test
-pushd test/shell
# Make binary exension available in Ruby load path.
-RUBYOPT="-I$(dirs +2 -l)%{gem_extdir_mri}" sh -x run.sh
+RUBYOPT="-I$(dirs +1 -l)%{gem_extdir_mri}" ruby test/shell/run.rb
popd
-popd
-%endif
-
%files
%dir %{gem_instdir}
%{_bindir}/puma
@@ -159,19 +122,15 @@ popd
%files doc
%doc %{gem_docdir}
-%doc %{gem_instdir}/DEPLOYMENT.md
-%{gem_instdir}/Gemfile
%doc %{gem_instdir}/History.md
-%doc %{gem_instdir}/Manifest.txt
%doc %{gem_instdir}/README.md
-%{gem_instdir}/Rakefile
-%doc %{gem_instdir}/Release.md
%doc %{gem_instdir}/docs
-%{gem_instdir}/gemfiles
-%{gem_instdir}/puma.gemspec
%{gem_instdir}/tools
%changelog
+* Fri Aug 18 2017 Jun Aruga <jaruga(a)redhat.com> - 3.10.0-1
+- Update to Puma 3.10.0.
+
* Wed Aug 09 2017 Jun Aruga <jaruga(a)redhat.com> - 3.9.1-1
- Update to Puma 3.9.1.
diff --git a/sources b/sources
index 9a4884a..62a1755 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,3 @@
-SHA512 (puma-3.9.1-examples.tgz) =
98b35f46c02374d4c89bf917436c851b19d38871a2f86afbb392fa6dd8f63422cc36d2663f2d4a506667fc364445580e819bb5aeafee4f8c14fd51f0c9f87b7c
-SHA512 (puma-3.9.1-tests.tgz) =
e7c48fbfcb95d24796c6d7ab0d99deb78552c9dcf139733031c74ff1e768e2801982fa698b05a840d18303e7a6369f169eb32731a19663c31bdf753fac5c9a76
-SHA512 (puma-3.9.1.gem) =
025c271342fcbfa0b5493a2ce88fad665064cdb5eaf2123f27cb35a513d7ff1001c287f6336ba69d0acb5996690edbe2f4013081ce55d52e0954059251be1567
-SHA512 (stopgap_13632-1.0.1.gem) =
cb5a2cc97aed530b83f80fe3254d65358cc9bebaeea65abbe1da00a92654b37c2db5f0378c53297ca6c2990f599e71cb4c88d407ab2f662976b08b105cb77635
+SHA512 (puma-3.10.0-examples.tgz) =
f8f6d2be488c81a9c50ecb47251bd061f792438a705af42b4e4f3d5a21b7fa3529b4aff7d9192a34914fbbb99a142c8b3bd7cdeb8ea082e3f34609e0de0d144c
+SHA512 (puma-3.10.0-tests.tgz) =
fb0908317634500929aa39eca1fd6940c243ad99847947fce5f95d6e16d5f6a42264aaae8481050db991c8cff85b70962572281801b19cb997196c1a257eaee6
+SHA512 (puma-3.10.0.gem) =
7387193820649c1000c3e37d231c18ea1a32f37d284ab2139b91671804c24407cb4ab926f88a047bd9dc398cfdc10cb7b8fd440175035b2ef28cbc618288a7dd