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