Hi Mo,
Thanks for the pointers, I'll definitely look at this and ask for help on the
Ruby SIG list. The issue here is that Vagrant plugins are rubygems that get
installed in the user's ~/.vagrant.d/ directory with all their dependencies
(ie. Vagrant won't reuse system-wide installed gems). I already face the issue
with vagrant-kvm with the dependency on Nokogiri, which needs gcc to install.
OTOH I'm trying to keep Vagrant patching to a minimum. I think the best course
of action is:
- have Vagrant look for plugins system-wide first (in /usr/share/gems) and then
in ~/.vagrant.d
- still allow plugin install from rubygems.org ('vagrant plugin install
whatever') and ensure it works
- provide vagrant-kvm as a system-wide rubygem and ensure it uses system-wide
dependencies
- maybe provide some other Vagrant plugins as RPM (not sure it's wise)
bundler_ext seems like it could help here, I'm going to have a look at that.
Alex
----- Original Message -----
From: "Mo Morsi" <[email protected]>
To: [email protected]
Sent: Monday, 23 September, 2013 2:17:01 PM
Subject: Re: Vagrant in Fedora
On 09/23/2013 08:37 AM, Alexandre Drahon wrote:
Hi all,
I wanted to give an update on the status of Vagrant in Fedora 20, I just
realised it's my first post to the list so I'll take this opportunity to
introduce myself. I'm Alex, I work at Red Hat as a Solution Architect (ie.
nothing engineering related), I wrote the vagrant-kvm plugin on my spare time
to make it work on my Fedora laptop, though there's now a (much more qualified)
second maintainer who is also providing support for Ubuntu through a PPA.
Matthew asked me if I wanted to work on packaging Vagrant and the KVM plugin
for Fedora 20, and I foolishly accepted ;)
It's quite exhilarating having the opportunity to contribute to Fedora, and at
the same time I feel totally lost. I don't mean this as a criticism, it's just
this "first week at school" feeling, it will take me some time to get an idea
of how things work. That said, here's the Vagrant situation:
1. I have a vagrant RPM that installs and works as expected, there's some
minimal patching involved which has to do with the fact that Vagrant expect to
be running in it's own Ruby 1.9.3 environment in /opt
2. There was also some patching involved to make the plugin system work,
although I haven't tested plugins extensively (some stuff breaks like rubygems
loading path) and providing common plugins as RPMs looks like the better way in
Fedora.
3. I had to build my own rubygems-childprocess (current Fedora package is very
old) and rubygems-log4r (not provided in Fedora) RPMs, but I don't know how I
should submit them (package review ticket?). There's a existing ticket for
log4r https://bugzilla.redhat.com/show_bug.cgi?id=905240 , I added it as a
dependency to the Vagrant ticket.
4. I've packaged vagrant-kvm as a RPM and it installs, but I'm running into
serious issues with Policykit. I don't think I'll be able to solve that without
help, I'm not even sure what's the right way to do it.
So, as a summary:
- yum install vagrant should work, at which point you need to install
VirtualBox and it will run as expected
- vagrant-kvm installs but I don't know how to add the right polkit rules (I
need help)
Looks pretty good, right?
Alex
Hey Alex, looks awesome, thanks for submitting this.
Unfortunately I'm not too familiar w/ the polkit stuff, but regarding the Ruby
packaging, it looks similar to other situations we've encountered when
attempting to package Ruby code for our platform. Unfortunately alot of
upstream ruby tools are geared towards heavily vendoring / bundling deps (often
the primary platform is Mac OSX). We're making headways on improving support
for and working around these situations (see stuff like [1], [2], and [3]),
often sending things upstream (which a variable acceptance rate depending on
community practices).
In any case, if you're looking for any assistance RE the ruby stuff, I'd
checkout the Ruby SIG [4] (if you haven't already). Or even just forward this
there, I'm sure there will be interest. Thanks again!
-Mo
[1] https://github.com/bundlerext/bundler_ext
[2]
https://github.com/ManageIQ/gem_dependency_checker/blob/master/gem_dependency_checker.rb
[3] https://github.com/voxik/gem-nice-install
[4] http://fedoraproject.org/wiki/Ruby_SIG
_______________________________________________
cloud mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/cloud
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
_______________________________________________
cloud mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/cloud
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct