pkgsrc/www/ruby-unicorn/PLIST
wen 6ca2134a89 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
2017-04-09 04:12:39 +00:00

167 lines
5.8 KiB
Text

@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
${GEM_EXTSDIR}/gem.build_complete
${GEM_EXTSDIR}/unicorn_http.${RUBY_DLEXT}
${GEM_LIBDIR}/.CHANGELOG.old
${GEM_LIBDIR}/.document
${GEM_LIBDIR}/.gitattributes
${GEM_LIBDIR}/.gitignore
${GEM_LIBDIR}/.mailmap
${GEM_LIBDIR}/.manifest
${GEM_LIBDIR}/.olddoc.yml
${GEM_LIBDIR}/Application_Timeouts
${GEM_LIBDIR}/CONTRIBUTORS
${GEM_LIBDIR}/COPYING
${GEM_LIBDIR}/DESIGN
${GEM_LIBDIR}/Documentation/.gitignore
${GEM_LIBDIR}/Documentation/GNUmakefile
${GEM_LIBDIR}/Documentation/unicorn.1.txt
${GEM_LIBDIR}/Documentation/unicorn_rails.1.txt
${GEM_LIBDIR}/FAQ
${GEM_LIBDIR}/GIT-VERSION-FILE
${GEM_LIBDIR}/GIT-VERSION-GEN
${GEM_LIBDIR}/GNUmakefile
${GEM_LIBDIR}/HACKING
${GEM_LIBDIR}/ISSUES
${GEM_LIBDIR}/KNOWN_ISSUES
${GEM_LIBDIR}/LATEST
${GEM_LIBDIR}/LICENSE
${GEM_LIBDIR}/Links
${GEM_LIBDIR}/NEWS
${GEM_LIBDIR}/PHILOSOPHY
${GEM_LIBDIR}/README
${GEM_LIBDIR}/Rakefile
${GEM_LIBDIR}/SIGNALS
${GEM_LIBDIR}/Sandbox
${GEM_LIBDIR}/TODO
${GEM_LIBDIR}/TUNING
${GEM_LIBDIR}/archive/.gitignore
${GEM_LIBDIR}/archive/slrnpull.conf
${GEM_LIBDIR}/bin/unicorn
${GEM_LIBDIR}/bin/unicorn_rails
${GEM_LIBDIR}/examples/big_app_gc.rb
${GEM_LIBDIR}/examples/echo.ru
${GEM_LIBDIR}/examples/init.sh
${GEM_LIBDIR}/examples/logger_mp_safe.rb
${GEM_LIBDIR}/examples/logrotate.conf
${GEM_LIBDIR}/examples/nginx.conf
${GEM_LIBDIR}/examples/unicorn.conf.minimal.rb
${GEM_LIBDIR}/examples/unicorn.conf.rb
${GEM_LIBDIR}/examples/unicorn.socket
${GEM_LIBDIR}/examples/unicorn@.service
${GEM_LIBDIR}/ext/unicorn_http/CFLAGS
${GEM_LIBDIR}/ext/unicorn_http/c_util.h
${GEM_LIBDIR}/ext/unicorn_http/common_field_optimization.h
${GEM_LIBDIR}/ext/unicorn_http/ext_help.h
${GEM_LIBDIR}/ext/unicorn_http/extconf.rb
${GEM_LIBDIR}/ext/unicorn_http/global_variables.h
${GEM_LIBDIR}/ext/unicorn_http/httpdate.c
${GEM_LIBDIR}/ext/unicorn_http/unicorn_http.c
${GEM_LIBDIR}/ext/unicorn_http/unicorn_http.rl
${GEM_LIBDIR}/ext/unicorn_http/unicorn_http_common.rl
${GEM_LIBDIR}/lib/unicorn.rb
${GEM_LIBDIR}/lib/unicorn/app/old_rails.rb
${GEM_LIBDIR}/lib/unicorn/app/old_rails/static.rb
${GEM_LIBDIR}/lib/unicorn/cgi_wrapper.rb
${GEM_LIBDIR}/lib/unicorn/configurator.rb
${GEM_LIBDIR}/lib/unicorn/const.rb
${GEM_LIBDIR}/lib/unicorn/http_request.rb
${GEM_LIBDIR}/lib/unicorn/http_response.rb
${GEM_LIBDIR}/lib/unicorn/http_server.rb
${GEM_LIBDIR}/lib/unicorn/launcher.rb
${GEM_LIBDIR}/lib/unicorn/oob_gc.rb
${GEM_LIBDIR}/lib/unicorn/preread_input.rb
${GEM_LIBDIR}/lib/unicorn/socket_helper.rb
${GEM_LIBDIR}/lib/unicorn/stream_input.rb
${GEM_LIBDIR}/lib/unicorn/tee_input.rb
${GEM_LIBDIR}/lib/unicorn/tmpio.rb
${GEM_LIBDIR}/lib/unicorn/util.rb
${GEM_LIBDIR}/lib/unicorn/version.rb
${GEM_LIBDIR}/lib/unicorn/worker.rb
${GEM_LIBDIR}/lib/unicorn_http.${RUBY_DLEXT}
${GEM_LIBDIR}/man/man1/unicorn.1
${GEM_LIBDIR}/man/man1/unicorn_rails.1
${GEM_LIBDIR}/setup.rb
${GEM_LIBDIR}/t/.gitignore
${GEM_LIBDIR}/t/GNUmakefile
${GEM_LIBDIR}/t/README
${GEM_LIBDIR}/t/bin/content-md5-put
${GEM_LIBDIR}/t/bin/sha1sum.rb
${GEM_LIBDIR}/t/bin/unused_listen
${GEM_LIBDIR}/t/broken-app.ru
${GEM_LIBDIR}/t/detach.ru
${GEM_LIBDIR}/t/env.ru
${GEM_LIBDIR}/t/fails-rack-lint.ru
${GEM_LIBDIR}/t/heartbeat-timeout.ru
${GEM_LIBDIR}/t/hijack.ru
${GEM_LIBDIR}/t/listener_names.ru
${GEM_LIBDIR}/t/my-tap-lib.sh
${GEM_LIBDIR}/t/oob_gc.ru
${GEM_LIBDIR}/t/oob_gc_path.ru
${GEM_LIBDIR}/t/pid.ru
${GEM_LIBDIR}/t/preread_input.ru
${GEM_LIBDIR}/t/rack-input-tests.ru
${GEM_LIBDIR}/t/t0000-http-basic.sh
${GEM_LIBDIR}/t/t0001-reload-bad-config.sh
${GEM_LIBDIR}/t/t0002-config-conflict.sh
${GEM_LIBDIR}/t/t0002-parser-error.sh
${GEM_LIBDIR}/t/t0003-working_directory.sh
${GEM_LIBDIR}/t/t0004-heartbeat-timeout.sh
${GEM_LIBDIR}/t/t0004-working_directory_broken.sh
${GEM_LIBDIR}/t/t0005-working_directory_app.rb.sh
${GEM_LIBDIR}/t/t0006-reopen-logs.sh
${GEM_LIBDIR}/t/t0006.ru
${GEM_LIBDIR}/t/t0007-working_directory_no_embed_cli.sh
${GEM_LIBDIR}/t/t0008-back_out_of_upgrade.sh
${GEM_LIBDIR}/t/t0009-broken-app.sh
${GEM_LIBDIR}/t/t0009-winch_ttin.sh
${GEM_LIBDIR}/t/t0010-reap-logging.sh
${GEM_LIBDIR}/t/t0011-active-unix-socket.sh
${GEM_LIBDIR}/t/t0012-reload-empty-config.sh
${GEM_LIBDIR}/t/t0013-rewindable-input-false.sh
${GEM_LIBDIR}/t/t0013.ru
${GEM_LIBDIR}/t/t0014-rewindable-input-true.sh
${GEM_LIBDIR}/t/t0014.ru
${GEM_LIBDIR}/t/t0015-configurator-internals.sh
${GEM_LIBDIR}/t/t0018-write-on-close.sh
${GEM_LIBDIR}/t/t0019-max_header_len.sh
${GEM_LIBDIR}/t/t0020-at_exit-handler.sh
${GEM_LIBDIR}/t/t0021-process_detach.sh
${GEM_LIBDIR}/t/t0022-listener_names-preload_app.sh
${GEM_LIBDIR}/t/t0100-rack-input-tests.sh
${GEM_LIBDIR}/t/t0116-client_body_buffer_size.sh
${GEM_LIBDIR}/t/t0116.ru
${GEM_LIBDIR}/t/t0200-rack-hijack.sh
${GEM_LIBDIR}/t/t0300-no-default-middleware.sh
${GEM_LIBDIR}/t/t9000-preread-input.sh
${GEM_LIBDIR}/t/t9001-oob_gc.sh
${GEM_LIBDIR}/t/t9002-oob_gc-path.sh
${GEM_LIBDIR}/t/test-lib.sh
${GEM_LIBDIR}/t/write-on-close.ru
${GEM_LIBDIR}/test/aggregate.rb
${GEM_LIBDIR}/test/benchmark/README
${GEM_LIBDIR}/test/benchmark/dd.ru
${GEM_LIBDIR}/test/benchmark/stack.ru
${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
${GEM_LIBDIR}/test/unit/test_http_parser_ng.rb
${GEM_LIBDIR}/test/unit/test_request.rb
${GEM_LIBDIR}/test/unit/test_response.rb
${GEM_LIBDIR}/test/unit/test_server.rb
${GEM_LIBDIR}/test/unit/test_signals.rb
${GEM_LIBDIR}/test/unit/test_socket_helper.rb
${GEM_LIBDIR}/test/unit/test_stream_input.rb
${GEM_LIBDIR}/test/unit/test_tee_input.rb
${GEM_LIBDIR}/test/unit/test_upload.rb
${GEM_LIBDIR}/test/unit/test_util.rb
${GEM_LIBDIR}/unicorn.gemspec
${GEM_LIBDIR}/unicorn_1
${GEM_LIBDIR}/unicorn_rails_1
${GEM_HOME}/specifications/${GEM_NAME}.gemspec