Up to [cvs.NetBSD.org] / pkgsrc / www / ruby-unicorn
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Pullup ticket #6716 - requested by taca devel/ruby-manpages: build fix + dependent updates Revisions pulled up: - devel/ruby-mustache/Makefile 1.5-1.6 - devel/ruby-mustache/PLIST 1.3 - devel/ruby-ronn/Makefile 1.6-1.7 - devel/ruby-ronn/PLIST 1.4 - misc/ruby-lolcat/Makefile 1.4-1.5 - misc/ruby-lolcat/PLIST 1.3 - misc/ruby-manpages/Makefile 1.3-1.4 - misc/ruby-manpages/distinfo 1.2-1.3 - misc/ruby-manpages/patches/patch-lib_manpages_install.rb 1.1 - misc/ruby-manpages/patches/patch-lib_manpages_man__files.rb 1.1 - misc/ruby-manpages/patches/patch-lib_rubygems__plugin.rb 1.2 - sysutils/puppet/Makefile 1.60-1.61 - sysutils/puppet/PLIST 1.37 - textproc/ruby-asciidoctor/Makefile 1.11-1.12 - textproc/ruby-asciidoctor/PLIST 1.6 - textproc/ruby-bluecloth/Makefile 1.14-1.15 - textproc/ruby-bluecloth/PLIST 1.12 - textproc/ruby-kramdown/Makefile 1.31-1.32 - textproc/ruby-kramdown/PLIST 1.23 - textproc/ruby-rdiscount/Makefile 1.5-1.6 - textproc/ruby-rdiscount/PLIST 1.3 - www/ruby-unicorn/Makefile 1.22-1.23 - www/ruby-unicorn/PLIST 1.17 --- Module Name: pkgsrc Committed By: taca Date: Thu Dec 29 16:21:36 UTC 2022 Modified Files: pkgsrc/misc/ruby-manpages: Makefile distinfo pkgsrc/misc/ruby-manpages/patches: patch-lib_rubygems__plugin.rb Added Files: pkgsrc/misc/ruby-manpages/patches: patch-lib_manpages_install.rb Log Message: misc/ruby-manpages: support our install-root propery * Fix symblic link(s) of manual pages. * No need to set RUBYGEM_MANPAGES here. Should be fix error message when pkg_alternatives is installed. (Reported by wiz@ via private e-mail.) Bump PKGREVISION. ## require pull-up --- Module Name: pkgsrc Committed By: taca Date: Thu Dec 29 16:23:52 UTC 2022 Modified Files: pkgsrc/devel/ruby-mustache: Makefile pkgsrc/devel/ruby-ronn: Makefile pkgsrc/misc/ruby-lolcat: Makefile pkgsrc/sysutils/puppet: Makefile pkgsrc/textproc/ruby-asciidoctor: Makefile pkgsrc/textproc/ruby-bluecloth: Makefile pkgsrc/textproc/ruby-kramdown: Makefile pkgsrc/textproc/ruby-rdiscount: Makefile pkgsrc/www/ruby-unicorn: Makefile Log Message: Bump PKGREVISION to reflect fix of ruby-manpages package. --- Module Name: pkgsrc Committed By: taca Date: Sat Dec 31 16:20:40 UTC 2022 Modified Files: pkgsrc/misc/ruby-manpages: Makefile distinfo Added Files: pkgsrc/misc/ruby-manpages/patches: patch-lib_manpages_man__files.rb Log Message: misc/ruby-manpages: more better adaptation with pkg_alternatives * Take maintainer ship. * More better adaptation with pkg_alternatices; install manual pages with ${RUBY_VER} as like commands. Bump PKGREVISION. --- Module Name: pkgsrc Committed By: taca Date: Sat Dec 31 16:21:52 UTC 2022 Modified Files: pkgsrc/devel/ruby-mustache: Makefile PLIST pkgsrc/devel/ruby-ronn: Makefile PLIST pkgsrc/misc/ruby-lolcat: Makefile PLIST pkgsrc/sysutils/puppet: Makefile PLIST pkgsrc/textproc/ruby-asciidoctor: Makefile PLIST pkgsrc/textproc/ruby-bluecloth: Makefile PLIST pkgsrc/textproc/ruby-kramdown: Makefile PLIST pkgsrc/textproc/ruby-rdiscount: Makefile PLIST pkgsrc/www/ruby-unicorn: Makefile PLIST Log Message: Update PLIST caused by update of ruby-manpages. Bump PKGREVISION.
Update PLIST caused by update of ruby-manpages. Bump PKGREVISION.
Bump PKGREVISION to reflect fix of ruby-manpages package.
www/ruby-unicorn: switch to use RUBYGEM_MANPAGES Switch to use RUBYGEM_MANPAGES. Bump PKGREVISION.
www/ruby-unicorn: update to 6.1.0 6.1.0 (2021-12-25) This release reduces CPU usage for Linux 4.5+ in most cases. See "[PATCH 6/6] use EPOLLEXCLUSIVE on Linux 4.5+" for more details: https://yhbt.net/unicorn-public/20211001030923.26705-7-bofh@yhbt.net/ There's a couple of updates for Ruby 3.1, but we've finally started relying on Ruby 2.0.0 features after 9 years :P (so Ruby 1.9.3 users are stuck with older versions). And the usual round of doc updates and some build speedups. 13 changes by the Bozo Doofus maintainer since v6.0.0: test_util: less excessive encoding tests drop Ruby 1.9.3 support, require 2.0+ for now drop unnecessary IO#close_on_exec=true assignment extconf.rb: get rid of unnecessary checks makefile: reduce unnecessary rebuilds HACKING: drop outdated information about pandoc http_server: get rid of Process.ppid check worker_loop: get rid of select() avoidance hack use EPOLLEXCLUSIVE on Linux 4.5+ allow Ruby to deduplicate remaining globals epollexclusive: remove rb_gc_force_recycle call drop Ruby version warning, fix speling errer doc: v3 .onion updates, nntp => nntps, minor wording changes
www/ruby-unicorn: update to 6.0.0 6.0.0 (2021-03-17) No release note nor changelog. Here are quote from commit log. * tests: force blocking I/O for Ruby 3.x * http_request: drop unnecessary #clear call * Allocate a new request for each client * test/test_helper: only unlink redirected logs from parent
www/ruby-unicorn: update to 5.8.0 5.8.0 ((2020-12-24) * Add rack.after_reply functionality. * build: publish_doc: remove created.rid and index.html from site.
www/ruby-unicorn: update to 5.7.0 Update ruby-unicorn package to 5.7.0. 5.7.0 (2020-09-08) Changes: unicorn 5.7.0 Relaxed Ruby version requirements for Ruby 3.0.0dev. Thanks to Jean Boussier for testing 5.6.0 (2020-07-26) Changes: unicorn 5.6.0 - early_hints support This release adds support for the early_hints configurator directive for the 'rack.early_hints' API used by Rails 5.2+. Thanks to Jean Boussier for the patch.
www/ruby-unicorn: update to 5.5.5 Update ruby-unicorn to 5.5.5. 5.5.5 (2020-04-27) This release fixes a bug for users of multiple listeners setups where a busy listen socket could starve other listeners. Thanks to Stan Hu for reporting and testing. No need to upgrade if you're using a single listen socket. 5.5.4 (2020-03-24) One change to improve RFC 7230 conformance in the HTTP parser:
www/ruby-unicorn: update to 5.5.3 Update ruby-unicorn to 5.5.3. === unicorn 5.5.0 / 2019-03-04 00:41 UTC Mostly identical to 5.5.0.pre1, which I didn't hear any feedback from: https://bogomips.org/unicorn-public/20181220222842.GA27382@dcvr/ > Jeremy Evans contributed the "default_middleware" configuration option: > > https://bogomips.org/unicorn-public/20180913192055.GD48926@jeremyevans.local/ > > Jeremy also contributed the ability to use separate groups for the process > and log files: > > https://bogomips.org/unicorn-public/20180913192449.GE48926@jeremyevans.local/ > > There's also a couple of uninteresting minor optimizations and > documentation additions. Otherwise, there's one extra change to use rb_gc_register_mark_object which is finally a documented part of the Ruby C-API, but has existed since the 1.9 days. === unicorn 5.5.0.pre1 / 2018-12-20 20:11 UTC Jeremy Evans contributed the "default_middleware" configuration option: https://bogomips.org/unicorn-public/20180913192055.GD48926@jeremyevans.local/ Jeremy also contributed the ability to use separate groups for the process and log files: https://bogomips.org/unicorn-public/20180913192449.GE48926@jeremyevans.local/ There's also a couple of uninteresting minor optimizations and documentation additions. Eric Wong (10): remove random seed reset atfork use IO#wait instead of kgio_wait_readable Merge branch '5.4-stable' shrink pipes under Linux socket_helper: add hint for FreeBSD users for accf_http(9) tests: ensure -N/--no-default-middleware not supported in config.ru doc: update more URLs to use HTTPS and avoid redirects deduplicate strings VM-wide in Ruby 2.5+ doc/ISSUES: add links to git clone-able mail archives of our dependencies README: minor updates and additional disclaimer Jeremy Evans (2): Make Worker#user support different process primary group and log file group Support default_middleware configuration option
www/ruby-unicorn: update to 5.4.1 5.4.1 (2018-07-23) This release quiets some warnings for Ruby 2.6 preview releases and enables tests to pass under Ruby 1.9.3. Otherwise, nothing interesting for Ruby 2.0..2.5 users.
www/ruby-unicorn: update to 5.4.0 unicorn 5.4.0 / 2017-12-23 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+ZpkLkd4KdWC8vA46B5haZxw@mail.gmail.com/T/ 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.com/T/ (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. unicorn 5.3.1 / 2017-10-03 This release fixes an occasional GC problem introduced in v5.3.0 to reduce global variable overhead (commit 979ebcf91705709b) Thanks to Xuanzhong Wei for the patch which lead to this release: https://bogomips.org/unicorn-public/20171003182054.76392-1-azrlew@gmail.com/T/#u https://bogomips.org/unicorn-public/20171003145718.30404-1-azrlew@gmail.com/T/#u Xuanzhong Wei (1): fix GC issue on rb_global_variable array
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
Update ruby-unicorn to 5.2.0. * relocate website to https://bogomips.org/unicorn/ * Add some tolerance (RFC2616 sec. 19.3) * doc: update gmane URLs to point to our own archives * examples/logrotate.conf: update example for systemd * doc: systemd should only kill master in example * examples/init.sh: update to reduce upgrade racinessjr/init
Update ruby-unicorn to 5.1.0. * http: TypedData C-API conversion * various documentation updates * doc: bump olddoc to ~> 1.2 for extra NNTP URL * rack is optional at runtime, required for dev * doc update for ClientShutdown exceptions class * unicorn 5.1.0.pre1 - rack is optional, again * doc: reference --keep-file-descriptors for "bundle exec" * doc: further trimming to reduce noise * use leftpad Linux syscall for speed!
Update ruby-unicorn to 5.0.1. === unicorn 5.0.0.pre2 - another prerelease! / 2015-07-06 21:37 UTC There is a minor TCP socket options are now applied to inherited sockets, and we have native support for inheriting sockets from systemd (by emulating the sd_listen_fds(3) function). Dynamic changes in the application to Rack::Utils::HTTP_STATUS codes is now supported, so you can use your own custom status lines. Ruby 2.2 and later is now favored for performance. Optimizations by using constants which made sense in earlier versions of Ruby are gone: so users of old Ruby versions will see performance regressions. Ruby 2.2 users should see the same or better performance, and we have less code as a result. * doc: update some invalid URLs * apply TCP socket options on inherited sockets * reflect changes in Rack::Utils::HTTP_STATUS_CODES * reduce constants and optimize for Ruby 2.2 * http_response: reduce size of multi-line header path * emulate sd_listen_fds for systemd support * test/unit/test_response.rb: compatibility with older test-unit This also includes all changes in unicorn 5.0.0.pre1: http://bogomips.org/unicorn-public/m/20150615225652.GA16164@dcvr.yhbt.net.html === unicorn 5.0.0.pre1 - incompatible changes! / 2015-06-15 22:49 UTC This release finally drops Ruby 1.8 support and requires Ruby 1.9.3 or later. The horrible "Status:" header in our HTTP response is finally gone, saving at least 16 precious bytes in every single HTTP response. Under Ruby 2.1 and later, the monotonic clock is used for timeout handling for better accuracy. Several experimental, unused and undocumented features are removed. There's also tiny, minor performance and memory improvements from dropping 1.8 compatibility, but probably nothing noticeable on a typical real-life (bloated) app. The biggest performance improvement we made was to our website by switching to olddoc. Depending on connection speed, latency, and renderer performance, it typically loads two to four times faster. Finally, for the billionth time: unicorn must never be exposed to slow clients, as it will never ever use new-fangled things like non-blocking socket I/O, threads, epoll or kqueue. unicorn must be used with a fully-buffering reverse proxy such as nginx for slow clients. * ISSUES: update with mailing list subscription * GIT-VERSION-GEN: start 5.0.0 development * http: remove xftrust options * FAQ: add entry for Rails autoflush_log * dev: remove isolate dependency * unicorn.gemspec: depend on test-unit 3.0 * http_response: remove Status: header * remove RubyForge and Freecode references * remove mongrel.rubyforge.org references * http: remove the keepalive requests limit * http: reduce parser from 72 to 56 bytes on 64-bit * examples: add run_once to before_fork hook example * worker: remove old tmp accessor * http_server: save 450+ bytes of memory on x86-64 * t/t0002-parser-error.sh: relax test for rack 1.6.0 * remove SSL support * tmpio: drop the "size" method * switch docs + website to olddoc * README: clarify/reduce references to unicorn_rails * gemspec: fixup olddoc migration * use the monotonic clock under Ruby 2.1+ * http: -Wshorten-64-to-32 warnings on clang * remove old inetd+git examples and exec_cgi * http: standalone require + reduction in binary size * GNUmakefile: fix clean gem build + reduce build cruft * socket_helper: reduce constant lookups and caching * remove 1.8, <= 1.9.1 fallback for missing IO#autoclose= * favor IO#close_on_exec= over fcntl in 1.9+ * use require_relative to reduce syscalls at startup * doc: update support status for Ruby versions * fix uninstalled testing and reduce require paths * test_socket_helper: do not depend on SO_REUSEPORT * favor "a.b(&:c)" form over "a.b { |x| x.c }" * ISSUES: add section for bugs in other projects * http_server: favor ivars over constants * explain 11 byte magic number for self-pipe * const: drop constants used by Rainbows! * reduce and localize constant string use * Links: mark Rainbows! as historical, reference yahns * save about 200 bytes of memory on x86-64 * http: remove deprecated reset method * http: remove experimental dechunk! method * socket_helper: update comments * doc: document UNICORN_FD in manpage * doc: document Etc.nprocessors for worker_processes * favor more string literals for cold call sites * tee_input: support for Rack::TempfileReaper middleware * support TempfileReaper in deployment and development envs * favor kgio_wait_readable for single FD over select * Merge tag 'v4.9.0' * http_request: support rack.hijack by default * avoid extra allocation for hijack proc creation * FAQ: add note about ECONNRESET errors from bodies * process SIGWINCH unless stdin is a TTY * ISSUES: discourage HTML mail strongly, welcome nyms * http: use rb_hash_clear in Ruby 2.0+ * http_response: avoid special-casing for Rack < 1.5 * www: install NEWS.atom.xml properly * http_server: remove a few more accessors and constants * http_response: simplify regular expression * move the socket into Rack env for hijacking * http: move response_start_sent into the C ext * FAQ: reorder bit on Rack 1.1.x and Rails 2.3.x * ensure body is closed during hijack
Update ruby-unicorn to 4.9.0. pkgsrc change: add support for pkg_alternatives. unicorn 4.9.0 - TempfileReaper support in Rack 1.6 This release supports the Rack::TempfileReaper middleware found in rack 1.6 for cleaning up disk space used by temporary files. We also use Rack::TempfileReaper for cleaning up large temporary files buffered with TeeInput. Users on rack 1.5 and earlier will see no changes. There's also a bunch of documentation/build system improvements. This is likely to be the last Ruby 1.8-compatible release, unicorn 5.x will require 1.9.3 or later as well as dropping lots of cruft (the stupid "Status:" header in responses being the most notable). 21 changes backported from master: ISSUES: update with mailing list subscription FAQ: add entry for Rails autoflush_log dev: remove isolate dependency unicorn.gemspec: depend on test-unit 3.0 remove RubyForge and Freecode references remove mongrel.rubyforge.org references examples: add run_once to before_fork hook example t/t0002-parser-error.sh: relax test for rack 1.6.0 switch docs + website to olddoc README: clarify/reduce references to unicorn_rails gemspec: fixup olddoc migration GNUmakefile: fix clean gem build + reduce build cruft doc: update support status for Ruby versions fix uninstalled testing and reduce require paths test_socket_helper: do not depend on SO_REUSEPORT ISSUES: add section for bugs in other projects explain 11 byte magic number for self-pipe Links: mark Rainbows! as historical, reference yahns doc: document UNICORN_FD in manpage tee_input: support for Rack::TempfileReaper middleware support TempfileReaper in deployment and development envs
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
Set USE_GCC_RUNTIME=yes for packages which build shared libraries but do not use libtool to do so. This is required to correctly depend upon a gcc runtime package (e.g. gcc47-libs) when using USE_PKGSRC_GCC_RUNTIME.
Update ruby-unicorn to 4.6.3. === unicorn 4.6.3 - fix --no-default-middleware option / 2013-06-21 08:01 UTC Thanks to Micah Chalmer for this fix. There are also minor documentation updates and internal cleanups.
Update ruby-unicorn to 4.6.2. === unicorn 4.6.2 - HTTP parser fix for Rainbows! / 2013-02-26 02:59 UTC This release fixes a bug in Unicorn::HttpParser#filter_body which affected some configurations of Rainbows! There is also a minor size reduction in the DSO. === unicorn 4.6.1 - minor cleanups / 2013-02-21 08:38 UTC Unicorn::Const::UNICORN_VERSION is now auto-generated from GIT-VERSION-GEN and always correct. Minor cleanups for hijacking. === unicorn 4.6.0 - hijacking support / 2013-02-06 11:23 UTC This pre-release adds hijacking support for Rack 1.5 users. See Rack documentation for more information about hijacking. There is also a new --no-default-middleware/-N option for the `unicorn' command to ignore RACK_ENV within unicorn thanks to Lin Jen-Shin. There are only documentation and test-portability updates since 4.6.0pre1, no code changes. === unicorn 4.6.0pre1 - hijacking support / 2013-01-29 21:05 UTC This pre-release adds hijacking support for Rack 1.5 users. See Rack documentation for more information about hijacking. There is also a new --no-default-middleware/-N option for the `unicorn' command to ignore RACK_ENV within unicorn.
Update ruby-unicorn to 4.5.0. === unicorn 4.5.0 - check_client_connection option / 2012-12-07 22:59 UTC The new check_client_connection option allows unicorn to detect most disconnected local clients before potentially expensive application processing begins. This feature is useful for applications experiencing spikes of traffic leading to undesirable queue times, as clients will disconnect (and perhaps even retry, compounding the problem) before unicorn can even start processing the request. To enable this feature, add the following line to a unicorn config file: check_client_connection true This feature only works when nginx (or any other HTTP/1.0+ client) is on the same machine as unicorn. A huge thanks to Tom Burns for implementing and testing this change in production with real traffic (including mitigating an unexpected DoS attack). ref: http://mid.gmane.org/CAK4qKG3rkfVYLyeqEqQyuNEh_nZ8yw0X_cwTxJfJ+TOU+y8F+w@mail.gmail.com This release fixes broken Rainbows! compatibility in 4.5.0pre1. === unicorn 4.5.0pre1 - check_client_connection option / 2012-11-29 23:48 UTC The new check_client_connection option allows unicorn to detect most disconnected clients before potentially expensive application processing begins. This feature is useful for applications experiencing spikes of traffic leading to undesirable queue times, as clients will disconnect (and perhaps even retry, compounding the problem) before unicorn can even start processing the request. To enable this feature, add the following line to a unicorn config file: check_client_connection true A huge thanks to Tom Burns for implementing and testing this change in production with real traffic (including mitigating an unexpected DoS attack). === unicorn 4.4.0 - minor updates / 2012-10-11 09:11 UTC Non-regular files are no longer reopened on SIGUSR1. This allows users to specify FIFOs as log destinations. TCP_NOPUSH/TCP_CORK is no longer set/unset by default. Use :tcp_nopush explicitly with the "listen" directive if you wish to enable TCP_NOPUSH/TCP_CORK. Listen sockets are now bound _after_ loading the application for preload_app(true) users. This prevents load balancers from sending traffic to an application server while the application is still loading. There are also minor test suite cleanups.
Update ruby-unicorn to 4.3.1. === unicorn 4.3.1 - shutdown() fixes / 2012-04-29 07:04 UTC * Call shutdown(2) if a client EOFs on us during upload. We can avoid holding a socket open if the Rack app forked a process during uploads. * ignore potential Errno::ENOTCONN errors (from shutdown(2)). Even on LANs, connections can occasionally be accept()-ed but be unusable afterwards. Thanks to Joel Nimety <jnimety@continuity.net>, Matt Smith <matt@nearapogee.com> and George <lists@southernohio.net> on the mongrel-unicorn@rubyforge.org mailing list for their feedback and testing for this release. === unicorn 4.3.0 - minor fixes and updates / 2012-04-17 21:51 UTC * PATH_INFO (aka REQUEST_PATH) increased to 4096 (from 1024). This allows requests with longer path components and matches the system PATH_MAX value common to GNU/Linux systems for serving filesystem components with long names. * Apps that fork() (but do not exec()) internally for background tasks now indicate the end-of-request immediately after writing the Rack response. Thanks to Hongli Lai, Lawrence Pit, Patrick Wenger and Nuo Yan for their valuable feedback for this release. === unicorn 4.2.1 - minor fix and doc updates / 2012-03-26 21:39 UTC * Stale pid files are detected if a pid is recycled by processes belonging to another user, thanks to Graham Bleach. * nginx example config updates thanks to to Eike Herzbach. * KNOWN_ISSUES now documents issues with apps/libs that install conflicting signal handlers.
Import ruby18-unicorn-4.2.0 as www/ruby-unicorn. Unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-latency, high-bandwidth connections and take advantage of features in Unix/Unix-like kernels. Slow clients should only be served by placing a reverse proxy capable of fully buffering both the the request and response in between Unicorn and slow clients.
Initial revision