Skip to content
This repository has been archived by the owner on Apr 2, 2021. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'upstream/1.8' into wp-1.8
Browse files Browse the repository at this point in the history
Conflicts:
	lib/rubygems.rb
  • Loading branch information
jfoy committed Aug 24, 2012
2 parents 1244030 + a1827da commit ad191b6
Show file tree
Hide file tree
Showing 46 changed files with 4,795 additions and 167 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Original file line Diff line number Diff line change
@@ -1,10 +1,11 @@
*.rbc *.rbc
*.swp *.swp
.DS_Store .DS_Store
scratch
/.rvmrc /.rvmrc
/TAGS /TAGS
/doc /doc
/pkg /pkg
/tmp /tmp
/misc /misc
/notes.txt /notes.txt
2 changes: 0 additions & 2 deletions .travis.yml
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ rvm:
- 1.8.7 - 1.8.7
- 1.9.2 - 1.9.2
- 1.9.3 - 1.9.3
- jruby
- rbx-2.0
- ruby-head - ruby-head
notifications: notifications:
email: email:
Expand Down
124 changes: 124 additions & 0 deletions History.txt
Original file line number Original file line Diff line number Diff line change
@@ -1,5 +1,129 @@
# coding: UTF-8 # coding: UTF-8


=== 1.8.24 / 2012-04-27

* 1 bug fix:

* Install the .pem files properly. Fixes #320
* Remove OpenSSL dependency from the http code path

=== 1.8.23 / 2012-04-19

This release increases the security used when RubyGems is talking to
an https server. If you use a custom RubyGems server over SSL, this
release will cause RubyGems to no longer connect unless your SSL cert
is globally valid.

You can configure SSL certificate usage in RubyGems through the
:ssl_ca_cert and :ssl_verify_mode options in ~/.gemrc and /etc/gemrc.
The recommended way is to set :ssl_ca_cert to the CA certificate for
your server or a certificate bundle containing your CA certification.

You may also set :ssl_verify_mode to 0 to completely disable SSL
certificate checks, but this is not recommended.


* 2 security fixes:
* Disallow redirects from https to http
* Turn on verification of server SSL certs

* 1 minor feature:
* Add --clear-sources to fetch

* 2 bug fixes:
* Use File.identical? to check if two files are the same.
* Fixed init_with warning when using psych

=== 1.8.22 / 2012-04-13

* 4 bug fixes:

* Workaround for psych/syck YAML date parsing issue
* Don't trust the encoding of ARGV. Fixes #307
* Quiet default warnings about missing spec variables
* Read a binary file properly (windows fix)

=== 1.8.21 / 2012-03-22

* 2 bug fixes:

* Add workaround for buggy yaml output from 1.9.2
* Force 1.9.1 to remove it's prelude code. Fixes #305

=== 1.8.20 / 2012-03-21

* 4 bug fixes:

* Add --force to `gem build` to skip validation. Fixes #297
* Gracefully deal with YAML::PrivateType objects in Marshal'd gemspecs
* Treat the source as a proper url base. Fixes #304
* Warn when updating the specs cache fails. Fixes #300

=== 1.8.19 / 2012-03-14

* 3 bug fixes:

* Handle loading psych vs syck properly. Fixes #298
* Make sure Date objects don't leak in via Marshal
* Perform Date => Time coercion on yaml loading. Fixes #266

=== 1.8.18 / 2012-03-11

* 4 bug fixes:

* Use Psych API to emit more compatible YAML
* Download and write inside `gem fetch` directly. Fixes #289
* Honor sysconfdir on 1.8. Fixes #291
* Search everywhere for a spec for `gem spec`. Fixes #288
* Fix Gem.all_load_path. Fixes #171

=== 1.8.17 / 2012-02-17

* 2 minor enhancements:

* Add MacRuby to the list of special cases for platforms (ferrous26)
* Add a default for where to install rubygems itself

* 3 bug fixes:

* Fixed gem loading issue caused by dependencies not resolving.
* Fixed umask error when stdlib is required and unresolved dependencies exist.
* Shebang munging would only take one arg after the cmd
* Define SUCKAGE better, ie only MRI 1.9.2
* Propagate env-shebang to the pristine command if set for install.

=== 1.8.16 / 2012-02-12

* 3 bug fixes:

* Fix gem specification loading when encoding is not UTF-8. #146
* Allow group writable if umask allows it already.
* Uniquify the spec list based on directory order priority

=== 1.8.15 / 2012-01-06

* 1 bug fix:

