[DRE-maint] Bug#610288: thin: ActiveRecord session store doesn't work with Rails

Faidon Liambotis paravoid at debian.org
Tue Jan 18 12:53:48 UTC 2011


On Tue, Jan 18, 2011 at 01:02:06PM +0100, Julien Cristau wrote:
> Tagging as candidate for removal from squeeze.  Somebody needs to get a
> fix in soon if they want this package in squeeze.

I NMUed 1.2.4-1.1 to DELAYED/2 with urgency=high to apply the following (full
debdiff is attached):

diff --git a/lib/rack/adapter/rails.rb b/lib/rack/adapter/rails.rb
index 8e5fd81..34196d8 100644
--- a/lib/rack/adapter/rails.rb
+++ b/lib/rack/adapter/rails.rb
@@ -32,9 +32,8 @@ module Rack
       end
       
       def rack_based?
-        ActionController.const_defined?(:Dispatcher) &&
-          (ActionController::Dispatcher.instance_methods.include?(:call) ||
-           ActionController::Dispatcher.instance_methods.include?("call"))
+        rails_version = ::Rails::VERSION
+        rails_version::MAJOR >= 2 && rails_version::MINOR >= 2 && rails_version::TINY >= 3
       end
       
       def load_application

Regards,
Faidon
-------------- next part --------------
diff -u thin-1.2.4/debian/changelog thin-1.2.4/debian/changelog
--- thin-1.2.4/debian/changelog
+++ thin-1.2.4/debian/changelog
@@ -1,3 +1,13 @@
+thin (1.2.4-1.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * urgency=high because of an RC tiny bugfix.
+  * Backport a patch from v1.2.6 in Rails adapter to properly detect Rack.
+    Among other things, this fixes the ActiveRecord session store (when
+    configured) on Rails. (Closes: #610288)
+
+ -- Faidon Liambotis <paravoid at debian.org>  Tue, 18 Jan 2011 14:31:07 +0200
+
 thin (1.2.4-1) unstable; urgency=low
 
   * New upstream release
diff -u thin-1.2.4/debian/patches/series thin-1.2.4/debian/patches/series
--- thin-1.2.4/debian/patches/series
+++ thin-1.2.4/debian/patches/series
@@ -4,0 +5 @@
+fix-rack-detection
only in patch2:
unchanged:
--- thin-1.2.4.orig/debian/patches/fix-rack-detection
+++ thin-1.2.4/debian/patches/fix-rack-detection
@@ -0,0 +1,16 @@
+diff --git a/lib/rack/adapter/rails.rb b/lib/rack/adapter/rails.rb
+index 8e5fd81..34196d8 100644
+--- a/lib/rack/adapter/rails.rb
++++ b/lib/rack/adapter/rails.rb
+@@ -32,9 +32,8 @@ module Rack
+       end
+       
+       def rack_based?
+-        ActionController.const_defined?(:Dispatcher) &&
+-          (ActionController::Dispatcher.instance_methods.include?(:call) ||
+-           ActionController::Dispatcher.instance_methods.include?("call"))
++        rails_version = ::Rails::VERSION
++        rails_version::MAJOR >= 2 && rails_version::MINOR >= 2 && rails_version::TINY >= 3
+       end
+       
+       def load_application


More information about the Pkg-ruby-extras-maintainers mailing list