app-emulation/vagrant: bump to 1.9.2, drop old

Closes: #4135

Package-Manager: Portage-2.3.3, Repoman-2.3.1
This commit is contained in:
Tomas Mozes
2017-03-06 07:43:26 +01:00
committed by Amy Liffey
parent 53b0d58dcf
commit 2dd1e81d3e
7 changed files with 10 additions and 263 deletions

View File

@@ -1,3 +1,2 @@
DIST vagrant-1.8.6.tar.gz 1749696 SHA256 de1204c56feeeb327f542e58d39c9dd55fef78a9b753594a3b30e330d72d23e4 SHA512 dba8226b4039a8fa3587254f5d57fb7c967dde993aa87cffd745d7e176d2f78b45830e04711d90e48bca47197b11d1a46e34bf29e5bc0e1d6d78eecb2e636e36 WHIRLPOOL 3c32f00a4b4d773d6f795ad8a088c4a4316d612a8d4504348f2d2790bfc38bf5299a9e730c28b721858a36cff4210b322e8f6225b144e37282689c3beee1971b
DIST vagrant-1.8.7.tar.gz 1756302 SHA256 5371d39679d40d4f6913728dd3d93c103e74c76ecc813710191a2c378b83a1e2 SHA512 b9cffded481b03d676d5815b1d6ba55b56cd5ae8ac7ddbaca19f36880df8cd3fdc9efc240782001619bd3790518e192ba82e8bbde2e4eba12894e78603e6a3b7 WHIRLPOOL 37e4dfe3b4f4681c01887ce75ec035cc8efdf2950b2d04bac0793dd527d65d3f7c991880e7fb402831eb746bb3cb1f84cf7b4529316435b007d6a0cf682f3393
DIST vagrant-1.9.1.tar.gz 1762644 SHA256 ed30e5a277b5614ee83d9417793ed2af870977368c2b0344855694040c4d6449 SHA512 07ea6e2d881806ce61395a30abdaa7b4f7c2c39bb909d6c6e0aa14101945a9a26078ed18ebb8e238d97f05ee060564fb290615ac4868b80ee29b64b88a666452 WHIRLPOOL 16ece1985a78942c75774181c803e42ffe81cd0580314372932af6a3c5084b43f8d3db0d6137eaa3186a9cdbf33e8e9d59f27f95be6ebe2ed5d93a90577e7fb9
DIST vagrant-1.9.2.tar.gz 1813028 SHA256 53723eec1180ed0e89c1968e06626c6d45e42f6dc25ae9934ca8dfc240a82046 SHA512 26e2a933571b076fae27ea13e0f86529e39ebc3eb7580781d9cfa81bff2383f4dee72b947b3d2cb4f4bd231769f27da27b95e10f43b5207b824cd22b1e2403b6 WHIRLPOOL 9401ba1d21d20cf4a0f1c74775e077d9fad27edfbcb21f96579ff6cf6d7e8ab734cd0832f20ff568f7346633b80dee2fbc897ca34f08bc6868add7d274330d76

View File

