Blob Blame History Raw
diff --git a/bin/vagrant b/bin/vagrant
index 21630e1..ac28e04 100755
--- a/bin/vagrant
+++ b/bin/vagrant
@@ -15,7 +15,9 @@ end
 
 # Fast path the version of Vagrant
 if argv.include?("-v") || argv.include?("--version")
-  require "vagrant/version"
+  # Fixes non-gemified Vagrant to display the version.
+  # https://github.com/mitchellh/vagrant/pull/4703
+  require_relative "../lib/vagrant/version"
   puts "Vagrant #{Vagrant::VERSION}"
   exit 0
 end
diff --git a/lib/vagrant/bundler.rb b/lib/vagrant/bundler.rb
index 05867da..ea8c056 100644
--- a/lib/vagrant/bundler.rb
+++ b/lib/vagrant/bundler.rb
@@ -188,7 +188,7 @@ module Vagrant
           gemfile.puts(%Q[source "#{source}"])
         end
 
-        gemfile.puts(%Q[gem "vagrant", "= #{VERSION}"])
+        gemfile.puts(%Q[gemspec :path => "#{File.expand_path '../../..', __FILE__}"])
 
         gemfile.puts("group :plugins do")
         plugins.each do |name, plugin|
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]
diff --git a/test/unit/base.rb b/test/unit/base.rb
index 3020c7b..c7b11b9 100644
--- a/test/unit/base.rb
+++ b/test/unit/base.rb
@@ -28,7 +28,6 @@ $stderr.sync = true
 
 # Configure RSpec
 RSpec.configure do |c|
-  c.expect_with :rspec, :stdlib
   c.treat_symbols_as_metadata_keys_with_true_values = true
 
   if Vagrant::Util::Platform.windows?
diff --git a/vagrant.gemspec b/vagrant.gemspec
index c4131b2..638aeb4 100644
--- a/vagrant.gemspec
+++ b/vagrant.gemspec
@@ -15,27 +15,38 @@ Gem::Specification.new do |s|
   s.required_rubygems_version = ">= 1.3.6"
   s.rubyforge_project         = "vagrant"
 
-  s.add_dependency "bundler", ">= 1.5.2", "< 1.7.0"
+  # https://github.com/mitchellh/vagrant/issues/4500
+  s.add_dependency "bundler", ">= 1.5.2", "!= 1.7.0"
   s.add_dependency "childprocess", "~> 0.5.0"
   s.add_dependency "erubis", "~> 2.7.0"
-  s.add_dependency "i18n", "~> 0.6.0"
+  s.add_dependency "i18n", ">= 0.6.0"
+  # https://github.com/mitchellh/vagrant/pull/4770
+  s.add_dependency "json"
   s.add_dependency "listen", "~> 2.7.1"
   s.add_dependency "hashicorp-checkpoint", "~> 0.1.1"
   s.add_dependency "log4r", "~> 1.1.9", "< 1.1.11"
   s.add_dependency "net-ssh", ">= 2.6.6", "< 2.10.0"
-  s.add_dependency "net-scp", "~> 1.1.0"
-  s.add_dependency "rb-kqueue", "~> 0.2.0"
-  s.add_dependency "wdm", "~> 0.1.0"
-  s.add_dependency "winrm", "~> 1.1.3"
+  s.add_dependency "net-scp", ">= 1.1.0"
+  #s.add_dependency "rb-kqueue", "~> 0.2.0"
+  #s.add_dependency "wdm", "~> 0.1.0"
+  #s.add_dependency "winrm", "~> 1.1.3"
 
-  # We lock this down to avoid compilation issues.
-  s.add_dependency "nokogiri", "= 1.6.3.1"
+  s.add_dependency "nokogiri"
 
-  s.add_development_dependency "rake"
-  s.add_development_dependency "contest", ">= 0.1.2"
-  s.add_development_dependency "minitest", "~> 2.5.1"
-  s.add_development_dependency "mocha"
-  s.add_development_dependency "rspec", "~> 2.14.0"
+  # This dependency is typically provided by listen, but was removed in Fedora.
+  s.add_dependency "rb-inotify"
+
+  # Minitest, contest and Mocha are not required.
+  # https://github.com/mitchellh/vagrant/pull/4777
+  #s.add_development_dependency "contest", ">= 0.1.2"
+  #s.add_development_dependency "minitest"
+  #s.add_development_dependency "mocha"
+
+  # Development dependencies have to be disabled for runtime, otherwise Bundler
+  # tries to consider them when resolving dependencies.
+  # https://github.com/bundler/bundler/issues/3231
+  # s.add_development_dependency "rake"
+  # s.add_development_dependency "rspec", "~> 2.14.0"
 
   # The following block of code determines the files that should be included
   # in the gem. It does this by reading all the files in the directory where
@@ -46,10 +57,10 @@ Gem::Specification.new do |s|
   all_files      = Dir.chdir(root_path) { Dir.glob("**/{*,.*}") }
   all_files.reject! { |file| [".", ".."].include?(File.basename(file)) }
   all_files.reject! { |file| file.start_with?("website/") }
-  gitignore_path = File.join(root_path, ".gitignore")
-  gitignore      = File.readlines(gitignore_path)
-  gitignore.map!    { |line| line.chomp.strip }
-  gitignore.reject! { |line| line.empty? || line =~ /^(#|!)/ }
+  #gitignore_path = File.join(root_path, ".gitignore")
+  #gitignore      = File.readlines(gitignore_path)
+  #gitignore.map!    { |line| line.chomp.strip }
+  #gitignore.reject! { |line| line.empty? || line =~ /^(#|!)/ }
 
   unignored_files = all_files.reject do |file|
     # Ignore any directories, the gemspec only cares about files
@@ -63,10 +74,10 @@ Gem::Specification.new do |s|
     #     like '.DS_Store' will match sub-directories too (same behavior
     #     as git).
     #
-    gitignore.any? do |ignore|
-      File.fnmatch(ignore, file, File::FNM_PATHNAME) ||
-        File.fnmatch(ignore, File.basename(file), File::FNM_PATHNAME)
-    end
+    #gitignore.any? do |ignore|
+    #  File.fnmatch(ignore, file, File::FNM_PATHNAME) ||
+    #    File.fnmatch(ignore, File.basename(file), File::FNM_PATHNAME)
+    #end
   end
 
   s.files         = unignored_files