* Don't eager load yaml, it creates a bad loop. Fixes #256

=== 1.8.14 / 2012-01-05

* 2 bug fixes:

* Ignore old/bad cache data in Version
* Make sure our YAML workarounds are loaded properly. Fixes #250.

=== 1.8.13 / 2011-12-21

* 1 bug fix:

* Check loaded_specs properly when trying to satisfy a dep

* 2 minor enhancements:

* Remove using #loaded_path? for performance
* Remove Zlib workaround for Windows build.

=== 1.8.12 / 2011-12-02 === 1.8.12 / 2011-12-02


* Bug fix: * Bug fix:
Expand Down
7 changes: 7 additions & 0 deletions Manifest.txt
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ lib/rubygems/package/tar_writer.rb
lib/rubygems/package_task.rb lib/rubygems/package_task.rb
lib/rubygems/path_support.rb lib/rubygems/path_support.rb
lib/rubygems/platform.rb lib/rubygems/platform.rb
lib/rubygems/psych_additions.rb
lib/rubygems/psych_tree.rb
lib/rubygems/remote_fetcher.rb lib/rubygems/remote_fetcher.rb
lib/rubygems/require_paths_builder.rb lib/rubygems/require_paths_builder.rb
lib/rubygems/requirement.rb lib/rubygems/requirement.rb
Expand All @@ -94,6 +96,7 @@ lib/rubygems/server.rb
lib/rubygems/source_index.rb lib/rubygems/source_index.rb
lib/rubygems/spec_fetcher.rb lib/rubygems/spec_fetcher.rb
lib/rubygems/specification.rb lib/rubygems/specification.rb
lib/rubygems/ssl_certs/ca-bundle.pem
lib/rubygems/syck_hack.rb lib/rubygems/syck_hack.rb
lib/rubygems/test_case.rb lib/rubygems/test_case.rb
lib/rubygems/test_utilities.rb lib/rubygems/test_utilities.rb
Expand All @@ -106,8 +109,10 @@ lib/rubygems/version_option.rb
lib/ubygems.rb lib/ubygems.rb
setup.rb setup.rb
test/rubygems/bogussources.rb test/rubygems/bogussources.rb
test/rubygems/ca_cert.pem
test/rubygems/data/gem-private_key.pem test/rubygems/data/gem-private_key.pem
test/rubygems/data/gem-public_cert.pem test/rubygems/data/gem-public_cert.pem
test/rubygems/data/null-type.gemspec.rz
test/rubygems/fake_certlib/openssl.rb test/rubygems/fake_certlib/openssl.rb
test/rubygems/fix_openssl_warnings.rb test/rubygems/fix_openssl_warnings.rb
test/rubygems/foo/discover.rb test/rubygems/foo/discover.rb
Expand All @@ -121,6 +126,8 @@ test/rubygems/rubygems/commands/crash_command.rb
test/rubygems/rubygems_plugin.rb test/rubygems/rubygems_plugin.rb
test/rubygems/sff/discover.rb test/rubygems/sff/discover.rb
test/rubygems/simple_gem.rb test/rubygems/simple_gem.rb
test/rubygems/ssl_cert.pem
test/rubygems/ssl_key.pem
test/rubygems/test_config.rb test/rubygems/test_config.rb
test/rubygems/test_deprecate.rb test/rubygems/test_deprecate.rb
test/rubygems/test_gem.rb test/rubygems/test_gem.rb
Expand Down
23 changes: 18 additions & 5 deletions Rakefile
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Hoe::RUBY_FLAGS << " --disable-gems" if RUBY_VERSION > "1.9"


Hoe.plugin :minitest Hoe.plugin :minitest
Hoe.plugin :git Hoe.plugin :git
Hoe.plugin :isolate # Hoe.plugin :isolate


hoe = Hoe.spec 'rubygems-update' do hoe = Hoe.spec 'rubygems-update' do
self.rubyforge_name = 'rubygems' self.rubyforge_name = 'rubygems'
Expand Down Expand Up @@ -56,6 +56,8 @@ hoe = Hoe.spec 'rubygems-update' do
rdoc_options << "--title=RubyGems #{self.version} Documentation" rdoc_options << "--title=RubyGems #{self.version} Documentation"
end end


self.rsync_args += " --no-p -O"

# FIX: this exists because update --system installs the gem and # FIX: this exists because update --system installs the gem and
# doesn't uninstall it. It should uninstall or better, not install # doesn't uninstall it. It should uninstall or better, not install
# in the first place. # in the first place.
Expand All @@ -82,7 +84,7 @@ end