@@ -1,114 +0,0 @@
--- bin/vagrant
+++ bin/vagrant
@@ -69,6 +69,11 @@
require "bundler"
begin
$vagrant_bundler_runtime = Bundler.setup(:default, :plugins)
+# Invalidate the cached Gemfile.lock if necessary and try again
+rescue Bundler::GemNotFound
+ FileUtils.rm File.expand_path("~/.vagrant.d/Gemfile") if File.exists? File.expand_path("~/.vagrant.d/Gemfile")
+ FileUtils.rm File.expand_path("~/.vagrant.d/Gemfile.lock") if File.exists? File.expand_path("~/.vagrant.d/Gemfile.lock")
+ $vagrant_bundler_runtime = Bundler.setup(:default, :plugins)
rescue Bundler::GemNotFound
$stderr.puts "Bundler, the underlying system used to manage Vagrant plugins,"
$stderr.puts "is reporting that a plugin or its dependency can't be found."
--- lib/vagrant/bundler.rb 2016-06-13 10:21:40.000000000 +0200
+++ lib/vagrant/bundler.rb 2016-06-23 08:19:22.466039136 +0200
@@ -65,6 +65,13 @@
@configfile = tempfile("vagrant-configfile")
@configfile.close
+ # Ensure the path to user's Gemfile exists
+ gemfile = Vagrant.user_data_path.join("Gemfile")
+ unless File.exists? gemfile
+ FileUtils.mkdir_p(File.dirname(gemfile))
+ File.open(gemfile, 'w') {}
+ end
+
# Build up the Gemfile for our Bundler context. We make sure to
# lock Vagrant to our current Vagrant version. In addition to that,
# we add all our plugin dependencies.
@@ -151,7 +158,7 @@
# Clean removes any unused gems.
def clean(plugins)
- gemfile = build_gemfile(plugins)
+ gemfile = build_gemfile(plugins, false, true)
lockfile = "#{gemfile.path}.lock"
definition = ::Bundler::Definition.build(gemfile, lockfile, nil)
root = File.dirname(gemfile.path)
@@ -182,11 +189,23 @@
# Builds a valid Gemfile for use with Bundler given the list of
# plugins.
#
+ # @param [Hash|Bool] update Hash of gems to update or true for all
+ # @param [Bool] invalidate Invalidate Gemfile.lock
# @return [Tempfile]
- def build_gemfile(plugins)
+ def build_gemfile(plugins, update = false, invalidate = false)
sources = plugins.values.map { |p| p["sources"] }.flatten.compact.uniq
- f = tempfile("vagrant-gemfile")
+ # Determine what gems to update
+ if update.is_a? Hash
+ update_gems = update[:gems]
+ elsif update === true
+ update_gems = plugins.map{ |p| p[0] }
+ else
+ update_gems = []
+ end
+
+ gemfile = Vagrant.user_data_path.join("Gemfile")
+ f = File.open(gemfile, "w+")
f.tap do |gemfile|
sources.each do |source|
next if source == ""
@@ -195,6 +214,19 @@
gemfile.puts(%Q[gem "vagrant", "= #{VERSION}"])
+ locked_gems = []
+
+ # Use Gemfile.lock to lock the gem versions
+ if ENV["VAGRANT_INTERNAL_BUNDLERIZED"] && File.exist?("#{gemfile.path}.lock") && !invalidate
+ lockfile = ::Bundler::LockfileParser.new(::Bundler.read_file("#{gemfile.path}.lock"))
+ lockfile.specs.each do |s|
+ if s.name != 'vagrant' && !(update_gems.include? s.name)
+ gemfile.puts(%Q[gem "#{s.name}", "#{s.version.to_s}"])
+ end
+ end
+ locked_gems = lockfile.specs.map(&:name) - update_gems
+ end
+
gemfile.puts("group :plugins do")
plugins.each do |name, plugin|
version = plugin["gem_version"]
@@ -205,10 +237,18 @@
opts[:require] = plugin["require"]
end
- gemfile.puts(%Q[gem "#{name}", #{version.inspect}, #{opts.inspect}])
+ gemfile.puts(%Q[gem "#{name}", #{version.inspect}, #{opts.inspect}]) unless locked_gems.include? name
end
gemfile.puts("end")
gemfile.close
+
+ # Create Gemfile.lock if missing and re-generate Gemfile
+ if !File.exist?("#{f.path}.lock") && File.exist?(f.path)
+ lockfile = "#{f.path}.lock"
+ ENV['BUNDLE_GEMFILE'] = f.path
+ definition = ::Bundler::Definition.build(f.path, lockfile, false)
+ end
+ f
end
end
@@ -219,7 +259,7 @@
# can be a hash of options. See Bundler.definition.
# @return [Array<Gem::Specification>]
def internal_install(plugins, update, **extra)
- gemfile = build_gemfile(plugins)
+ gemfile = build_gemfile(plugins, update)
lockfile = "#{gemfile.path}.lock"
definition = ::Bundler::Definition.build(gemfile, lockfile, update)
root = File.dirname(gemfile.path)

View File

@@ -1,46 +0,0 @@
#!/usr/bin/env bash
#
# This is a wrapper to properly execute Vagrant within the embedded
# Vagrant installation directory. This sets up proper environmental variables
# so that everything loads and compiles to proper directories.
VAGRANT_DIR="$( ruby -e 'print Gem::default_path[-1] + "/gems/vagrant-1.8.7"' )"
# Export GEM_HOME based on VAGRANT_HOME
#
# This needs to be set because Bundler includes gem paths
# from RubyGems' Gem.paths.
if [ -z $VAGRANT_HOME ]; then
VAGRANT_HOME=$(eval echo "~/.vagrant.d")
fi
export GEM_HOME="$VAGRANT_HOME/gems"
# SSL certs
export SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt"
# Export an environmental variable to say we're in a Vagrant
# installer created environment.
export VAGRANT_INSTALLER_ENV=1
# This is currently used only in Vagrant::Plugin::Manager.system_plugins_file
# to locate plugins configuration file.
export VAGRANT_INSTALLER_EMBEDDED_DIR="/var/lib/vagrant"
export VAGRANT_INSTALLER_VERSION="2"
# Determine the OS that we're on, which is used in some later checks.
# It is very important we do this _before_ setting the PATH below
# because uname dependencies can conflict on some platforms.
OS=$(uname -s 2>/dev/null)
# Export the OS as an environmental variable that Vagrant can access
# so that it can behave better.
export VAGRANT_DETECTED_OS="${OS}"
VAGRANT_EXECUTABLE="${VAGRANT_DIR}/bin/vagrant"
VAGRANT_LAUNCHER="${VAGRANT_DIR}/lib/vagrant/pre-rubygems.rb"
# Export the VAGRANT_EXECUTABLE so that pre-rubygems can optimize a bit
export VAGRANT_EXECUTABLE
# Call the actual Vagrant bin with our arguments
exec ruby "${VAGRANT_LAUNCHER}" "$@"

View File

@@ -4,7 +4,7 @@
# Vagrant installation directory. This sets up proper environmental variables
# so that everything loads and compiles to proper directories.
VAGRANT_DIR="$( ruby -e 'print Gem::default_path[-1] + "/gems/vagrant-1.8.6"' )"
VAGRANT_DIR="$( ruby -e 'print Gem::default_path[-1] + "/gems/vagrant-1.9.2"' )"
# Export GEM_HOME based on VAGRANT_HOME
#
@@ -37,10 +37,9 @@ OS=$(uname -s 2>/dev/null)
export VAGRANT_DETECTED_OS="${OS}"
VAGRANT_EXECUTABLE="${VAGRANT_DIR}/bin/vagrant"
VAGRANT_LAUNCHER="${VAGRANT_DIR}/lib/vagrant/pre-rubygems.rb"
# Export the VAGRANT_EXECUTABLE so that pre-rubygems can optimize a bit
export VAGRANT_EXECUTABLE
# Call the actual Vagrant bin with our arguments
exec ruby "${VAGRANT_LAUNCHER}" "$@"
exec ruby "${VAGRANT_EXECUTABLE}" "$@"

View File

@@ -1,87 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
USE_RUBY="ruby20 ruby21 ruby22 ruby23"
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec"
RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt"
RUBY_FAKEGEM_TASK_DOC=""
inherit bash-completion-r1 ruby-fakegem eutils
DESCRIPTION="A tool for building and distributing development environments"
HOMEPAGE="http://vagrantup.com/"
SRC_URI="https://github.com/mitchellh/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+virtualbox"
RDEPEND="${RDEPEND}
app-arch/libarchive
net-misc/curl
virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )"
ruby_add_rdepend "
>=dev-ruby/bundler-1.12.5
>=dev-ruby/childprocess-0.5.0
>=dev-ruby/erubis-2.7.0
>=dev-ruby/i18n-0.6.0:* <dev-ruby/i18n-0.8.0:*
>=dev-ruby/listen-3.1.5
>=dev-ruby/hashicorp-checkpoint-0.1.1
>=dev-ruby/log4r-1.1.9 <dev-ruby/log4r-1.1.11
>=dev-ruby/net-ssh-3.0.1
>=dev-ruby/net-sftp-2.1
>=dev-ruby/net-scp-1.1.0
|| ( >=dev-ruby/rest-client-1.6.0:0 dev-ruby/rest-client:2 )
>=dev-ruby/nokogiri-1.6.7.1
>=dev-ruby/mime-types-2.6.2:* <dev-ruby/mime-types-3:*
"
ruby_add_bdepend "
dev-ruby/rake
"
all_ruby_prepare() {
# remove bundler support
sed -i '/[Bb]undler/d' Rakefile || die
rm Gemfile || die
# loosen dependencies
sed -e '/hashicorp-checkpoint\|listen\|net-ssh\|net-scp/s/~>/>=/' \
-e '/ruby_dep/s/<=/>=/' \
-e '/nokogiri\|bundler/s/=/>=/' \
-i ${PN}.gemspec || die
# remove windows-specific gems
sed -e '/wdm\|winrm/d' \
-i ${PN}.gemspec || die
# remove bsd-specific gems
sed -e '/rb-kqueue/d' \
-i ${PN}.gemspec || die
# see https://github.com/mitchellh/vagrant/pull/5877
epatch "${FILESDIR}"/${PN}-1.8.4-install-plugins-in-isolation.patch
# disable embedded CA certs and use system ones
epatch "${FILESDIR}"/${PN}-1.8.1-disable-embedded-cacert.patch
# fix rvm issue (bug #474476)
epatch "${FILESDIR}"/${PN}-1.8.1-rvm.patch
}
all_ruby_install() {
newbashcomp contrib/bash/completion.sh ${PN}
all_fakegem_install
# provide executable similar to upstream:
# https://github.com/mitchellh/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb
newbin "${FILESDIR}/${P}" "${PN}"
# directory for plugins.json
dodir /var/lib/vagrant
}

View File

@@ -32,7 +32,7 @@ ruby_add_rdepend "
>=dev-ruby/listen-3.1.5
>=dev-ruby/hashicorp-checkpoint-0.1.1
>=dev-ruby/log4r-1.1.9 <dev-ruby/log4r-1.1.11
>=dev-ruby/net-ssh-3.0.1
>=dev-ruby/net-ssh-3.0.1:*
>=dev-ruby/net-sftp-2.1
>=dev-ruby/net-scp-1.1.0
|| ( >=dev-ruby/rest-client-1.6.0:0 dev-ruby/rest-client:2 )

View File

@@ -1,8 +1,8 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
USE_RUBY="ruby20 ruby21 ruby22"
USE_RUBY="ruby21 ruby22 ruby23"
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec"
@@ -26,14 +26,13 @@ RDEPEND="${RDEPEND}
virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )"
ruby_add_rdepend "
>=dev-ruby/bundler-1.12.5
>=dev-ruby/childprocess-0.5.0
>=dev-ruby/erubis-2.7.0
>=dev-ruby/i18n-0.6.0:* <dev-ruby/i18n-0.8.0:*
>=dev-ruby/listen-3.1.5
>=dev-ruby/hashicorp-checkpoint-0.1.1
>=dev-ruby/log4r-1.1.9 <dev-ruby/log4r-1.1.11
>=dev-ruby/net-ssh-3.0.1
>=dev-ruby/net-ssh-3.0.1:*
>=dev-ruby/net-sftp-2.1
>=dev-ruby/net-scp-1.1.0
|| ( >=dev-ruby/rest-client-1.6.0:0 dev-ruby/rest-client:2 )
@@ -42,7 +41,7 @@ ruby_add_rdepend "
"
ruby_add_bdepend "
dev-ruby/rake
>=dev-ruby/rake-11.3.0
"
all_ruby_prepare() {
@@ -51,9 +50,9 @@ all_ruby_prepare() {
rm Gemfile || die
# loosen dependencies
sed -e '/hashicorp-checkpoint\|listen\|net-ssh\|net-scp/s/~>/>=/' \
sed -e '/hashicorp-checkpoint\|listen\|net-ssh\|net-scp\|rake\|childprocess/s/~>/>=/' \
-e '/ruby_dep/s/<=/>=/' \
-e '/nokogiri\|bundler/s/=/>=/' \
-e '/nokogiri/s/=/>=/' \
-i ${PN}.gemspec || die
# remove windows-specific gems
@@ -64,9 +63,6 @@ all_ruby_prepare() {
sed -e '/rb-kqueue/d' \
-i ${PN}.gemspec || die
# see https://github.com/mitchellh/vagrant/pull/5877
epatch "${FILESDIR}"/${PN}-1.8.4-install-plugins-in-isolation.patch
# disable embedded CA certs and use system ones
epatch "${FILESDIR}"/${PN}-1.8.1-disable-embedded-cacert.patch