Hello community, here is the log from the commit of package rubygem-unicorn for openSUSE:Factory checked in at 2018-09-20 11:41:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-unicorn (Old) and /work/SRC/openSUSE:Factory/.rubygem-unicorn.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "rubygem-unicorn" Thu Sep 20 11:41:51 2018 rev:6 rq:635256 version:5.4.1 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-unicorn/rubygem-unicorn.changes 2018-03-06 10:46:27.730074003 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-unicorn.new/rubygem-unicorn.changes 2018-09-20 11:41:51.624842419 +0200 @@ -1,0 +2,35 @@ +Wed Sep 5 10:46:42 UTC 2018 - coolo@suse.com + +- updated to version 5.4.1 + see installed NEWS + + === unicorn 5.4.0 / 2017-12-23 23:33 UTC + + Rack hijack support improves as the app code can capture and use + the Rack `env' privately without copying it (to avoid clobbering + by another client). Thanks to Sam Saffron for reporting and + testing this new feature: + https://bogomips.org/unicorn-public/CAAtdryPG3nLuyo0jxfYW1YHu1Q+ZpkLkd4KdWC8... + + We also now support $DEBUG being set by the Rack app (instead of + relying on the "-d" CLI switch). Thanks to James P Robinson Jr + for reporting this bug: + https://bogomips.org/unicorn-public/D6324CB4.7BC3E%25james.robinson3@cigna.c... + (Coincidentally, this fix will be irrelevant for Ruby 2.5 + which requires 'pp' by default) + + There's a few minor test cleanups and documentation updates, too. + + All commits since v5.3.1 (2017-10-03): + + reduce method calls with String#start_with? + require 'pp' if $DEBUG is set by Rack app + avoid reusing env on hijack + tests: cleanup some unused variable warnings + ISSUES: add a note about Debian BTS interopability + + Roughly all mailing discussions since the last release: + + https://bogomips.org/unicorn-public/?q=d:20171004..20171223 + +------------------------------------------------------------------- Old: ---- unicorn-5.4.0.gem New: ---- unicorn-5.4.1.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-unicorn.spec ++++++ --- /var/tmp/diff_new_pack.wpwgFl/_old 2018-09-20 11:41:52.152842109 +0200 +++ /var/tmp/diff_new_pack.wpwgFl/_new 2018-09-20 11:41:52.152842109 +0200 @@ -24,7 +24,7 @@ # Name: rubygem-unicorn -Version: 5.4.0 +Version: 5.4.1 Release: 0 %define mod_name unicorn %define mod_full_name %{mod_name}-%{version} ++++++ unicorn-5.4.0.gem -> unicorn-5.4.1.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GIT-VERSION-FILE new/GIT-VERSION-FILE --- old/GIT-VERSION-FILE 2017-12-24 00:34:18.000000000 +0100 +++ new/GIT-VERSION-FILE 2018-07-23 19:15:18.000000000 +0200 @@ -1 +1 @@ -GIT_VERSION = 5.4.0 +GIT_VERSION = 5.4.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GIT-VERSION-GEN new/GIT-VERSION-GEN --- old/GIT-VERSION-GEN 2017-12-24 00:34:18.000000000 +0100 +++ new/GIT-VERSION-GEN 2018-07-23 19:15:18.000000000 +0200 @@ -1,5 +1,5 @@ #!/usr/bin/env ruby -DEF_VER = "v5.4.0" +DEF_VER = "v5.4.1" CONSTANT = "Unicorn::Const::UNICORN_VERSION" RVF = "lib/unicorn/version.rb" GVF = "GIT-VERSION-FILE" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/LATEST new/LATEST --- old/LATEST 2017-12-24 00:34:18.000000000 +0100 +++ new/LATEST 2018-07-23 19:15:18.000000000 +0200 @@ -1,13 +1,29 @@ -=== unicorn 5.3.1 / 2017-10-03 19:03 UTC +=== unicorn 5.4.0 / 2017-12-23 23:33 UTC - This release fixes an occasional GC problem introduced in v5.3.0 - to reduce global variable overhead (commit 979ebcf91705709b) + Rack hijack support improves as the app code can capture and use + the Rack `env' privately without copying it (to avoid clobbering + by another client). Thanks to Sam Saffron for reporting and + testing this new feature: + https://bogomips.org/unicorn-public/CAAtdryPG3nLuyo0jxfYW1YHu1Q+ZpkLkd4KdWC8... - Thanks to Xuanzhong Wei for the patch which lead to this release: + We also now support $DEBUG being set by the Rack app (instead of + relying on the "-d" CLI switch). Thanks to James P Robinson Jr + for reporting this bug: + https://bogomips.org/unicorn-public/D6324CB4.7BC3E%25james.robinson3@cigna.c... + (Coincidentally, this fix will be irrelevant for Ruby 2.5 + which requires 'pp' by default) - https://bogomips.org/unicorn-public/20171003182054.76392-1-azrlew@gmail.com/... - https://bogomips.org/unicorn-public/20171003145718.30404-1-azrlew@gmail.com/... + There's a few minor test cleanups and documentation updates, too. - Xuanzhong Wei (1): - fix GC issue on rb_global_variable array + All commits since v5.3.1 (2017-10-03): + + reduce method calls with String#start_with? + require 'pp' if $DEBUG is set by Rack app + avoid reusing env on hijack + tests: cleanup some unused variable warnings + ISSUES: add a note about Debian BTS interopability + + Roughly all mailing discussions since the last release: + + https://bogomips.org/unicorn-public/?q=d:20171004..20171223 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NEWS new/NEWS --- old/NEWS 2017-12-24 00:34:18.000000000 +0100 +++ new/NEWS 2018-07-23 19:15:18.000000000 +0200 @@ -1,3 +1,32 @@ +=== unicorn 5.4.0 / 2017-12-23 23:33 UTC + + Rack hijack support improves as the app code can capture and use + the Rack `env' privately without copying it (to avoid clobbering + by another client). Thanks to Sam Saffron for reporting and + testing this new feature: + https://bogomips.org/unicorn-public/CAAtdryPG3nLuyo0jxfYW1YHu1Q+ZpkLkd4KdWC8... + + We also now support $DEBUG being set by the Rack app (instead of + relying on the "-d" CLI switch). Thanks to James P Robinson Jr + for reporting this bug: + https://bogomips.org/unicorn-public/D6324CB4.7BC3E%25james.robinson3@cigna.c... + (Coincidentally, this fix will be irrelevant for Ruby 2.5 + which requires 'pp' by default) + + There's a few minor test cleanups and documentation updates, too. + + All commits since v5.3.1 (2017-10-03): + + reduce method calls with String#start_with? + require 'pp' if $DEBUG is set by Rack app + avoid reusing env on hijack + tests: cleanup some unused variable warnings + ISSUES: add a note about Debian BTS interopability + + Roughly all mailing discussions since the last release: + + https://bogomips.org/unicorn-public/?q=d:20171004..20171223 + === unicorn 5.3.1 / 2017-10-03 19:03 UTC This release fixes an occasional GC problem introduced in v5.3.0 Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/unicorn/http_server.rb new/lib/unicorn/http_server.rb --- old/lib/unicorn/http_server.rb 2017-12-24 00:34:18.000000000 +0100 +++ new/lib/unicorn/http_server.rb 2018-07-23 19:15:18.000000000 +0200 @@ -553,9 +553,9 @@ @workers[pid] = worker worker.atfork_parent end - rescue => e - @logger.error(e) rescue nil - exit! + rescue => e + @logger.error(e) rescue nil + exit! end def maintain_worker_count @@ -586,7 +586,7 @@ client.kgio_trywrite(err_response(code, @request.response_start_sent)) end client.close - rescue + rescue end def e100_response_write(client, env) @@ -669,9 +669,9 @@ logger.info "worker=#{worker_nr} reopening logs..." Unicorn::Util.reopen_logs logger.info "worker=#{worker_nr} done reopening logs" - rescue => e - logger.error(e) rescue nil - exit!(77) # EX_NOPERM in sysexits.h + rescue => e + logger.error(e) rescue nil + exit!(77) # EX_NOPERM in sysexits.h end # runs inside each forked worker, this sits around and waits @@ -757,11 +757,11 @@ wpid <= 0 and return Process.kill(0, wpid) wpid - rescue Errno::EPERM - logger.info "pid=#{path} possibly stale, got EPERM signalling PID:#{wpid}" - nil - rescue Errno::ESRCH, Errno::ENOENT - # don't unlink stale pid files, racy without non-portable locking... + rescue Errno::EPERM + logger.info "pid=#{path} possibly stale, got EPERM signalling PID:#{wpid}" + nil + rescue Errno::ESRCH, Errno::ENOENT + # don't unlink stale pid files, racy without non-portable locking... end def load_config! diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/unicorn/socket_helper.rb new/lib/unicorn/socket_helper.rb --- old/lib/unicorn/socket_helper.rb 2017-12-24 00:34:18.000000000 +0100 +++ new/lib/unicorn/socket_helper.rb 2018-07-23 19:15:18.000000000 +0200 @@ -100,8 +100,8 @@ log_buffer_sizes(sock, " after: ") end sock.listen(opt[:backlog]) - rescue => e - Unicorn.log_error(logger, "#{sock_name(sock)} #{opt.inspect}", e) + rescue => e + Unicorn.log_error(logger, "#{sock_name(sock)} #{opt.inspect}", e) end def log_buffer_sizes(sock, pfx = '') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/unicorn/util.rb new/lib/unicorn/util.rb --- old/lib/unicorn/util.rb 2017-12-24 00:34:18.000000000 +0100 +++ new/lib/unicorn/util.rb 2018-07-23 19:15:18.000000000 +0200 @@ -11,8 +11,8 @@ fp.stat.file? && fp.sync && (fp.fcntl(Fcntl::F_GETFL) & append_flags) == append_flags - rescue IOError, Errno::EBADF - false + rescue IOError, Errno::EBADF + false end def self.chown_logs(uid, gid) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/unicorn/version.rb new/lib/unicorn/version.rb --- old/lib/unicorn/version.rb 2017-12-24 00:34:18.000000000 +0100 +++ new/lib/unicorn/version.rb 2018-07-23 19:15:18.000000000 +0200 @@ -1 +1 @@ -Unicorn::Const::UNICORN_VERSION = '5.4.0' +Unicorn::Const::UNICORN_VERSION = '5.4.1' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/man/man1/unicorn.1 new/man/man1/unicorn.1 --- old/man/man1/unicorn.1 2017-12-24 00:34:18.000000000 +0100 +++ new/man/man1/unicorn.1 2018-07-23 19:15:18.000000000 +0200 @@ -1,4 +1,7 @@ +.\" Automatically generated by Pandoc 1.17.2 +.\" .TH "UNICORN" "1" "September 15, 2009" "Unicorn User Manual" "" +.hy .SH NAME .PP unicorn \- a rackup\-like command to launch the Unicorn HTTP server @@ -61,10 +64,9 @@ Defaults to "0.0.0.0:8080" (all addresses on TCP port 8080) For production deployments, specifying the "listen" directive in CONFIG_FILE is recommended as it allows fine\-tuning of socket options. +\-N, \-\-no\-default\-middleware .RS .RE -.TP -.B \-N, \-\-no\-default\-middleware Disables loading middleware implied by RACK_ENV. This bypasses the configuration documented in the RACK ENVIRONMENT section, but still allows RACK_ENV to be used for @@ -116,8 +118,8 @@ .RE .TP .B \-I, \-\-include PATH -specify -\f[I]L\f[]\f[I]O\f[]\f[I]A\f[]\f[I]D\f[]~\f[I]P\f[]~\f[I]A\f[]\f[I]T\f[]\f[I]H\f[].\f[I]P\f[]\f[I]A\f[]\f[I]T\f[]\f[I]H\f[]\f[I]w\f[]\f[I]i\f[]\f[I]l\f[]\f[I]l\f[]\f[I]b\f[]\f[I]e\f[]\f[I]p\f[]\f[I]r\f[]\f[I]e\f[]\f[I]p\f[]\f[I]e\f[]\f[I]n\f[]\f[I]d\f[]\f[I]e\f[]\f[I]d\f[]\f[I]t\f[]\f[I]o\f[]LOAD_PATH. +specify $LOAD_PATH. +PATH will be prepended to $LOAD_PATH. The \[aq]:\[aq] character may be used to delimit multiple directories. This directive may be used more than once. Modifications to $LOAD_PATH take place immediately and in the order they diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/man/man1/unicorn_rails.1 new/man/man1/unicorn_rails.1 --- old/man/man1/unicorn_rails.1 2017-12-24 00:34:18.000000000 +0100 +++ new/man/man1/unicorn_rails.1 2018-07-23 19:15:18.000000000 +0200 @@ -1,4 +1,7 @@ +.\" Automatically generated by Pandoc 1.17.2 +.\" .TH "UNICORN_RAILS" "1" "September 17, 2009" "Unicorn User Manual" "" +.hy .SH NAME .PP unicorn_rails \- unicorn launcher for Rails 1.x and 2.x users @@ -125,8 +128,8 @@ .RE .TP .B \-I, \-\-include PATH -specify -\f[I]L\f[]\f[I]O\f[]\f[I]A\f[]\f[I]D\f[]~\f[I]P\f[]~\f[I]A\f[]\f[I]T\f[]\f[I]H\f[].\f[I]P\f[]\f[I]A\f[]\f[I]T\f[]\f[I]H\f[]\f[I]w\f[]\f[I]i\f[]\f[I]l\f[]\f[I]l\f[]\f[I]b\f[]\f[I]e\f[]\f[I]p\f[]\f[I]r\f[]\f[I]e\f[]\f[I]p\f[]\f[I]e\f[]\f[I]n\f[]\f[I]d\f[]\f[I]e\f[]\f[I]d\f[]\f[I]t\f[]\f[I]o\f[]LOAD_PATH. +specify $LOAD_PATH. +PATH will be prepended to $LOAD_PATH. The \[aq]:\[aq] character may be used to delimit multiple directories. This directive may be used more than once. Modifications to $LOAD_PATH take place immediately and in the order they diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2017-12-24 00:34:18.000000000 +0100 +++ new/metadata 2018-07-23 19:15:18.000000000 +0200 @@ -1,14 +1,14 @@ --- !ruby/object:Gem::Specification name: unicorn version: !ruby/object:Gem::Version - version: 5.4.0 + version: 5.4.1 platform: ruby authors: - unicorn hackers autorequire: bindir: bin cert_chain: [] -date: 2017-12-23 00:00:00.000000000 Z +date: 2018-07-23 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: rack @@ -288,7 +288,7 @@ version: '0' requirements: [] rubyforge_project: -rubygems_version: 2.7.3 +rubygems_version: 2.7.7 signing_key: specification_version: 4 summary: Rack HTTP server for fast clients and Unix diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/exec/test_exec.rb new/test/exec/test_exec.rb --- old/test/exec/test_exec.rb 2017-12-24 00:34:18.000000000 +0100 +++ new/test/exec/test_exec.rb 2018-07-23 19:15:18.000000000 +0200 @@ -193,8 +193,8 @@ assert_equal other.path, results.first Process.kill(:QUIT, pid) - ensure - FileUtils.rmtree(other.path) + ensure + FileUtils.rmtree(other.path) end def test_working_directory @@ -229,8 +229,8 @@ assert_equal other.path, results.first Process.kill(:QUIT, pid) - ensure - FileUtils.rmtree(other.path) + ensure + FileUtils.rmtree(other.path) end def test_working_directory_controls_relative_paths @@ -271,11 +271,10 @@ wait_master_ready("#{other.path}/stderr_log_here") Process.kill(:QUIT, pid) - ensure - FileUtils.rmtree(other.path) + ensure + FileUtils.rmtree(other.path) end - def test_exit_signals %w(INT TERM QUIT).each do |sig| File.open("config.ru", "wb") { |fp| fp.syswrite(HI) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/unit/test_ccc.rb new/test/unit/test_ccc.rb --- old/test/unit/test_ccc.rb 2017-12-24 00:34:18.000000000 +0100 +++ new/test/unit/test_ccc.rb 2018-07-23 19:15:18.000000000 +0200 @@ -44,7 +44,7 @@ # make sure the server is running, at least client = TCPSocket.new(host, port) client.write("GET / HTTP/1.1\r\nHost: example.com\r\n\r\n") - assert client.wait_readable(10), 'never got response from server' + assert client.wait(10), 'never got response from server' res = client.read assert_match %r{\AHTTP/1\.1 200}, res, 'got part of first response' assert_match %r{\r\n\r\n\z}, res, 'got end of response, server is ready' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/unit/test_server.rb new/test/unit/test_server.rb --- old/test/unit/test_server.rb 2017-12-24 00:34:18.000000000 +0100 +++ new/test/unit/test_server.rb 2018-07-23 19:15:18.000000000 +0200 @@ -17,9 +17,9 @@ while env['rack.input'].read(4096) end [200, { 'Content-Type' => 'text/plain' }, ['hello!\n']] - rescue Unicorn::ClientShutdown, Unicorn::HttpParserError => e - $stderr.syswrite("#{e.class}: #{e.message} #{e.backtrace.empty?}\n") - raise e + rescue Unicorn::ClientShutdown, Unicorn::HttpParserError => e + $stderr.syswrite("#{e.class}: #{e.message} #{e.backtrace.empty?}\n") + raise e end end @@ -80,8 +80,8 @@ loader_pid = tmp.sysread(4096).to_i assert_equal $$, loader_pid assert worker_pid != loader_pid - ensure - tmp.close! + ensure + tmp.close! end def test_broken_app diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/unit/test_signals.rb new/test/unit/test_signals.rb --- old/test/unit/test_signals.rb 2017-12-24 00:34:18.000000000 +0100 +++ new/test/unit/test_signals.rb 2018-07-23 19:15:18.000000000 +0200 @@ -114,8 +114,8 @@ assert_nil buf assert diff > 1.0, "diff was #{diff.inspect}" assert diff < 60.0 - ensure - Process.kill(:TERM, pid) rescue nil + ensure + Process.kill(:TERM, pid) rescue nil end def test_response_write diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/unit/test_socket_helper.rb new/test/unit/test_socket_helper.rb --- old/test/unit/test_socket_helper.rb 2017-12-24 00:34:18.000000000 +0100 +++ new/test/unit/test_socket_helper.rb 2018-07-23 19:15:18.000000000 +0200 @@ -57,8 +57,8 @@ assert File.readable?(@unix_listener_path), "not readable" assert File.writable?(@unix_listener_path), "not writable" assert_equal 0777, File.umask - ensure - File.umask(old_umask) + ensure + File.umask(old_umask) end def test_bind_listen_unix_umask @@ -71,8 +71,8 @@ assert_equal @unix_listener_path, sock_name(@unix_listener) assert_equal 0140700, File.stat(@unix_listener_path).mode assert_equal 0777, File.umask - ensure - File.umask(old_umask) + ensure + File.umask(old_umask) end def test_bind_listen_unix_idempotent diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unicorn.gemspec new/unicorn.gemspec --- old/unicorn.gemspec 2017-12-24 00:34:18.000000000 +0100 +++ new/unicorn.gemspec 2018-07-23 19:15:18.000000000 +0200 @@ -11,7 +11,7 @@ Gem::Specification.new do |s| s.name = %q{unicorn} - s.version = (ENV['VERSION'] || '5.4.0').dup + s.version = (ENV['VERSION'] || '5.4.1').dup s.authors = ['unicorn hackers'] s.summary = 'Rack HTTP server for fast clients and Unix' s.description = File.read('README').split("\n\n")[1]