pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/www/ruby-unicorn Update to 5.3.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/7191d66a4f07
branches:  trunk
changeset: 360846:7191d66a4f07
user:      wen <wen%pkgsrc.org@localhost>
date:      Sun Apr 09 04:12:39 2017 +0000

description:
Update to 5.3.0

Upstream changes:
unicorn 5.3.0 / 2017-04-01 08:03 UTC

A couple of portability fixes from Dylan Thacker-Smith and
Jeremy Evans since 5.3.0.pre1 over a week ago, but this looks
ready for a stable release, today.

When I started this over 8 years ago, I wondered if this would
just end up being an April Fools' joke.  Guess not.  I guess I
somehow tricked people into using a terribly marketed web server
that cannot talk directly to untrusted clients :x  Anyways,
unicorn won't be able to handle slow clients 8 years from now,
either, or 80 years from now.  And I vow never to learn to use
new-fangled things like epoll, kqueue, or threads :P

Anyways, this is a largish release with several new features,
and no backwards incompatibilities.

Simon Eskildsen contributed heavily using TCP_INFO under Linux
to implement the (now 5 year old) check_client_connection feature:

  https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-check_client_connection
  https://bogomips.org/unicorn-public/?q=s:check_client_connection&d:..20170401&x=t

This also led to FreeBSD and OpenBSD portability improvements in
one of our dependencies, raindrops:

   https://bogomips.org/raindrops-public/20170323024829.GA5190@dcvr/T/#u

Jeremy Evans contributed several new features.  First he
implemented after_worker_exit to aid debugging:

  https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-after_worker_exit
  https://bogomips.org/unicorn-public/?q=s:after_worker_exit&d:..20170401&x=t#t

And then security-related features to isolate workers.  Workers
may now chroot to drop access to the master filesystem, and the
new after_worker_ready configuration hook now exists to aid with
chroot support in workers:

  https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-after_worker_ready
  https://bogomips.org/unicorn/Unicorn/Worker.html#method-i-user
  https://bogomips.org/unicorn-public/?q=s:after_worker_ready&d:..20170401&x=t#t
  https://bogomips.org/unicorn-public/?q=s:chroot&d:..20170401&x=t#t

Additionally, workers may run in a completely different VM space
(nullifying preload_app and any CoW savings) with the new
worker_exec option:

  https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-worker_exec
  https://bogomips.org/unicorn-public/?q=s:worker_exec&d:..20170401&x=t#t

There are also several improvements to FreeBSD and OpenBSD
support with the addition of these features.

shortlog of changes since v5.2.0 (2016-10-31):

Dylan Thacker-Smith (1):
      Check for Socket::TCP_INFO constant before trying to get TCP_INFO