task :prerelease => [:clobber, :check_manifest, :test] task :prerelease => [:clobber, :check_manifest, :test]


task :postrelease => :publish_docs task :postrelease => [:publish_docs, :upload]


pkg_dir_path = "pkg/rubygems-update-#{hoe.version}" pkg_dir_path = "pkg/rubygems-update-#{hoe.version}"
task :package do task :package do
Expand All @@ -93,13 +95,23 @@ task :package do
end end
end end


desc "Upload release to rubyforge"
task :upload_to_rubyforge do task :upload_to_rubyforge do
v = hoe.version v = hoe.version
sh "rubyforge add_release rubygems rubygems #{v} pkg/rubygems-update-#{v}.gem" sh "rubyforge add_release rubygems rubygems #{v} pkg/rubygems-update-#{v}.gem"
sh "rubyforge add_file rubygems rubygems #{v} pkg/rubygems-#{v}.zip" sh "rubyforge add_file rubygems rubygems #{v} pkg/rubygems-#{v}.zip"
sh "rubyforge add_file rubygems rubygems #{v} pkg/rubygems-#{v}.tgz" sh "rubyforge add_file rubygems rubygems #{v} pkg/rubygems-#{v}.tgz"
end end


desc "Upload release to gemcutter S3"
task :upload_to_gemcutter do
v = hoe.version
sh "s3cmd put -P pkg/rubygems-update-#{v}.gem pkg/rubygems-#{v}.zip pkg/rubygems-#{v}.tgz s3://production.s3.rubygems.org/rubygems/"
end

desc "Upload release to rubyforge and gemcutter"
task :upload => [:upload_to_rubyforge, :upload_to_gemcutter]

# Misc Tasks --------------------------------------------------------- # Misc Tasks ---------------------------------------------------------


# These tasks expect to have the following directory structure: # These tasks expect to have the following directory structure:
Expand All @@ -126,7 +138,7 @@ def diff_with dir
sh "diff #{diff_options} lib/rubygems.rb #{dir}/lib/rubygems.rb; true" sh "diff #{diff_options} lib/rubygems.rb #{dir}/lib/rubygems.rb; true"
sh "diff #{diff_options} lib/rubygems #{dir}/lib/rubygems; true" sh "diff #{diff_options} lib/rubygems #{dir}/lib/rubygems; true"
sh "diff #{diff_options} lib/rbconfig #{dir}/lib/rbconfig; true" sh "diff #{diff_options} lib/rbconfig #{dir}/lib/rbconfig; true"
sh "diff #{diff_options} test #{dir}/test/rubygems; true" sh "diff #{diff_options} test/rubygems #{dir}/test/rubygems; true"
end end


rubinius_dir = ENV['RUBINIUS_PATH'] || '../git.rubini.us/code' rubinius_dir = ENV['RUBINIUS_PATH'] || '../git.rubini.us/code'
Expand Down Expand Up @@ -214,10 +226,11 @@ task "git:newchangelog" do
now = Time.new.strftime "%Y-%m-%d" now = Time.new.strftime "%Y-%m-%d"


changes = `#{cmd}`.split(/\|\|\|/).each_slice(3).map do |msg, author, email| changes = `#{cmd}`.split(/\|\|\|/).each_slice(3).map do |msg, author, email|
msg.split(/\n/).reject { |s| s.empty? } c = msg.split(/\n/).reject { |s| s.empty? }
c.empty? ? nil : c.first
end end


changes = changes.flatten changes = changes.flatten.compact


next if changes.empty? next if changes.empty?


Expand Down
9 changes: 9 additions & 0 deletions bin/gem
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -5,6 +5,15 @@
# See LICENSE.txt for permissions. # See LICENSE.txt for permissions.
#++ #++


# The prelude in 1.9.1 injects rubygems.rb into $LOADED_FEATURES
# which prevents the `require 'rubygems'` from actually loading
# the site's version of rubygems. So we have to use it's API
# to get it's prelude out of the way.
#
if RUBY_VERSION =~ /^1\.9\.1/ && defined?(Gem::QuickLoader)
Gem::QuickLoader.load_full_rubygems_library
end

require 'rubygems' require 'rubygems'
require 'rubygems/gem_runner' require 'rubygems/gem_runner'
require 'rubygems/exceptions' require 'rubygems/exceptions'
Expand Down
Loading

0 comments on commit ad191b6

Please sign in to comment.