[katello-devel] Bundler vs rpm-gems - in more detail

Dmitri Dolguikh dmitri at redhat.com
Fri Aug 24 14:46:51 UTC 2012


On 24/08/12 03:26 PM, Lukas Zapletal wrote:
>> == Aeolus solution, bundler_ext [2]
>>
>> * Dependencies resolution is unaffected so 'bundle install' cannot
>> be used to install development dependencies, it would ignore
>> rpm-gems and install gems from gem-repo.
>> * If bundler_ext is used for setup development environment, control
>> over which versions are required is lost (requiring is not done by
>> bundler)
>> * It affects only how requirements are loaded [1], it's useful only
>> for deployment.
>> * (We could use it in deployment to get rid of bundler, but that is
>> out of this discussion's scope see Goal.2)
> I wonder if there is another solution:
>
> == Get rid of the bundler
>
> Make a patch to our application adding all required "require" statements
> so we can safely delete Gemfile and Gemfile.lock, start up Rails and it
> will work. Only for production of course.
That is exactly what bundler_ext gem does.
> During our discussion with Bundler author, he said this is the preferred
> solution. I wonder if we need to use Bundler in production at all.
>
> Currently the only issue is we load all the gemfiles with Bundler and we
> do not put require statements in the individual source files.
>
I'm a little lost at what *exactly* we are trying to solve. I think we 
are talking about several problems simultaneously.

To make the conversation clear[er], here is the problems that need solving:
  - Ability to run Katello from both bundler and rpm installs. As I 
mentioned before, bundler_ext does exactly that.
  - A way to easily reproduce production setup + development 
dependencies (Lukas, I think it was you who mentioned this one. Please 
chime in if so.). There's a couple of ways to do that using Bundler, and 
there's Petr's approach - the hybrid.
  - A related to the previous one, but somewhat separate conversation is 
how we are going to keep platform-specific 
changes/meta-data/dependencies required for builds.


-d




More information about the katello-devel mailing list