Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge v1.1.4 from branch '1-1-stable'

Conflicts:
	CHANGELOG.md
	bin/bundle
	lib/bundler/version.rb
	spec/install/gems/dependency_api_spec.rb
  • Loading branch information...
commit 07df32229a754f34828199a3b5c216175f82a095 2 parents 63a6a93 + e1d71e7
@indirect indirect authored
View
9 CHANGELOG.md
@@ -32,6 +32,15 @@ Documentation:
- Add basic documentation for bin_path and bundle_path (@radar)
- Add documentation for the run method in Bundler::Installer
+## 1.1.4 (May 27, 2012)
+
+Bugfixes:
+
+ - Use `latest_release` in Capistrano and Vlad integration (#1264)
+ - Unknown exceptions now link to ISSUES for help instead of a new ticket
+ - When OpenSSL is missing, provide instructions for fixing (#1776 etc.)
+ - Correct inline help for `clean --force` (@dougbarth, #1911)
+ - Work around a Ruby 1.9.3p194 bug in Psych when config files are empty
## 1.1.3 (March 23, 2012)
View
36 ISSUES.md
@@ -1,11 +1,21 @@
# Bundler Issues
-## Troubleshooting
+So! You're having problems with Bundler. This file is here to help. If you're running into an error, try reading the rest of this file for help. If you can't figure out how to solve your problem, there are also instructions on how to report a bug.
+
+## Documentation
-Instructions for common Bundler use-cases can be found on the [Bundler documentation site](http://gembundler.com/v1.0/).
+Instructions for common Bundler uses can be found on the [Bundler documentation site](http://gembundler.com/v1.1/).
Detailed information about each Bundler command, including help with common problems, can be found in the [Bundler man pages](http://gembundler.com/man/bundle.1.html).
+## Troubleshooting
+
+### Heroku errors
+
+Please open a ticket with Heroku if you're having trouble deploying. They have a professional support team who can help you resolve Heroku issues far better than the Bundler team can. If the problem that you are having turns out to be a bug in Bundler itself, Heroku support can get the exact details to us.
+
+### Something else
+
After reading the documentation, try these troubleshooting steps:
# remove user-specific gems and git repos
@@ -26,24 +36,9 @@ After reading the documentation, try these troubleshooting steps:
# try to install one more time
bundle install
-## Frequently encountered issues
-
-### Heroku errors
-
-Open a ticket with Heroku. If the issue somehow turns out to be with Bundler itself, the Heroku support team will forward the details of your issue to us.
-
-### REE and Zlib::GzipFile::Error
-
-Ruby Enterprise Edition users may see a `Zlib::GzipFile::Error` while installing gems. It is due to [a bug in REE](http://code.google.com/p/rubyenterpriseedition/issues/detail?id=45). You may be able to resolve the issue by upgrading REE, or changing to a different interpreter.
-
-### Rake activation error
-
-Anyone who has installed the Spork gem may see activation errors while running `rake` directly. This is because old versions of Spork would [install the newest rake using a mkmf file](https://github.com/timcharper/spork/issues/119). To resolve the issue, update the Spork version requirement in your Gemfile to at least `"~>0.8.5"` or `"~>0.9.0.rc8"`.
-
-
## Reporting unresolved problems
-Instructions that allow the Bundler team to reproduce your issue are vitally important. When you report a bug, please include the following information:
+The Bundler team needs to know some things in order to diagnose and hopefully fix the bug you've found. When you report a bug, please include the following information:
- The command you ran
- Exception backtrace(s), if any
@@ -57,11 +52,12 @@ Instructions that allow the Bundler team to reproduce your issue are vitally imp
- Whether you have the `rubygems-bundler` gem, which can break gem binares
- Whether you have the `open_gem` gem, which can cause rake activation conflicts
-
If you are using Rails 2.3, please also include:
- Your boot.rb file
- Your preinitializer.rb file
- Your environment.rb file
-[Create a gist](https://gist.github.com) containing all of that information, then visit the [Bundler issue tracker](https://github.com/carlhuda/bundler) and create a new ticket describing your problem and linking to your gist.
+[Create a gist](https://gist.github.com) containing all of that information, then visit the [Bundler issue tracker](https://github.com/carlhuda/bundler/issues) and [create a new ticket](https://github.com/carlhuda/bundler/issues/new) describing your problem and linking to your gist.
+
+Thanks for reporting issues and making Bundler better!
View
3  bin/bundle
@@ -8,6 +8,7 @@ $:.each do |path|
abort(err)
end
end
+
require 'bundler/cli'
require 'bundler/friendly_errors'
-Bundler.with_friendly_errors {Bundler::CLI.start }
+Bundler.with_friendly_errors { Bundler::CLI.start }
View
14 lib/bundler/fetcher.rb
@@ -1,5 +1,5 @@
require 'uri'
-require 'net/http/persistent'
+require 'bundler/vendored_persistent'
module Bundler
# Handles all the fetching with the rubygems server
@@ -104,6 +104,16 @@ def specs(gem_names, source)
end
index
+ rescue LoadError => e
+ if e.message.include?("cannot load such file -- openssl")
+ raise InstallError,
+ "\nCould not load OpenSSL." \
+ "\nYou must recompile Ruby with OpenSSL support or change the sources in your" \
+ "\nGemfile from 'https' to 'http'. Instructions for compiling with OpenSSL" \
+ "\nusing RVM are available at rvm.io/packages/openssl."
+ else
+ raise e
+ end
end
# fetch index
@@ -208,7 +218,7 @@ def fetch_all_remote_specs
Bundler.ui.debug "Could not fetch prerelease specs from #{strip_user_pass_from_uri(@remote_uri)}"
end
rescue Gem::RemoteFetcher::FetchError
- raise Bundler::HTTPError, "Could not reach #{strip_user_pass_from_uri(@remote_uri)}"
+ raise HTTPError, "Could not reach #{strip_user_pass_from_uri(@remote_uri)}"
end
return spec_list
View
8 lib/bundler/friendly_errors.rb
@@ -13,11 +13,9 @@ def self.with_friendly_errors
rescue SystemExit => e
exit e.status
rescue Exception => e
- Bundler.ui.error "Unfortunately, a fatal error has occurred. " +
- "Please report this error to the Bundler issue tracker at " +
- "https://github.com/carlhuda/bundler/issues so that we can fix it. " +
- "Please include the full output of the command, your Gemfile and Gemfile.lock. " +
- "Thanks!"
+ Bundler.ui.error(
+ "Unfortunately, a fatal error has occurred. Please see the Bundler \n" \
+ "troubleshooting documentation at http://bit.ly/bundler-issues. Thanks! \n")
raise e
end
end
View
1  lib/bundler/installer.rb
@@ -124,6 +124,7 @@ def install_gem_from_spec(spec, standalone = false)
msg = "An error occurred while installing #{spec.name} (#{spec.version}),"
msg << " and Bundler cannot continue.\nMake sure that `gem install"
msg << " #{spec.name} -v '#{spec.version}'` succeeds before bundling."
+ Bundler.ui.debug e.backtrace.join("\n")
raise Bundler::InstallError, msg
end
View
3  lib/bundler/vendored_persistent.rb
@@ -0,0 +1,3 @@
+vendor = File.expand_path('../vendor', __FILE__)
+$:.unshift(vendor) unless $:.include?(vendor)
+require 'net/http/persistent'
View
3  lib/bundler/vendored_thor.rb
@@ -2,6 +2,7 @@
Bundler.ui.warn "Thor has already been required. " +
"This may cause Bundler to malfunction in unexpected ways."
end
-$:.unshift File.expand_path('../vendor', __FILE__)
+vendor = File.expand_path('../vendor', __FILE__)
+$:.unshift(vendor) unless $:.include?(vendor)
require 'thor'
require 'thor/actions'
View
34 spec/install/gems/dependency_api_spec.rb
@@ -399,4 +399,38 @@
out.should_not include("#{user}:#{password}")
end
end
+
+ context "when ruby is compiled without openssl" do
+ before do
+ # Install a monkeypatch that reproduces the effects of openssl being
+ # missing when the fetcher runs, as happens in real life. The reason
+ # we can't just overwrite openssl.rb is that Artifice uses it.
+ bundled_app("broken_ssl").mkpath
+ bundled_app("broken_ssl/openssl.rb").open("w") do |f|
+ f.write <<-RUBY
+ $:.delete File.expand_path("..", __FILE__)
+ require 'openssl'
+
+ require 'bundler'
+ class Bundler::Fetcher
+ def fetch(*)
+ raise LoadError, "cannot load such file -- openssl"
+ end
+ end
+ RUBY
+ end
+ end
+
+ it "explains what to do to get it" do
+ gemfile <<-G
+ source "#{source_uri.gsub(/http/, 'https')}"
+ gem "rack"
+ G
+
+ bundle :install, :artifice => "endpoint",
+ :env => {"RUBYOPT" => "-I#{bundled_app("broken_ssl")}"}
+ out.should include("Could not load OpenSSL.")
+ end
+ end
+
end
Please sign in to comment.
Something went wrong with that request. Please try again.