As anyone who works on aeolus knows, we have a few issues with
bundler, due to its completely opposite view of the world when
compared to any linux distribution (obviously rpm-based systems are
what many of us are on, but it applies more generally).
Upstream/standard ruby development (ie via 'bundle install') has been
largely broken for quite some time, as nobody has really been
developing that way, and our setup to this point has been pretty
painful to do it.
While this is not entirely solved, I just pushed a pair of patches
[1][2] that make the rpm-enviroment development setup simpler, as well
as putting in place most of what is needed to allow/simplify standard
ruby development practice. There are some remaining dependency issues
remaining to be sorted to get upstream fully functional, which I am
working on now (rack version between our version of rails and
rack-restful_submit, one of which has had its gemspec hacked in rpm
version to allow them to coexist). There is mre detail in the commit
messages, but I will outline here how this affects your life when
developing our application.
* You now only need to add your dependency to Gemfile.in and the rpm
spec. lockfile updates should be done in a ruby-only environment
(rvm or vm dedicated to such setup), as fedora dependencies will
likely never match upstream exactly
* No requires in application.rb
* Profit
Now, is you want to develop upstream (once deps are fixed), you can
either setup a machine for this, or just use rvm + a gemset, which
will always get you a clean environment in a pretty short amout of
time. For my setup, I just do:
$ rvm use 1.8.7-p357@conductor
$ export USE_BUNDLER=yes
Then just run everything as usual from source. Again, this will fail
for you _right_ now, but is only due to our broken deps, not bundler,
ruby, or any of the other things != us that people like to blame.
Feel free to reply here with any additional questions on this, or any
issues you may encounter.
-j
[1] Redmine #3318: Add small extension library to bundler to load
system gems
[2] Redmine #3319: Set up conductor to use new Bundler extension
point.