[katello-devel] where to get required katello gems

Lukas Zapletal lzap at redhat.com
Tue Jul 17 11:08:22 UTC 2012


That is nice you wonder about different platforms, but seriously - if
anyone from the community wants to hack with Katello, Fedora/RHEL are
the only supported platforms and it is good reason to use them also for
development.

We will not forbid use of Bundler at all. It can still be used by other
devs, but let's not support it. By support, I mean creating dedicated
gem repo. It is part of our (old) build process, yes. The reason for
that is rather history - we did not have RPMs yet so whole team was
using gems.

Now this is different, runtime works from RPM and Mirek reports it
should not be big issue to package also development RPMs. Then we don't
need to create dedicated gem repo. So my suggestion would be to:

- package all development gems as RPMs and provide a metapackage
- remove source 'http://repos.fedorapeople.org/repos/katello/gems/' from
  our Gemfile (that's what you recommend basically)
- stop providing the gemrepo after koji migration
- users are still able to use rubygems via rubygems.org

Once we migrate to Fedora 17 and Ruby 1.9, "pure ruby" developers should
take care. All changes must be confirmed to be working on both RHEL6
(Ruby 1.8) and Fedora 17 (RHEL7 perhaps - Ruby 1.9). This needs to be
done via standard means - e.g. RPM installation, because I am not sure
how to do this via rubygems (maintaining multiple lock files = gem hell
:-)

LZ

On Mon, Jul 16, 2012 at 05:57:04PM +0200, Petr Chalupa wrote:
> I am the osx user so I have to speak out ;)
> 
> I think this is not just my issue. Not everybody is running on
> fedora, this affects all debian-based distributions as well. I think
> it should be solved satisfactory not to discourage potential
> contributors.
> 
> I think they like theirs tweaked machines, they are used to theirs
> tools and They want to use them as I do. To do so you need run
> katello app locally against a VM with services (db, pulp,
> candlepin).
> 
> I may have a compromise:
> - If all gems are in rpm repos, with the .gem files actualized.
> - Then a developer can do 'bundle package' on the VM to get
> vendor/cache with all needed gems including theirs CVE patches.
> - Then he can run 'bundle install --locally' on any development
> machine and he is good to go.
> 
> We can later decide to add a repo with vendor/cache to make it even easier.
> 
> To sumarize: I think the main issue for non fedora development
> machines are not updated .gem files in rubygem rpms.
> 
> Petr
> 
> On 16.07.12 16:23, Lukas Zapletal wrote:
> >The issue is not about how to work with bundler. If we package all the
> >build deps as RPMs, we dont need bundler anymore. So installing
> >development setup would be just like installing one metapackage via yum.
> >That's it. And we are not far from that!
> >
> >Rubygems in Red Hat's world are evil. Just like JAR files. Our customer
> >do deliver using RPMs. We should do the same. I can understand it is
> >very comfortable to have ability to run rvm or bunlder, but this is
> >fight that every developer must do its own. Especially those with MacOS
> >;-)
> >
> >My point is - instead of providing rubygem repos or fighting with
> >bundler configurations, let's just package devel only dependencies as
> >RPMs so devs can install them just like any other software they use. And
> >then handle bunlder the usual way (deleting lock file, generating lock
> >file in RPM post trans script, every team has its own way).
> >
> >Bundler is something we don't need. Actually, it's an obstacle we should
> >rather get rid of. JBoss folks could tell stories (Maven)...
> >
> >LZ
> >
> >On Mon, Jul 16, 2012 at 09:28:44AM -0400, Michael Orazi wrote:
> >>
> >>
> >>----- Original Message -----
> >>>
> >>>
> >>>----- Original Message -----
> >>>>From: "Bryan Kearney" <bkearney at redhat.com>
> >>>>To: katello-devel at redhat.com
> >>>>Sent: Monday, July 16, 2012 8:23:25 AM
> >>>>Subject: Re: [katello-devel] where to get required katello gems
> >>>>
> >>>>On 07/16/2012 07:26 AM, Petr Chalupa wrote:
> >>>>>I have a counter proposal which is more from Ruby world then the
> >>>>>solution described in previous emails.
> >>>>>
> >>>>>- remove source
> >>>>>'http://repos.fedorapeople.org/repos/katello/gems/'
> >>>>>and
> >>>>>other sources from Gemfile
> >>>>>- store all needed gems in vendor/cache as .gem files (directly
> >>>>>in
> >>>>>katello master or a git-submodule) (all versions for f16 and
> >>>>>RHEL)
> >>>>>- install gems with bundle install (without source specified
> >>>>>bundler
> >>>>>picks up gems from vendor/cache)
> >>>>>
> >>>>>Advantages:
> >>>>>- you can install all required gems on any platform: fedora,
> >>>>>ubuntu
> >>>>>or
> >>>>>osx (which I need)
> >>>>>- faster installation
> >>>>>- you can switch between fedora/RHEL env by replacing
> >>>>>Gemfile.lock
> >>>>>(lets
> >>>>>say we would have Gemfile.lock.f16 and Gemfile.lock.rhel in our
> >>>>>git
> >>>>>for
> >>>>>this purpose)
> >>>>>- easy access to and updates of gem versions
> >>>>>- you can include gems with CVE patches from fedora, everybody
> >>>>>would
> >>>>>have correct versions of gems (which I currently don't have)
> >>>>>
> >>>>>Disadvantages
> >>>>>- rubygem-* rpms are not being correctly packed. The included
> >>>>>.gem
> >>>>>files
> >>>>>are not containing CVE patches. We would need to come up with a
> >>>>>workaround to build updated .gem files or fix the issue. If this
> >>>>>is
> >>>>>fixed, all you have to do to store gems in vendor/cache is
> >>>>>'bundle
> >>>>>package' [1].
> >>>>>- other possible problems i do not see, any ideas?
> >>>>>
> >>>>>[1] http://gembundler.com/bundle_package.html
> >>>>>
> >>>>>What do you think?
> >>>>>
> >>>>>Petr
> >>>>>
> >>>>
> >>>>Could we do this model for DEV, and then work on proper packaging
> >>>>for
> >>>>each distro? I think it would help alot if we could be more
> >>>>friendly
> >>>>to
> >>>>DEVs.
> >>>>
> >>>>-- bk
> >>>>
> >>>>_______________________________________________
> >>>>katello-devel mailing list
> >>>>katello-devel at redhat.com
> >>>>https://www.redhat.com/mailman/listinfo/katello-devel
> >>>>
> >>>
> >>>I said half jokingly on IRC the other day that we should have a
> >>>'katello-configure --developer' which would install everything for
> >>>use with a git checkout. This would make it completely simple for
> >>>anyone to get up and going with a dev setup. Perhaps they would just
> >>>point to the git checkout:
> >>>
> >>>% katello-configure --developer /home/dudette/katello
> >>>
> >>>_______________________________________________
> >>>katello-devel mailing list
> >>>katello-devel at redhat.com
> >>>https://www.redhat.com/mailman/listinfo/katello-devel
> >>>
> >>
> >>There have been some similar discussions on aeolus-devel as well.  Perhaps we could put our heads together and come up with a common solution for both projects since we are dealing with similar concerns.
> >>
> >>Adding John Eckersberg and Jason Guiditta to the cc as they have been thinking a bit about both of these problems.  John has been pretty focussed on possible integrations in aeolus-configure and Jason has been working quite a bit about how to handle bundler such that it will act as one would expect regardless of whether they are an 'rpm based' developer or a 'pure ruby' developer.
> >>
> >>Mike
> >>
> >>_______________________________________________
> >>katello-devel mailing list
> >>katello-devel at redhat.com
> >>https://www.redhat.com/mailman/listinfo/katello-devel
> >
> 
> _______________________________________________
> katello-devel mailing list
> katello-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/katello-devel

-- 
Later,

 Lukas "lzap" Zapletal
 #katello #systemengine




More information about the katello-devel mailing list