[katello-devel] Bundler vs rpm-gems

Dmitri Dolguikh dmitri at redhat.com
Wed Aug 22 12:04:20 UTC 2012


On 22/08/12 12:29 PM, Ivan Nečas wrote:
> On 08/22/2012 10:39 AM, Petr Chalupa wrote:
>> Hi,
>>
>> as Ivan and Lukas said on mail-list, I had some ideas how to solve 
>> our bundler/rpm issues. Then I had discussion with Ivan and Mirek and 
>> here is the proposed solution.
>>
>> == Requirements
>>
>> When installing on fedora/rhel in production. Do not mess with the 
>> production setup, rpm gems are used, 'bundle install' wont install 
>> anything else.
>>
>> When installing on fedora/rhel in development. 'bundle install' 
>> prefers rpm-gems even if there is a newer gem in our gem-repo [2]. 
>> Additional development dependencies are installed.
>>
>> When installing on any other system (Debian, Ubuntu, Mac, ...) in 
>> development. 'bundle install' installs the same versions of gems as 
>> would be installed on fedora. Optionally (at least made it possible 
>> in the future) 'bundle install' installs not only the same versions 
>> but also gems including security fixes included in rpm-gems.
>>
>> == Proposal
>>
>> I'll add monkey patch to katello/master for bundler which will ensure 
>> that rpm-gems are preferred (even if they are older than gems in a 
>> gem-repo). It's based on bkabrda's patch [1].
>>
>> I'll ensure that our gem repo [2] contains all gems needed for 
>> katello development (some are still missing). This enables katello 
>> (rails app) to be installed on any system without rubygems.org.
>>
>> I would like to work on this in the next iteration. Also I would like 
>> to explore how difficult would be to create gem versions with 
>> security patches (which is important for non fedora development - me).
>>
>> We also discussed it would be nice to move our gem-repo to github a 
>> publish it on pages.github. The repo would be more visible. It would 
>> allow us to use pull-requests for tracking new gem-dependencies. It 
>> would be on one place.
> I'm all for this change. This is a good compromise for yum-based 
> development vs. rest of the world, as it brings the good parts from 
> both worlds (stability of production dependencies vs. comfort of using 
> other gems for easier development). The main problem with the custom 
> gem repo was the way it was prepared, but that's not a reason why not 
> to use it. I vote for every improvement that doesn't prevent me 
> developing on the same stack we're running and supporting for production.

The main problem with custom gem repo is that it not very useful outside 
of rhel/fedora world at best, and can be an actual downside. I know that 
foreman users/devs running on debian use debian-provided dependencies. 
How does a custom repo help them?

What if someone wants to use katello as part of their project, how do 
custom dependencies help them?

-d
> It's also the fastest way to get a development environment on 
> yum-based machine: katello-install, bundle install. Ready to go.
>
> -- Ivan
>>
>> Petr
>>
>> [1] https://gist.github.com/2875212
>> [2] http://repos.fedorapeople.org/repos/katello/gems/
>>
>> _______________________________________________
>> katello-devel mailing list
>> katello-devel at redhat.com
>> https://www.redhat.com/mailman/listinfo/katello-devel
>
>





More information about the katello-devel mailing list