From: Aaron Patterson <tenderlove@ruby-lang.org>
To: rack-devel@googlegroups.com
Cc: Adam Duke <adamduke@twitter.com>, unicorn-public@bogomips.org
Subject: Re: [PATCH] limit rack version for ruby compatibility
Date: Fri, 8 Jan 2016 13:50:46 -0800 [thread overview]
Message-ID: <20160108215046.GA36373@TC.local> (raw)
In-Reply-To: <20160108191807.GA30703@dcvr.yhbt.net>
[-- Attachment #1: Type: text/plain, Size: 2839 bytes --]
On Fri, Jan 08, 2016 at 07:18:07PM +0000, Eric Wong wrote:
> Adam Duke <adamduke@twitter.com> wrote:
> > From: Adam Duke <adam.v.duke@gmail.com>
> > Date: Fri, 8 Jan 2016 13:06:31 -0500
> > Subject: [PATCH] limit rack version for ruby compatibility
> >
> > rack introduced a dependency on ruby 2.2.2 or greater in
> > https://github.com/rack/rack/commit/771d94e5dbe53058160a1f8a4cc56384c1d2a048
>
> Cc-ing rack-devel + Aaron
>
> Yikes! ruby-core still supports Ruby 2.1 and possibly even 2.0.0
>
> And there doesn't seem to be any documentation on why Ruby 2.2.x
> is needed in the first place for rack.git
> commit a2fe30a5e70371c89c1b29fdc2dc5f8027bc5fe6
>
> http://bogomips.org/mirrors/rack.git/patch?id=a2fe30a5e70371c8
>
> Aaron?
The main reason I bumped it up to Ruby 2.2.x is because that will be the
minimum version of Ruby I'll be stuck with throughout Rack 2.x's
lifetime. IOW, I can't drop Ruby versions in anything but a major
release so I'm being conservative and only going with the latest (at the
time that was 2.2).
I could be convinced to bring down the version number, but I'd like to
know why first. :)
> > In order to maintain support for ruby versions less than 2.2.2, limit
> > the rack dependency to supported versions for the current ruby.
> > ---
> > unicorn.gemspec | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/unicorn.gemspec b/unicorn.gemspec
> > index 1099361..ce7080a 100644
> > --- a/unicorn.gemspec
> > +++ b/unicorn.gemspec
> > @@ -35,7 +35,11 @@
> > # up/downgrade to any other version, the Rack dependency may be
> > # commented out. Nevertheless, upgrading to Rails 2.3.4 or later is
> > # *strongly* recommended for security reasons.
> > - s.add_dependency(%q<rack>)
> > + if RUBY_VERSION < '2.2.2'
> > + s.add_dependency(%q<rack>, '~> 1.6.4')
> > + else
> > + s.add_dependency(%q<rack>)
> > + end
>
> Interesting, I built a gem with RubyGems 2.5.1 and this conditional
> was preserved in the gemspec. I tried this in the past (2009/2010?)
> and any conditionals written like this got clobbered in the final
> gemspec.
I wonder if that's true even after you upload to rubygems.org. I'd
guess it's not true as they don't want to support arbitrary ruby code
for specs.
> In other words, conditionals used to be evaluated at "gem build" time,
> not "gem install" time. We should check when this improvement was
> introduced into RubyGems should we go this route.
>
> Also, maybe '~> 1.6.4' is too strict, '~> 1.6' could be better in case
> a rack 1.7 comes out in parallel to rack 2.0
Agree here. 1.7 may be possible, and I want to make the guarantee that
its API is backwards compatible with 1.6.
--
Aaron Patterson
http://tenderlovemaking.com/
[-- Attachment #2: Type: application/pgp-signature, Size: 456 bytes --]
next prev parent reply other threads:[~2016-01-08 21:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-08 18:34 [PATCH] limit rack version for ruby compatibility Adam Duke
2016-01-08 19:18 ` Eric Wong
2016-01-08 21:50 ` Aaron Patterson [this message]
2016-01-08 21:56 ` Aaron Patterson
2016-01-08 22:13 ` Adam Duke
2016-01-08 22:17 ` Aaron Patterson
2016-01-08 22:37 ` Eric Wong
2016-01-08 23:19 ` Aaron Patterson
2016-01-21 17:12 ` Adam Duke
2016-01-21 20:12 ` Eric Wong
2016-01-21 22:09 ` Aaron Patterson
2016-01-27 0:47 ` Eric Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://yhbt.net/unicorn/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160108215046.GA36373@TC.local \
--to=tenderlove@ruby-lang.org \
--cc=adamduke@twitter.com \
--cc=rack-devel@googlegroups.com \
--cc=unicorn-public@bogomips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://yhbt.net/unicorn.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).