Sun Mar 8 15:35:47 2015 UTC ()
Update ruby-unicorn to 4.8.3.

pkgsrc change:

* Add ${GEM_EXTSDIR}/gem.build_complete for new rubygems and updated ruby.

=== unicorn 4.8.3 - the end of an era / 2014-05-07 07:50 UTC

  This release updates documentation to reflect the migration of the
  mailing list to a new public-inbox[1] instance.  This is necessary
  due to the impending RubyForge shutdown on May 15, 2014.

  The public-inbox address is: unicorn-public@bogomips.org
      (no subscription required, plain text only)
  ssoma[2] git archives: git://bogomips.org/unicorn-public
  browser-friendly archives: http://bogomips.org/unicorn-public/

  Using, getting help for, and contributing to unicorn will never
  require any of the following:

  1) non-Free software (including SaaS)
  2) registration or sign-in of any kind
  3) a real identity (we accept mail from Mixmaster)
  4) a graphical user interface

  Nowadays, plain-text email is the only ubiquitous platform which
  meets all our requirements for communication.

  There is also one small bugfix to handle premature grandparent death
  upon initial startup.  Most users are unaffected.

  [1] policy: http://public-inbox.org/ - git://80x24.org/public-inbox
      an "archives first" approach to mailing lists
  [2] mechanism: http://ssoma.public-inbox.org/ - git://80x24.org/ssoma
      some sort of mail archiver (using git)

=== unicorn 4.8.2 - avoid race condition during worker startup / 2014-02-05 18:24 UTC

  We close SELF_PIPE in the worker immediately, but signal handlers
  do not get setup immediately.  So prevent workers from erroring out
  due to invalid SELF_PIPE.

=== unicorn 4.8.1 / 2014-01-29 08:48 UTC

  fix races/error handling in worker SIGQUIT handler

  This protects us from two problems:

  1) we (or our app) somehow called IO#close on one of the sockets
     we listen on without removing it from the readers array.
     We'll ignore IOErrors from IO#close and assume we wanted to
     close it.

  2) our SIGQUIT handler is interrupted by itself.  This can happen as
     a fake signal from the master could be handled and a real signal
     from an outside user is sent to us (e.g. from unicorn-worker-killer)
     or if a user uses the killall(1) command.

=== unicorn 4.8.0 - big internal changes, but compatible / 2014-01-11 07:34 UTC

  This release contains fairly major internal workings of master-to-worker
  notifications.  The master process no longer sends signals to workers
  for most tasks.  This works around some compatibility issues with some
  versions of the "pg" gem (and potentially any other code which may not
  handle EINTR properly).  One extra benefit is it also helps stray
  workers notice a rare, unexpected master death more easily.  Workers
  continue to (and will always) accept existing signals for compatibility
  with tools/scripts which may signal workers.

  PID file are always written early (even on upgrade) again to avoid
  breaking strange monitoring setups which use PID files.  Keep in mind we
  have always discouraged monitoring based on PID files as they are
  fragile.

  We now avoid bubbling IOError to the Rack app on premature client
  disconnects when streaming the input body.  This is usually not a
  problem with nginx, but may be on some LAN setups without nginx).

  Thanks to Sam Saffron, Jimmy Soho, Rodrigo Rosenfeld Rosas,
  Michael Fischer, and Andrew Hobson for their help with this release.

  Note: the unicorn mailing list will be moved/changed soon due to the
  RubyForge shutdown.  unicorn will always rely only on Free Software.
  There will never be any sign-up requirements nor terms-of-service to
  agree to when communicating with us.

=== unicorn 4.8.0pre1 / 2013-12-09 09:51 UTC

  Eric Wong (6):
        tests: fix SO_REUSEPORT tests for old Linux and non-Linux
        stream_input: avoid IO#close on client disconnect
        t0300: kill off stray processes in test
        always write PID file early for compatibility
        doc: clarify SIGNALS and reference init example
        rework master-to-worker signaling to use a pipe

