Vagrant 1.5.0 has been released with fancy new features. [1] It would be great to see a 1.5.0 ebuild. [1] http://www.vagrantup.com/blog/vagrant-1-5-and-vagrant-cloud.html
I've had it sitting in my tree uncommitted for a while since upstream has added bundler support to handle plugin installs as well as a number of new ruby deps that aren't in the tree yet. Due to these factors it's looking like we might have to move to using upstream's packaged install method since I don't have time or interest to unbundle everything.
Created attachment 375082 [details] proposed ebuild for vagrant-bin 1.5.2 This ebuild worked for me on amd64 (not tested on x86) using the upstream's packaging.
(In reply to Tim Harder from comment #1) > I've had it sitting in my tree uncommitted for a while since upstream has > added bundler support to handle plugin installs as well as a number of new > ruby deps that aren't in the tree yet. > > Due to these factors it's looking like we might have to move to using > upstream's packaged install method since I don't have time or interest to > unbundle everything. I know it is difficult (although not exactly how difficult) but I guess I would rather see things remain packaged how they are now regarding Ruby packages. In this case, maybe it's better to patch out the bundler support to avoid the issue? This is sort of like how auto-updating of anything is almost always patched out (or configured out) on anything built using Portage. We can always just hide away the feature till there's a feasible way to support it (patch out the option/menu/etc), or maybe a patch such that bundle files go into a keepdir so the feature remains but requires extra privileges to use on Gentoo.
(In reply to Andrew Udvare from comment #3) > I know it is difficult (although not exactly how difficult) but I guess I > would rather see things remain packaged how they are now regarding Ruby > packages. In this case, maybe it's better to patch out the bundler support > to avoid the issue? Feel free to provide a patchset, I have little motivation or time to work towards this. Really it would be great if someone else stepped up who enjoys ruby unbundling work more to maintain this if we want to continue down this path.
I hacked together a basic set of ebuilds which let you install vagrant 1.5.2 + dependencies which can be found at https://github.com/jcline/vagrant-1.5.2-overlay Plugins are totally broken. I'm not sure if there's a way to work around the brokenness without removing bundler and I haven't had much time to experiment with it since I put all those together. I'm happy to accept pull requests in order to get everything working correctly.
more and more packages require vagrant >= 1.5 (btw, vagrant 1.6 was released on may 6th)
here are the external deps, there may be more curl, bsdtar, openssl, openssh, libxml2 and libxslt bsdtar is for a shellout, and any libs used can be installed system wide we should be able to build this
we would need to package rb-kqueue and winrm, winrm has a bunch of deps though... https://github.com/WinRb/WinRM/blob/master/winrm.gemspec
*** Bug 517490 has been marked as a duplicate of this bug. ***
(In reply to Matthew Thode ( prometheanfire ) from comment #8) > we would need to package rb-kqueue and winrm, winrm has a bunch of deps > though... > > https://github.com/WinRb/WinRM/blob/master/winrm.gemspec Seems this overlay put together by James Cline has the ebuilds at least started. https://github.com/jcline/vagrant-1.5.2-overlay/tree/master/dev-ruby
I'm currently just installing Vagrant 1.6.3 from source, using Bundler and Rake as detailed on their wiki page. You obviously need to emerge dev-lang/ruby (2.x). You also need to emerge app-arch/libarchive. I haven't looked at making an ebuild, as I don't fancy trying to produce ebuilds for the missing rubygems it needs.
Can we just do it the same way Vagrant itself does it? I just scanned through the official package installers for .deb and .rpm based distros and what he basically does is bundle all the Gems into an embedded subdirectory, then has some wrappers to set GEM_HOME for Vagrant. This shouldn't interfere with Gentoo itself and cause gem version conflicts, so I don't see a big problem with this approach, aside from some potential duplication of installed gems. You really want to sandbox the gems IMHO though, so I think Mitchell's official approach is quite sensible. Ruby gems installed globally and shared by different apps are extremely painful to manage. https://github.com/mitchellh/vagrant-installers
One thing that needs to change with this too, is to remove the implicit dependency on VirtualBox. Vagrant doesn't necessarily use VirtualBox and can be used with Docker, AWS, OpenVZ or any number of backend providers. Maybe provide a USE flag for whether or not to pull in VirtualBox. I'm just reading up on how to write ebuilds now and may try and do this in an overlay, but at least in the first version, I won't be attempting to ebuild every single ruby gem it depends on.
Ugh. I just looked at the RPM for 1.6.5. The ruby software ecosystem has said 'pound rocks' to the existing Linux package management in general, just punting everything into /opt/. While I understand the rationale (it *is* too hard to maintain a unified set of libraries for applications that have varying requirements), it makes it's own problems (like keeping all those various isolated gem environments up-to-date). That said, I'd be glad to help, but I'd also want to be able to bump any of the many gems and such this requires as needed. Otherwise, this will become an impossible task. Here's the list of included gems in the 1.6.5 RPM: drwxr-xr-x jesse/jesse 0 2014-09-18 14:43 ./opt/vagrant/embedded/gems/cache/ -rw-r--r-- jesse/jesse 12288 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/akami-1.2.2.gem -rw-r--r-- jesse/jesse 31744 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/builder-3.2.2.gem -rw-r--r-- jesse/jesse 294400 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/bundler-1.6.6.gem -rw-r--r-- jesse/jesse 46592 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/celluloid-0.15.2.gem -rw-r--r-- jesse/jesse 28160 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/childprocess-0.5.3.gem -rw-r--r-- jesse/jesse 173056 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/erubis-2.7.0.gem -rw-r--r-- jesse/jesse 865280 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/ffi-1.9.3.gem -rw-r--r-- jesse/jesse 14336 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/gssapi-1.0.3.gem -rw-r--r-- jesse/jesse 15360 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/gyoku-1.1.1.gem -rw-r--r-- jesse/jesse 15360 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/gyoku-1.1.1.gem -rw-r--r-- jesse/jesse 12800 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/hashicorp-checkpoint-0.1.4.gem -rw-r--r-- jesse/jesse 1971200 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/httpclient-2.4.0.gem -rw-r--r-- jesse/jesse 24576 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/httpi-0.9.7.gem -rw-r--r-- jesse/jesse 61440 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/i18n-0.6.11.gem -rw-r--r-- jesse/jesse 44032 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/listen-2.7.9.gem -rw-r--r-- jesse/jesse 61440 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/i18n-0.6.11.gem -rw-r--r-- jesse/jesse 44032 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/listen-2.7.9.gem -rw-r--r-- jesse/jesse 9216 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/little-plugger-1.1.3.gem -rw-r--r-- jesse/jesse 118272 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/log4r-1.1.10.gem -rw-r--r-- jesse/jesse 88064 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/logging-1.8.2.gem -rw-r--r-- jesse/jesse 61440 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/mime-types-1.25.1.gem -rw-r--r-- jesse/jesse 13312 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/mini_portile-0.6.0.gem -rw-r--r-- jesse/jesse 30720 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/multi_json-1.10.1.gem -rw-r--r-- jesse/jesse 32256 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/net-scp-1.1.2.gem -rw-r--r-- jesse/jesse 174592 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/net-ssh-2.9.1.gem -rw-r--r-- jesse/jesse 8755200 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/nokogiri-1.6.3.1.gem -rw-r--r-- jesse/jesse 20480 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/nori-1.1.5.gem -rw-r--r-- jesse/jesse 216576 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/rack-1.5.2.gem -rw-r--r-- jesse/jesse 128000 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/rb-fsevent-0.9.4.gem -rw-r--r-- jesse/jesse 14336 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/rb-inotify-0.9.5.gem -rw-r--r-- jesse/jesse 16384 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/rb-kqueue-0.2.3.gem -rw-r--r-- jesse/jesse 115712 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/rest-client-1.6.8.gem -rw-r--r-- jesse/jesse 11776 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/rubyntlm-0.1.1.gem -rw-r--r-- jesse/jesse 28672 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/savon-0.9.5.gem -rw-r--r-- jesse/jesse 7680 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/timers-1.1.0.gem -rw-r--r-- jesse/jesse 25600 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/uuidtools-2.1.5.gem -rw-r--r-- jesse/jesse 466944 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/vagrant-1.6.5.gem -rw-r--r-- jesse/jesse 12800 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/vagrant-login-1.0.1.gem -rw-r--r-- jesse/jesse 13910528 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/vagrant-share-1.1.1.gem -rw-r--r-- jesse/jesse 12288 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/wasabi-1.0.0.gem -rw-r--r-- jesse/jesse 18944 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/wdm-0.1.0.gem -rw-r--r-- jesse/jesse 20480 2014-09-04 19:33 ./opt/vagrant/embedded/gems/cache/winrm-1.1.3.gem
there is a reason I just extract to my homedir and symlink to a homedir /bin location... same for gem installs
Created attachment 386314 [details] vagrant-bin-1.6.5.ebuild This just installs official vagrant deb package to /opt
Created attachment 391656 [details] Vagrant 1.7.1 ebuild, version bump This ebuild is very similar to the older one attached here but uses their RPM and the rpm eclass instead unpacking manually.
Latest version on https://www.vagrantup.com/downloads.html is 1.7.2
OK, I'm trying out the ebuild posted by Andrew Udvare (thanks Andrew). However, this e-build seems radically different (and underconfigured) compared to the one presently in portage. I'm not sure what the REDEPEND="!!app-emulation/vagrant" is for? As it is, after doing ebuild manifest, I get this when I try to install on a system *without* vagrant: [root@fuji-02 /usr/local/portage/app-emulation/vagrant]# emerge -1v vagrant These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ~] app-emulation/vagrant-1.7.2::x-portage 0 KiB [blocks B ] app-emulation/vagrant ("app-emulation/vagrant" is hard blocking app-emulation/vagrant-1.7.2) Total: 1 package (1 new), Size of downloads: 0 KiB Conflict: 1 block (1 unsatisfied) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (app-emulation/vagrant-1.7.2:0/0::x-portage, ebuild scheduled for merge) pulled in by vagrant For more information about Blocked Packages, please refer to the following section of the Gentoo Linux x86 Handbook (architecture is irrelevant): http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked [root@fuji-02 /usr/local/portage/app-emulation/vagrant]# Am I doing something wrong? As I said, 'vagrant' is not installed, but 'hard blocks'... vagrant? Color me confused.
OK, FYI. Commenting out "RDEPEND", and changing the links and name to 1.7.2 allowed installation of Vagrant 1.7.2 (latest stable release), and the resulting vagrant works (on amd64), and unblocks *me* from not being able to use Chef Test Kitchen. I'm not reccomending it for mainline portage inclusion, though. YMMV.
(In reply to Jesse Adelman from comment #20) > OK, FYI. Commenting out "RDEPEND", and changing the links and name to 1.7.2 > allowed installation of Vagrant 1.7.2 (latest stable release), and the > resulting vagrant works (on amd64), and unblocks *me* from not being able to > use Chef Test Kitchen. I'm not reccomending it for mainline portage > inclusion, though. YMMV. The ebuild and package name is supposed to be called 'vagrant-bin' not 'vagrant' (app-emulation/vagrant-bin/vagrant-bin-1.7.1.ebuild). That is why the RDEPEND is there, to block the old ebuild. Of course it is different too because it uses the binary and just extracts it as it would on a CentOS/Debian/etc system, whereas the old one would run the regular gem install (which Vagrant no longer supports; big thanks to Windows users</sarcasm>).
Updated ebuild is here: https://github.com/Tatsh/tatsh-overlay/blob/master/app-emulation/vagrant-bin/vagrant-bin-1.7.2.ebuild Now uses ${PV}
Any update on this?
The problem is that this package has no maintainer currently, does anyone want to proxy-maintain it? https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers Thanks
We have an expression of interest from a Mathew Artemenko. It's a cpmlex package so you might need to do some corresponding with the devs who have replied here.
Let's get a bin version to portage: https://bugs.gentoo.org/show_bug.cgi?id=563548
And by now vagrant is at 1.7.4 !
If nobody is going to maintain this in the tree, we will have to treeclean it to stop people from trying to use the old version
Anybody willing to co-maintain a few ruby packages? Since the ruby team don't want to add vagrant-bin, we need to get the deps of vagrant to portage first. A list can be found at: https://bugs.gentoo.org/show_bug.cgi?id=563548
Just fyi, this one http://data.gpo.zugaina.org/johu/app-emulation/vagrant-bin/ helped me fix a problem (see https://github.com/mitchellh/vagrant/issues/6686).
@Nikos, that is binary version which Gentoo refuses to use. It seems like Reto Gantenbein prepared the necessary ruby deps in https://bugs.gentoo.org/show_bug.cgi?id=563548 so Vagrant may get updated if we get those deps into Gentoo.
A version bump here: https://github.com/gentoo/gentoo/pull/677 The bump introduces 2 new packages and a modification of net-scp here: https://bugs.gentoo.org/show_bug.cgi?id=572290 You can test and provide feedback. This is mostly the work of Reto Gantenbein (ganto).
CCing proxy maintainer to see if they can finally solve this and set up the new maintainers
In tree, thanks all for the help!