passenger / vendor
name age message
..
file README Loading commit data...
file README_FOR_PACKAGERS
directory rack-0.9.1/
vendor/README
You might be wondering why the Rack library is vendored, and why we don't
just depend on the Rack gem. The reason for this is because there are broken
applications out there that have a hard dependency on rack == 0.4.0 (the
latest version of Rack is 0.9.1 at the time of writing). If Passenger
depends on the Rack gem, then the application will crash with a gem version
conflict error upon executing 'gem "rack", "=0.4.0"'.

To fix this conflict, we vendor Rack. When we load our vendored Rack library,
it won't be registered as a gem, so no RubyGems version conflict exception
will be raised.

Rack is backwards-compatible so there shouldn't be any problems.