=== unicorn 4.7.0 - minor updates, license tweak / 2013-11-04 06:59 UTC

  * support SO_REUSEPORT on new listeners (:reuseport)

  This allows users to start an independent instance of unicorn on
  a the same port as a running unicorn (as long as both instances
  use :reuseport).

  ref: https://lwn.net/Articles/542629/

  * unicorn is now GPLv2-or-later and Ruby 1.8-licensed
  (instead of GPLv2-only, GPLv3-only, and Ruby 1.8-licensed)

  This changes nothing at the moment.  Once the FSF publishes the next
  version of the GPL, users may choose the newer GPL version without the
  unicorn BDFL approving it.  Two years ago when I got permission to add
  GPLv3 to the license options, I also got permission from all past
  contributors to approve future versions of the GPL.  So now I'm
  approving all future versions of the GPL for use with unicorn.

  Reasoning below:

  In case the GPLv4 arrives and I am not alive to approve/review it,
  the lesser of evils is have give blanket approval of all future GPL
  versions (as published by the FSF).  The worse evil is to be stuck
  with a license which cannot guarantee the Free-ness of this project
  in the future.

  This unfortunately means the FSF can theoretically come out with
  license terms I do not agree with, but the GPLv2 and GPLv3 will
  always be an option to all users.

  Note: we currently prefer GPLv3

  Two improvements thanks to Ernest W. Durbin III:

  * USR2 redirects fixed for Ruby 1.8.6 (broken since 4.1.0)
  * unicorn(1) and unicorn_rails(1) enforces valid integer for -p/--port

  A few more odd, minor tweaks and fixes:

  * attempt to rename PID file when possible (on USR2)
  * workaround reopen atomicity issues for stdio vs non-stdio
  * improve handling of client-triggerable socket errors


(taca)
diff -r1.6 -r1.7 pkgsrc/www/ruby-unicorn/Makefile
diff -r1.6 -r1.7 pkgsrc/www/ruby-unicorn/PLIST
diff -r1.5 -r1.6 pkgsrc/www/ruby-unicorn/distinfo

cvs diff -r1.6 -r1.7 pkgsrc/www/ruby-unicorn/Makefile (expand / switch to unified diff)

--- pkgsrc/www/ruby-unicorn/Makefile 2014/03/13 11:08:53 1.6
+++ pkgsrc/www/ruby-unicorn/Makefile 2015/03/08 15:35:47 1.7
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.6 2014/03/13 11:08:53 jperkin Exp $ 1# $NetBSD: Makefile,v 1.7 2015/03/08 15:35:47 taca Exp $
2 2
3DISTNAME= unicorn-4.6.3 3DISTNAME= unicorn-4.8.3
4CATEGORIES= www 4CATEGORIES= www
5 5
6MAINTAINER= pkgsrc@NetBSD.org 6MAINTAINER= pkgsrc@NetBSD.org
7HOMEPAGE= http://unicorn.bogomips.org/ 7HOMEPAGE= http://unicorn.bogomips.org/
8COMMENT= Rack HTTP server for fast clients and Unix 8COMMENT= Rack HTTP server for fast clients and Unix
9LICENSE= ruby-license OR gnu-gpl-v2 OR gnu-gpl-v3 9LICENSE= ruby-license OR gnu-gpl-v2 OR gnu-gpl-v3
10 10
11CONFLICTS= ruby[1-9][0-9]-unicorn-[0-9]* 11CONFLICTS= ruby[1-9][0-9]-unicorn-[0-9]*
12 12
13DEPENDS+= ${RUBY_PKGPREFIX}-kgio>=2.6<3:../../devel/ruby-kgio 13DEPENDS+= ${RUBY_PKGPREFIX}-kgio>=2.6<3:../../devel/ruby-kgio
14DEPENDS+= ${RUBY_PKGPREFIX}-rack-[0-9]*:../../www/ruby-rack 14DEPENDS+= ${RUBY_PKGPREFIX}-rack-[0-9]*:../../www/ruby-rack
15DEPENDS+= ${RUBY_PKGPREFIX}-raindrops>=0.7<1:../../www/ruby-raindrops 15DEPENDS+= ${RUBY_PKGPREFIX}-raindrops>=0.7<1:../../www/ruby-raindrops
16 16

cvs diff -r1.6 -r1.7 pkgsrc/www/ruby-unicorn/PLIST (expand / switch to unified diff)

--- pkgsrc/www/ruby-unicorn/PLIST 2014/03/26 13:45:12 1.6
+++ pkgsrc/www/ruby-unicorn/PLIST 2015/03/08 15:35:47 1.7
@@ -1,17 +1,18 @@ @@ -1,17 +1,18 @@
1@comment $NetBSD: PLIST,v 1.6 2014/03/26 13:45:12 taca Exp $ 1@comment $NetBSD: PLIST,v 1.7 2015/03/08 15:35:47 taca Exp $
2bin/unicorn 2bin/unicorn
3bin/unicorn_rails 3bin/unicorn_rails
4${GEM_HOME}/cache/${GEM_NAME}.gem 4${GEM_HOME}/cache/${GEM_NAME}.gem
 5${GEM_EXTSDIR}/gem.build_complete
