Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 505124

Summary: app-emulation/vagrant-1.8.1 version bump
Product: Gentoo Linux Reporter: Benjamin Peterson <benjamin>
Component: Current packagesAssignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed>
Status: RESOLVED FIXED    
Severity: normal CC: andriy155, anigl, binki, chris, gentoo, gentoobugs, haykel_tagourti, hydrapolic, jesse, johu, kc, kentnl, likeyn, marcin.sochon, orzel, peach, proxy-maint, ryneeverett, tobias.pal, treecleaner, uzytkownik2
Priority: Normal Keywords: PMASKED
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard: Pending removal: 2016-02-05
Package list:
Runtime testing required: ---
Bug Depends on: 572290    
Bug Blocks:    
Attachments: proposed ebuild for vagrant-bin 1.5.2
vagrant-bin-1.6.5.ebuild
Vagrant 1.7.1 ebuild, version bump

Description Benjamin Peterson 2014-03-20 01:38:30 UTC
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
Comment 1 Tim Harder gentoo-dev 2014-03-20 04:19:53 UTC
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.
Comment 2 Timothy Messier 2014-04-16 14:03:01 UTC
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.
Comment 3 Andrew Udvare 2014-04-18 19:38:31 UTC
(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.
Comment 4 Tim Harder gentoo-dev 2014-04-18 20:18:42 UTC
(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.
Comment 5 James Cline 2014-04-21 03:55:01 UTC
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.
Comment 6 Thomas Capricelli 2014-05-18 15:45:09 UTC
more and more packages require vagrant >= 1.5
(btw, vagrant 1.6 was released on may 6th)
Comment 7 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2014-06-25 22:03:34 UTC
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
Comment 8 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2014-06-25 22:47:31 UTC
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
Comment 9 Jeroen Roovers (RETIRED) gentoo-dev 2014-07-19 14:04:06 UTC
*** Bug 517490 has been marked as a duplicate of this bug. ***
Comment 10 Andrew Udvare 2014-07-24 19:21:06 UTC
(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
Comment 11 Chris Corbyn 2014-07-25 04:09:48 UTC
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.
Comment 12 Chris Corbyn 2014-07-27 00:48:33 UTC
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
Comment 13 Chris Corbyn 2014-07-27 01:19:34 UTC
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.
Comment 14 Jesse Adelman 2014-09-18 21:48:05 UTC
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
Comment 15 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2014-09-18 23:54:03 UTC
there is a reason I just extract to my homedir and symlink to a homedir /bin location...

same for gem installs
Comment 16 M8R-u38wij 2014-10-09 18:11:01 UTC
Created attachment 386314 [details]
vagrant-bin-1.6.5.ebuild

This just installs official vagrant deb package to /opt
Comment 17 Andrew Udvare 2014-12-14 06:37:50 UTC
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.
Comment 18 Wolfram Schlich (RETIRED) gentoo-dev 2015-02-03 07:04:46 UTC
Latest version on https://www.vagrantup.com/downloads.html is 1.7.2
Comment 19 Jesse Adelman 2015-02-05 00:20:46 UTC
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.
Comment 20 Jesse Adelman 2015-02-05 00:29:46 UTC
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.
Comment 21 Andrew Udvare 2015-02-05 07:41:17 UTC
(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>).
Comment 22 Andrew Udvare 2015-02-05 07:47:04 UTC
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}
Comment 23 wyvern5 2015-04-09 19:50:59 UTC
Any update on this?
Comment 24 Pacho Ramos gentoo-dev 2015-04-10 17:20:21 UTC
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
Comment 25 Ian Delaney (RETIRED) gentoo-dev 2015-06-17 01:22:33 UTC
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.
Comment 26 Tomáš Mózes 2015-10-20 08:55:22 UTC
Let's get a bin version to portage:
https://bugs.gentoo.org/show_bug.cgi?id=563548
Comment 27 Sandu Adrian 2015-11-06 18:45:33 UTC
And by now vagrant is at 1.7.4 !
Comment 28 Pacho Ramos gentoo-dev 2015-11-08 12:31:24 UTC
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
Comment 29 Tomáš Mózes 2015-11-09 06:22:58 UTC
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
Comment 30 Nikos Alexandris 2015-12-18 19:58:47 UTC
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).
Comment 31 Tomáš Mózes 2016-01-08 13:22:20 UTC
@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.
Comment 32 Tomáš Mózes 2016-01-18 17:16:28 UTC
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).
Comment 33 Pacho Ramos gentoo-dev 2016-01-18 21:23:20 UTC
CCing proxy maintainer to see if they can finally solve this and set up the new maintainers
Comment 34 Tomáš Mózes 2016-01-20 07:25:29 UTC
In tree, thanks all for the help!