Eric Wong (30):
      drop rb_str_set_len compatibility replacement
      TUNING: document THP caveat for Linux users
      tee_input: simplify condition for IO#write
      remove response_start_sent
      http_request: freeze constant strings passed IO#write
      Revert "remove response_start_sent"
      t/t0012-reload-empty-config.sh: access ivars directly if needed
      t0011-active-unix-socket.sh: fix race condition in test
      new test for check_client_connection
      revert signature change to HttpServer#process_client
      support "struct tcp_info" on non-Linux and Ruby 2.2+
      unicorn_http: reduce rb_global_variable calls
      oob_gc: rely on opt_aref_with optimization on Ruby 2.2+
      http_request: reduce insn size for check_client_connection
      freebsd: avoid EINVAL when setting accept filter
      test-lib: expr(1) portability fix
      tests: keep disabled tests defined
      test_exec: SO_KEEPALIVE value only needs to be true
      doc: fix links to raindrops project
      http_request: support proposed Raindrops::TCP states on non-Linux
      ISSUES: expand on mail archive info + subscription disclaimer
      test_ccc: use a pipe to synchronize test
      doc: remove private email support address
      input: update documentation and hide internals.
      http_server: initialize @pid ivar
      gemspec: remove olddoc from build dependency
      doc: add version annotations for new features
      unicorn 5.3.0.pre1
      doc: note after_worker_exit is also 5.3.0+
      test_exec: SO_KEEPALIVE value only needs to be true (take #2)

Jeremy Evans (7):
      Add after_worker_exit configuration option
      Fix code example in after_worker_exit documentation
      Add support for chroot to Worker#user
      Add after_worker_ready configuration option
      Add worker_exec configuration option
      Don't pass a block for fork when forking workers
      Check for SocketError on first ccc attempt

Simon Eskildsen (1):
      check_client_connection: use tcp state on linux

unicorn 5.3.0.pre1 / 2017-03-24 00:25 UTC

A largish release with several new features.

Simon Eskildsen contributed heavily using TCP_INFO under Linux
to implement the (now 5 year old) check_client_connection feature:

  https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-check_client_connection
  https://bogomips.org/unicorn-public/?q=s:check_client_connection&d:..20170324&x=t

This also led to FreeBSD and OpenBSD portability improvements in
one of our dependencies, raindrops:

   https://bogomips.org/raindrops-public/20170323024829.GA5190@dcvr/T/#u

Jeremy Evans contributed several new features.  First he
implemented after_worker_exit to aid debugging:

  https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-after_worker_exit
  https://bogomips.org/unicorn-public/?q=s:after_worker_exit&d:..20170324&x=t#t

And then security-related features to isolate workers.  Workers
may now chroot to drop access to the master filesystem, and the
new after_worker_ready configuration hook now exists to aid with
chroot support in workers:

  https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-after_worker_ready
  https://bogomips.org/unicorn/Unicorn/Worker.html#method-i-user
  https://bogomips.org/unicorn-public/?q=s:after_worker_ready&d:..20170324&x=t#t
  https://bogomips.org/unicorn-public/?q=s:chroot&d:..20170324&x=t#t

Additionally, workers may run in a completely different VM space
(nullifying preload_app and any CoW savings) with the new
worker_exec option:

  https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-worker_exec
  https://bogomips.org/unicorn-public/?q=s:worker_exec&d:..20170324&x=t#t

There are also several improvements to FreeBSD and OpenBSD
support with the addition of these features.

34 changes since 5.2.0 (2016-10-31):

Eric Wong (27):
      drop rb_str_set_len compatibility replacement
      TUNING: document THP caveat for Linux users
      tee_input: simplify condition for IO#write
      remove response_start_sent
      http_request: freeze constant strings passed IO#write
      Revert "remove response_start_sent"
      t/t0012-reload-empty-config.sh: access ivars directly if needed
      t0011-active-unix-socket.sh: fix race condition in test
      new test for check_client_connection
      revert signature change to HttpServer#process_client
      support "struct tcp_info" on non-Linux and Ruby 2.2+
      unicorn_http: reduce rb_global_variable calls
      oob_gc: rely on opt_aref_with optimization on Ruby 2.2+
      http_request: reduce insn size for check_client_connection
      freebsd: avoid EINVAL when setting accept filter
      test-lib: expr(1) portability fix
      tests: keep disabled tests defined
      test_exec: SO_KEEPALIVE value only needs to be true
      doc: fix links to raindrops project
      http_request: support proposed Raindrops::TCP states on non-Linux
      ISSUES: expand on mail archive info + subscription disclaimer
      test_ccc: use a pipe to synchronize test
      doc: remove private email support address
      input: update documentation and hide internals.
      http_server: initialize @pid ivar
      gemspec: remove olddoc from build dependency
      doc: add version annotations for new features

Jeremy Evans (6):
      Add after_worker_exit configuration option
      Fix code example in after_worker_exit documentation
      Add support for chroot to Worker#user
      Add after_worker_ready configuration option
      Add worker_exec configuration option
      Don't pass a block for fork when forking workers

Simon Eskildsen (1):
      check_client_connection: use tcp state on linux

diffstat:

 www/ruby-unicorn/Makefile |   4 ++--
 www/ruby-unicorn/PLIST    |   3 ++-
 www/ruby-unicorn/distinfo |  10 +++++-----
 3 files changed, 9 insertions(+), 8 deletions(-)

diffs (44 lines):

diff -r e96d9d8f85b5 -r 7191d66a4f07 www/ruby-unicorn/Makefile
--- a/www/ruby-unicorn/Makefile Sun Apr 09 03:38:41 2017 +0000
+++ b/www/ruby-unicorn/Makefile Sun Apr 09 04:12:39 2017 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.11 2016/11/01 17:06:59 taca Exp $
+# $NetBSD: Makefile,v 1.12 2017/04/09 04:12:39 wen Exp $
 
-DISTNAME=      unicorn-5.2.0
+DISTNAME=      unicorn-5.3.0
 CATEGORIES=    www
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
diff -r e96d9d8f85b5 -r 7191d66a4f07 www/ruby-unicorn/PLIST
--- a/www/ruby-unicorn/PLIST    Sun Apr 09 03:38:41 2017 +0000
+++ b/www/ruby-unicorn/PLIST    Sun Apr 09 04:12:39 2017 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.11 2016/11/01 17:06:59 taca Exp $
+@comment $NetBSD: PLIST,v 1.12 2017/04/09 04:12:39 wen Exp $
 bin/unicorn${RUBY_SUFFIX}
 bin/unicorn_rails${RUBY_SUFFIX}
 ${GEM_HOME}/cache/${GEM_NAME}.gem
@@ -147,6 +147,7 @@
 ${GEM_LIBDIR}/test/exec/README
 ${GEM_LIBDIR}/test/exec/test_exec.rb
 ${GEM_LIBDIR}/test/test_helper.rb
+${GEM_LIBDIR}/test/unit/test_ccc.rb
 ${GEM_LIBDIR}/test/unit/test_configurator.rb
 ${GEM_LIBDIR}/test/unit/test_droplet.rb
 ${GEM_LIBDIR}/test/unit/test_http_parser.rb
diff -r e96d9d8f85b5 -r 7191d66a4f07 www/ruby-unicorn/distinfo
--- a/www/ruby-unicorn/distinfo Sun Apr 09 03:38:41 2017 +0000
+++ b/www/ruby-unicorn/distinfo Sun Apr 09 04:12:39 2017 +0000
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.11 2016/11/01 17:06:59 taca Exp $
+$NetBSD: distinfo,v 1.12 2017/04/09 04:12:39 wen Exp $
 
-SHA1 (unicorn-5.2.0.gem) = 1a8d36d928c04269698307b6f2c0b3371c0b4529
-RMD160 (unicorn-5.2.0.gem) = e272e55979ac5cd28e794306a504e8b348fc05ab
-SHA512 (unicorn-5.2.0.gem) = d60b4ae818444407466815366c09f702863f0d8fd7a3745419dbf01c86f8f67ebe547aa0f76acb364c34c544ef9ed6811e61525573f97e26e489d5166784ae1e
-Size (unicorn-5.2.0.gem) = 212480 bytes
+SHA1 (unicorn-5.3.0.gem) = 4f0223516cb2899089eef242896e1a9995bc8add
+RMD160 (unicorn-5.3.0.gem) = 6621ffe05fef37512e91003d394e0c01775f8588
+SHA512 (unicorn-5.3.0.gem) = 5233098910af943041e12c8896a8ec230dec3e5a4115e59c3dcddcf595ed452cdfdee171bba317d8a06349f999046f804edbd16615ac0140e12605a6c971a906
+Size (unicorn-5.3.0.gem) = 216576 bytes



Home | Main Index | Thread Index | Old Index