Dne 3.1.2012 18:40, Michael Stahnke napsal(a):
On Tue, Jan 3, 2012 at 7:21 AM, Vít Ondruch <vondruch(a)redhat.com
<mailto:vondruch@redhat.com>> wrote:
Hi everybody,
I am wondering if we should mention Bundler in Ruby's packaging
guidelines and what should be recommendations? Or should we leave
it in gray area of guidelines?
Thinking about it again and again, I believe that we should
discourage usage of Bundler in Fedora. What is your opinion?
I really dislike bundler. However, from the Ruby ecosystem point of
view, it's there and it's not going anywhere. It featured on every
rubygem page. It certainly conflicts with the bundled library
viewpoint Fedora has, but without it, many many applications built
upon Ruby won't make it into Fedora. This is especially true since
rpm by design cannot have multiple versions of the same package
installed; whereas gem can.
So, I hate bundler, and I don't think we should allow it. We should
however, be aware of how that will hinder Fedora as a ruby development
and deployment platform.
My intention was not in a sense of "retire Bundler", definitely not.
However, I would like to clarify what is our position and suggestions
for packagers.
For example, something along the lines:
1) If test suite is designed to run with Bundler, please run "$ sed -i
-e 's|require "bundler"||' spec/spec_helper.rb" and "$ sed -i
-e
's|Bundler.setup||' spec/spec_helper.rb" to remove the dependency and
run the test suite without it.
2) If Rails application uses Bundler, remove the dependency by deleting
the Gemfile and Gemfile.lock and the dependency initialization move into
some Rails app initializer (not sure if this approach is feasible).
Gemfile and Gemfile.lock *must not* be included in package.
I can imagine other variants of the second point like:
2a) Provide specific Gemfile.lock for each Fedora version. However this
is fragile, since update of one gem may break the application.
2b) Delete Gemfile.lock from package and run the application for the
first time with root privileges.
2c) After first execution, Gemfile.lock is created in some world
writable directory, probably somewhere in /var. However this would need
patched version of Bundler.
As you can see, there is a lot of options, neither one ideal. Question
is which one we should pick?
From developer's point of view, I believe that Bundler has its
advantages and I support its usage (may be not for 100% but I see some
use-cases). The adjustments necessary for Fedora should be done by
packager. If they are done sensitively and in collaboration with
upstream, then it is ideal.
Does anybody knows what is Debian's view of Bundler for example?
Vit