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

Reply via email to