5${GEM_EXTSDIR}/unicorn_http.${RUBY_DLEXT} 6${GEM_EXTSDIR}/unicorn_http.${RUBY_DLEXT}
6${GEM_LIBDIR}/.CHANGELOG.old 7${GEM_LIBDIR}/.CHANGELOG.old
7${GEM_LIBDIR}/.document 8${GEM_LIBDIR}/.document
8${GEM_LIBDIR}/.gitignore 9${GEM_LIBDIR}/.gitignore
9${GEM_LIBDIR}/.mailmap 10${GEM_LIBDIR}/.mailmap
10${GEM_LIBDIR}/.manifest 11${GEM_LIBDIR}/.manifest
11${GEM_LIBDIR}/.wrongdoc.yml 12${GEM_LIBDIR}/.wrongdoc.yml
12${GEM_LIBDIR}/Application_Timeouts 13${GEM_LIBDIR}/Application_Timeouts
13${GEM_LIBDIR}/CONTRIBUTORS 14${GEM_LIBDIR}/CONTRIBUTORS
14${GEM_LIBDIR}/COPYING 15${GEM_LIBDIR}/COPYING
15${GEM_LIBDIR}/ChangeLog 16${GEM_LIBDIR}/ChangeLog
16${GEM_LIBDIR}/DESIGN 17${GEM_LIBDIR}/DESIGN
17${GEM_LIBDIR}/Documentation/.gitignore 18${GEM_LIBDIR}/Documentation/.gitignore
@@ -26,26 +27,28 @@ ${GEM_LIBDIR}/HACKING @@ -26,26 +27,28 @@ ${GEM_LIBDIR}/HACKING
26${GEM_LIBDIR}/ISSUES 27${GEM_LIBDIR}/ISSUES
27${GEM_LIBDIR}/KNOWN_ISSUES 28${GEM_LIBDIR}/KNOWN_ISSUES
28${GEM_LIBDIR}/LATEST 29${GEM_LIBDIR}/LATEST
29${GEM_LIBDIR}/LICENSE 30${GEM_LIBDIR}/LICENSE
30${GEM_LIBDIR}/Links 31${GEM_LIBDIR}/Links
31${GEM_LIBDIR}/NEWS 32${GEM_LIBDIR}/NEWS
32${GEM_LIBDIR}/PHILOSOPHY 33${GEM_LIBDIR}/PHILOSOPHY
33${GEM_LIBDIR}/README 34${GEM_LIBDIR}/README
34${GEM_LIBDIR}/Rakefile 35${GEM_LIBDIR}/Rakefile
35${GEM_LIBDIR}/SIGNALS 36${GEM_LIBDIR}/SIGNALS
36${GEM_LIBDIR}/Sandbox 37${GEM_LIBDIR}/Sandbox
37${GEM_LIBDIR}/TODO 38${GEM_LIBDIR}/TODO
38${GEM_LIBDIR}/TUNING 39${GEM_LIBDIR}/TUNING
 40${GEM_LIBDIR}/archive/.gitignore
 41${GEM_LIBDIR}/archive/slrnpull.conf
39${GEM_LIBDIR}/bin/unicorn 42${GEM_LIBDIR}/bin/unicorn
40${GEM_LIBDIR}/bin/unicorn_rails 43${GEM_LIBDIR}/bin/unicorn_rails
41${GEM_LIBDIR}/examples/big_app_gc.rb 44${GEM_LIBDIR}/examples/big_app_gc.rb
42${GEM_LIBDIR}/examples/echo.ru 45${GEM_LIBDIR}/examples/echo.ru
43${GEM_LIBDIR}/examples/git.ru 46${GEM_LIBDIR}/examples/git.ru
44${GEM_LIBDIR}/examples/init.sh 47${GEM_LIBDIR}/examples/init.sh
45${GEM_LIBDIR}/examples/logger_mp_safe.rb 48${GEM_LIBDIR}/examples/logger_mp_safe.rb
46${GEM_LIBDIR}/examples/logrotate.conf 49${GEM_LIBDIR}/examples/logrotate.conf
47${GEM_LIBDIR}/examples/nginx.conf 50${GEM_LIBDIR}/examples/nginx.conf
48${GEM_LIBDIR}/examples/unicorn.conf.minimal.rb 51${GEM_LIBDIR}/examples/unicorn.conf.minimal.rb
49${GEM_LIBDIR}/examples/unicorn.conf.rb 52${GEM_LIBDIR}/examples/unicorn.conf.rb
50${GEM_LIBDIR}/ext/unicorn_http/CFLAGS 53${GEM_LIBDIR}/ext/unicorn_http/CFLAGS
51${GEM_LIBDIR}/ext/unicorn_http/c_util.h 54${GEM_LIBDIR}/ext/unicorn_http/c_util.h
@@ -96,27 +99,26 @@ ${GEM_LIBDIR}/t/bin/unused_listen @@ -96,27 +99,26 @@ ${GEM_LIBDIR}/t/bin/unused_listen
96${GEM_LIBDIR}/t/broken-app.ru 99${GEM_LIBDIR}/t/broken-app.ru
97${GEM_LIBDIR}/t/detach.ru 100${GEM_LIBDIR}/t/detach.ru
98${GEM_LIBDIR}/t/env.ru 101${GEM_LIBDIR}/t/env.ru
99${GEM_LIBDIR}/t/fails-rack-lint.ru 102${GEM_LIBDIR}/t/fails-rack-lint.ru
100${GEM_LIBDIR}/t/heartbeat-timeout.ru 103${GEM_LIBDIR}/t/heartbeat-timeout.ru
101${GEM_LIBDIR}/t/hijack.ru 104${GEM_LIBDIR}/t/hijack.ru
102${GEM_LIBDIR}/t/listener_names.ru 105${GEM_LIBDIR}/t/listener_names.ru
103${GEM_LIBDIR}/t/my-tap-lib.sh 106${GEM_LIBDIR}/t/my-tap-lib.sh
104${GEM_LIBDIR}/t/oob_gc.ru 107${GEM_LIBDIR}/t/oob_gc.ru
105${GEM_LIBDIR}/t/oob_gc_path.ru 108${GEM_LIBDIR}/t/oob_gc_path.ru
106${GEM_LIBDIR}/t/pid.ru 109${GEM_LIBDIR}/t/pid.ru
107${GEM_LIBDIR}/t/preread_input.ru 110${GEM_LIBDIR}/t/preread_input.ru
108${GEM_LIBDIR}/t/rack-input-tests.ru 111${GEM_LIBDIR}/t/rack-input-tests.ru
109${GEM_LIBDIR}/t/sslgen.sh 
110${GEM_LIBDIR}/t/t0000-http-basic.sh 112${GEM_LIBDIR}/t/t0000-http-basic.sh
111${GEM_LIBDIR}/t/t0001-reload-bad-config.sh 113${GEM_LIBDIR}/t/t0001-reload-bad-config.sh
112${GEM_LIBDIR}/t/t0002-config-conflict.sh 114${GEM_LIBDIR}/t/t0002-config-conflict.sh
113${GEM_LIBDIR}/t/t0002-parser-error.sh 115${GEM_LIBDIR}/t/t0002-parser-error.sh
114${GEM_LIBDIR}/t/t0003-working_directory.sh 116${GEM_LIBDIR}/t/t0003-working_directory.sh
115${GEM_LIBDIR}/t/t0004-heartbeat-timeout.sh 117${GEM_LIBDIR}/t/t0004-heartbeat-timeout.sh
116${GEM_LIBDIR}/t/t0004-working_directory_broken.sh 118${GEM_LIBDIR}/t/t0004-working_directory_broken.sh
117${GEM_LIBDIR}/t/t0005-working_directory_app.rb.sh 119${GEM_LIBDIR}/t/t0005-working_directory_app.rb.sh
118${GEM_LIBDIR}/t/t0006-reopen-logs.sh 120${GEM_LIBDIR}/t/t0006-reopen-logs.sh
119${GEM_LIBDIR}/t/t0006.ru 121${GEM_LIBDIR}/t/t0006.ru
120${GEM_LIBDIR}/t/t0007-working_directory_no_embed_cli.sh 122${GEM_LIBDIR}/t/t0007-working_directory_no_embed_cli.sh
121${GEM_LIBDIR}/t/t0008-back_out_of_upgrade.sh 123${GEM_LIBDIR}/t/t0008-back_out_of_upgrade.sh
122${GEM_LIBDIR}/t/t0009-broken-app.sh 124${GEM_LIBDIR}/t/t0009-broken-app.sh
@@ -131,27 +133,26 @@ ${GEM_LIBDIR}/t/t0014.ru @@ -131,27 +133,26 @@ ${GEM_LIBDIR}/t/t0014.ru
131${GEM_LIBDIR}/t/t0015-configurator-internals.sh 133${GEM_LIBDIR}/t/t0015-configurator-internals.sh
132${GEM_LIBDIR}/t/t0016-trust-x-forwarded-false.sh 134${GEM_LIBDIR}/t/t0016-trust-x-forwarded-false.sh
133${GEM_LIBDIR}/t/t0017-trust-x-forwarded-true.sh 135${GEM_LIBDIR}/t/t0017-trust-x-forwarded-true.sh
134${GEM_LIBDIR}/t/t0018-write-on-close.sh 136${GEM_LIBDIR}/t/t0018-write-on-close.sh
135${GEM_LIBDIR}/t/t0019-max_header_len.sh 137${GEM_LIBDIR}/t/t0019-max_header_len.sh
136${GEM_LIBDIR}/t/t0020-at_exit-handler.sh 138${GEM_LIBDIR}/t/t0020-at_exit-handler.sh
137${GEM_LIBDIR}/t/t0021-process_detach.sh 139${GEM_LIBDIR}/t/t0021-process_detach.sh
138${GEM_LIBDIR}/t/t0022-listener_names-preload_app.sh 140${GEM_LIBDIR}/t/t0022-listener_names-preload_app.sh
139${GEM_LIBDIR}/t/t0100-rack-input-tests.sh 141${GEM_LIBDIR}/t/t0100-rack-input-tests.sh
140${GEM_LIBDIR}/t/t0116-client_body_buffer_size.sh 142${GEM_LIBDIR}/t/t0116-client_body_buffer_size.sh
141${GEM_LIBDIR}/t/t0116.ru 143${GEM_LIBDIR}/t/t0116.ru
142${GEM_LIBDIR}/t/t0200-rack-hijack.sh 144${GEM_LIBDIR}/t/t0200-rack-hijack.sh
143${GEM_LIBDIR}/t/t0300-no-default-middleware.sh 145${GEM_LIBDIR}/t/t0300-no-default-middleware.sh
144${GEM_LIBDIR}/t/t0600-https-server-basic.sh 
145${GEM_LIBDIR}/t/t9000-preread-input.sh 146${GEM_LIBDIR}/t/t9000-preread-input.sh
146${GEM_LIBDIR}/t/t9001-oob_gc.sh 147${GEM_LIBDIR}/t/t9001-oob_gc.sh
147${GEM_LIBDIR}/t/t9002-oob_gc-path.sh 148${GEM_LIBDIR}/t/t9002-oob_gc-path.sh
148${GEM_LIBDIR}/t/test-lib.sh 149${GEM_LIBDIR}/t/test-lib.sh
149${GEM_LIBDIR}/t/write-on-close.ru 150${GEM_LIBDIR}/t/write-on-close.ru
150${GEM_LIBDIR}/test/aggregate.rb 151${GEM_LIBDIR}/test/aggregate.rb
151${GEM_LIBDIR}/test/benchmark/README 152${GEM_LIBDIR}/test/benchmark/README
152${GEM_LIBDIR}/test/benchmark/dd.ru 153${GEM_LIBDIR}/test/benchmark/dd.ru
153${GEM_LIBDIR}/test/benchmark/stack.ru 154${GEM_LIBDIR}/test/benchmark/stack.ru
154${GEM_LIBDIR}/test/exec/README 155${GEM_LIBDIR}/test/exec/README
155${GEM_LIBDIR}/test/exec/test_exec.rb 156${GEM_LIBDIR}/test/exec/test_exec.rb
156${GEM_LIBDIR}/test/test_helper.rb 157${GEM_LIBDIR}/test/test_helper.rb
157${GEM_LIBDIR}/test/unit/test_configurator.rb 158${GEM_LIBDIR}/test/unit/test_configurator.rb

cvs diff -r1.5 -r1.6 pkgsrc/www/ruby-unicorn/distinfo (expand / switch to unified diff)

--- pkgsrc/www/ruby-unicorn/distinfo 2013/09/15 18:01:47 1.5
+++ pkgsrc/www/ruby-unicorn/distinfo 2015/03/08 15:35:47 1.6
@@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
1$NetBSD: distinfo,v 1.5 2013/09/15 18:01:47 taca Exp $ 1$NetBSD: distinfo,v 1.6 2015/03/08 15:35:47 taca Exp $
2 2
3SHA1 (unicorn-4.6.3.gem) = f5b6cc7d78184b9740299c7475876a7857814c15 3SHA1 (unicorn-4.8.3.gem) = 87c5e54e3054c0bfb2befe22de1c81429070b15f
4RMD160 (unicorn-4.6.3.gem) = 1c18b744ac60f235f027682512f7106b456f7f6d 4RMD160 (unicorn-4.8.3.gem) = 4152737ad3cf74c3ee458357b1d100bc671658df
5Size (unicorn-4.6.3.gem) = 261120 bytes 5Size (unicorn-4.8.3.gem) = 271360 bytes