forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-emulation/vagrant: version bump to 1.8.1
Package-Manager: portage-2.2.26
- Loading branch information
1 parent
bee9ab8
commit ffce965
Showing
10 changed files
with
295 additions
and
100 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
DIST vagrant-1.4.3.tar.gz 2391973 SHA256 09ccc0d87999a3c133b9ef52a5cff58402745ee64af6080b2a5d304eb06c9c58 SHA512 93fd1cfa263004cadbf670fac4dc318db9719d2a86afe188857cbc97c1317e6ef2387be498ef9278ca95cdda6bd41400426e3bf52448eb59c31877c9fd0624e4 WHIRLPOOL e581e8488e0b1e75bcdd75f4572b89f9c23338e422d3acb57b1d5d513d9357ec0b061371d926ad0bb1087bf890e70422d4e3527dfd518329ba910f42f0733673 | ||
DIST vagrant-1.8.1.tar.gz 2873082 SHA256 12cfa43eb82399d3dd1c3fd24691797fa30187fc142474580c72e5c9f83b9dfd SHA512 efbb74e26b4678075b1cbcc1a8e0bdef929f8c7de186dec1931a5cd52f944a046992491681573283c6cab7e48bf25fce86b0da96df17063d2398b69401fa0f08 WHIRLPOOL 237cbec487f820f00c8bd5b57c44c2f2ffd3b716988f64265124c52e3fe1ef696f93a5e61004ee7c57531bfb1765c47d56c53b61880c761ddf5efc5b6545c261 |
12 changes: 0 additions & 12 deletions
12
app-emulation/vagrant/files/vagrant-1.2.1-no-warning.patch
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
#!/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.1"' )" | ||
|
||
# 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}" "$@" |
17 changes: 17 additions & 0 deletions
17
app-emulation/vagrant/files/vagrant-1.8.1-disable-embedded-cacert.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
diff --git a/lib/vagrant/util/downloader.rb b/lib/vagrant/util/downloader.rb | ||
index 8756fc3..7fb2be8 100644 | ||
--- a/lib/vagrant/util/downloader.rb | ||
+++ b/lib/vagrant/util/downloader.rb | ||
@@ -215,8 +215,9 @@ module Vagrant | ||
# If we're in Vagrant, then we use the packaged CA bundle | ||
if Vagrant.in_installer? | ||
subprocess_options[:env] ||= {} | ||
- subprocess_options[:env]["CURL_CA_BUNDLE"] = | ||
- File.expand_path("cacert.pem", ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"]) | ||
+ # Use system certificates. | ||
+ # subprocess_options[:env]["CURL_CA_BUNDLE"] = | ||
+ # File.expand_path("cacert.pem", ENV["VAGRANT_INSTALLER_EMBEDDED_DIR"]) | ||
end | ||
|
||
return [options, subprocess_options] | ||
|
122 changes: 122 additions & 0 deletions
122
app-emulation/vagrant/files/vagrant-1.8.1-install-plugins-in-isolation.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
diff --git a/bin/vagrant b/bin/vagrant | ||
index fce68c8..781fc63 100755 | ||
--- a/bin/vagrant | ||
+++ b/bin/vagrant | ||
@@ -69,6 +69,11 @@ end | ||
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." | ||
diff --git a/lib/vagrant/bundler.rb b/lib/vagrant/bundler.rb | ||
index ea8c056..0543963 100644 | ||
--- a/lib/vagrant/bundler.rb | ||
+++ b/lib/vagrant/bundler.rb | ||
@@ -63,6 +63,13 @@ module Vagrant | ||
@configfile = File.open(Tempfile.new("vagrant").path + "1", "w+") | ||
@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. | ||
@@ -141,7 +148,7 @@ module Vagrant | ||
|
||
# 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) | ||
@@ -172,11 +179,24 @@ module Vagrant | ||
# 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 = File.open(Tempfile.new("vagrant").path + "2", "w+") | ||
+ # 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| | ||
if !sources.include?("http://rubygems.org") | ||
gemfile.puts(%Q[source "https://rubygems.org"]) | ||
@@ -190,6 +210,19 @@ module Vagrant | ||
|
||
gemfile.puts(%Q[gemspec :path => "#{File.expand_path '../../..', __FILE__}"]) | ||
|
||
+ 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"] | ||
@@ -199,13 +232,19 @@ module Vagrant | ||
if plugin["require"] && plugin["require"] != "" | ||
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 | ||
end | ||
+ | ||
+ # 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 | ||
|
||
# This installs a set of plugins and optionally updates those gems. | ||
@@ -215,7 +254,7 @@ module Vagrant | ||
# 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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- vagrant-1.8.1/bin/vagrant | ||
+++ vagrant-1.8.1/bin/vagrant | ||
@@ -5,6 +5,8 @@ | ||
# initializing which have historically resulted in stack traces. | ||
Signal.trap("INT") { abort } | ||
|
||
+ENV.delete('GEM_PATH') | ||
+ | ||
# Split arguments by "--" if its there, we'll recombine them later | ||
argv = ARGV.dup | ||
argv_extra = [] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,18 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> | ||
<pkgmetadata> | ||
<maintainer> | ||
<email>[email protected]</email> | ||
</maintainer> | ||
<upstream> | ||
<remote-id type="github">mitchellh/vagrant</remote-id> | ||
</upstream> | ||
<herd>proxy-maintainers</herd> | ||
<maintainer> | ||
<email>[email protected]</email> | ||
<name>Tomas Mozes</name> | ||
<description>Proxy maintainer</description> | ||
</maintainer> | ||
<use> | ||
<flag name='virtualbox'> | ||
Use VirtualBox provider. | ||
</flag> | ||
</use> | ||
<upstream> | ||
<remote-id type="github">mitchellh/vagrant</remote-id> | ||
</upstream> | ||
</pkgmetadata> |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.