Notes:
Point release to address several bugs.
Changes:
2004-12-07 Jim Weirich <jim@weirichhouse.org>
* Released 0.8.3
2004-12-06 Jim Weirich <jim@weirichhouse.org>
* test/test_specification.rb
(TestLegacyYamlSpecification::test_load): Fixed test to avoid the
__FILE__ stuff. Running tests from rakefile guarantees that the
file paths start from the right location.
* pkgs/sources/sources.gemspec: Made Gem.sources_spec idempotent.
* lib/rubygems/specification.rb (Gem::Specification::initialize):
Added @@gather to Gem::Specification to facilitate proper loads.
(Gem::Specification::Specification): Added Specification.load.
* lib/rubygems/source_index.rb (Gem::SourceIndex): Fixed comments
'long name' => 'full name'.
* lib/rubygems/gem_commands.rb (Gem::BuildCommand::load_gemspecs):
Changed to use Gem.Specification.load.
* Rakefile: Added sources-*.gem to clobber list.
(egrep): Upgraded the DBG finder to include breakpoint.
* post-install.rb (install_sources): Using block version of chdir.
* lib/rubygems/remote_installer.rb
(Gem::LocalSourceInfoCache::read_cache): Fixed initialization of
cache.
* lib/rubygems.rb: Updated version to 0.8.2.
2004-12-04 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/remote_installer.rb
(Gem::LocalSourceInfoCache::writable_file): Now just returns the
selected cache file (which was selected based on writability).
(Gem::LocalSourceInfoCache::try_file): Added try_file to determine
if a file is a candidate for a cache file.
(Gem::LocalSourceInfoCache::select_cache_file): Added failure if
there are not valid cache file candidates.
* lib/rubygems.rb (Gem::Exception): Renamed @@cache to
@@source_index.
(Gem::Exception::source_index): Renamed Gem.cache to
Gem.source_index (but left cache as an alias).
2004-12-03 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/remote_installer.rb (Gem::LocalSourceInfoCache):
Added a local cache manager object to implement the read/write
policies on the system and user cache files.
(Gem::LocalSourceInfoCache::update): Added update and flush to the
caching fetcher so that it knows when it needs to update the local
cache files.
(Gem::RemoteInstaller::initialize): Switched to using a cached
fetcher in the remote installer. All the caching logic was
removed from the installer. User writable cache files are now
supported.
(Gem::RemoteInstaller::write_gem_to_file): write_gem_to_file now
will create the path if needed.
2004-12-02 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/package.rb (TarInput::zipped_stream): To workaround
a problem with earlier than 1.2.1, we read the zipped data into a
string, and then return an IO object on that string.
(TarInput::each): Refactored getting a stream to the zipped data
into <tt>zipped_stream</tt>.
2004-12-01 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/remote_installer.rb
(Gem::RemoteSourceFetcher::convert_spec): We now proprocess the
yaml string data to reduce it in size. This was done to
workaround a problem with large YAML files (although it is just a
temporary fix because our yaml data keeps growing and growing).
* Rakefile: Added more targets to the clobber target.
* test/test_remote_fetcher.rb
(TestRemoteFetcher::test_explicit_proxy): Added tests for proxy
support.
* lib/rubygems/remote_installer.rb
(Gem::RemoteSourceFetcher::connect_to): Refactored to add proxy
support.
2004-11-28 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/loadpath_manager.rb: Added Mauricio's patch to work
around string contains null byte issue.
2004-11-27 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/remote_installer.rb
(Gem::RemoteSourceFetcher::get_size): Switched from open-uri with
early abort to an HTTP.head call to get the size of the yaml file
on the server.
2004-11-26 Jim Weirich <jim@weirichhouse.org>
* test/test_specification.rb
(TestDefaultSpecification::test_defaults): Added test for some
basic defaults in a gem spec.
* test/test_remote_installer.rb (MockFetcher::source_info): Made
the fake test data more realistic.
(TestRemoteInstaller::test_source_info): Improved tests.
2004-11-26 Jim Weirich <jim@tardis>
* test/test_remote_installer.rb (MockFetcher): Added MockFetcher
to make testing the remote installer easier. Currently there are
two remote installer test classes. Eventually TestRemoteInstaller
will succeed RemoteInstallerTest, which is very incomplete.
* test/test_package.rb (TC_TarReader::TC_TarInput): Made the unit
test ignore the setgid bit. The setgid bit doesn't work on my
laptop for some reason. This may be a problem with my laptop
rather than with this code. Should investigate further.
* lib/rubygems/remote_installer.rb (Gem::RemoteSourceFetcher):
Added a Fetcher object to the remote installer to handle all the
details of getting the remote information. This allows testing
the logic of the remote installer without actually doing remote
calls.
(Gem::RemoteInstaller::sources): Renamed get_caches to
source_info. The problem is that cache is too generic and there
are actually several things that we will cache in the system.
* lib/rubygems/cache.rb (Gem::Cache::self): Changed interface to
from_installed_gems slightly.
(Gem::Cache::self): Reordered rescue clauses so that the syntax
exception might actually be handled.
* lib/rubygems.rb (Gem::Exception::ensure_gem_subdirectories):
Dumped the check_gem_subdirectories method to use the almost
identical ensure_gem_subdirectories method.
(Gem::Exception::ensure_gem_subdirectories): Only attempt to
create the gem subdirectories if we can actually write them.
* bin/gem_server: Added date of last file modification to header
of /yaml. This is in preparation for using a head command with
date/time stamping in fetching the source cache.
2004-11-25 Ryan Davis <ryand@zenspider.com>
* lib/rubygems.rb: Added GEM_SKIP functionality, which will tell
loadpath_manager not to load specific libs from gems. For
testing/ development purposes. Created by Ryan Davis.
2004-11-24 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/specification.rb: Allow multiple authors per gem.
* lib/rubygems/gem_commands.rb: command line error message if you
run 'gem install' with no args.
* lib/rubygems/loadpath_manager.rb: Fixed @specs bug as reported by
Lothar Schulz on ruby-talk.
2004-11-07 Chad Fowler <chad@chadfowler.com>
* lib/rubygems.rb,lib/rubygems/installer.rb,lib/rubygems/cache.rb
lib/rubygems/remote_installer.rb,lib/rubygems/gem_commands.rb:
Fixes to make non-root installation work properly. Still need to
fix uninstallation.
* lib/rubygems/gem_commands.rb: Allow multiple gems/gem names on the
command line for install.
2004-10-31 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/version.rb,test/test_version_comparison.rb: Patrick May's
* post-install.rb: Patrick May's fix for rubygems lib not being found
during install.
2004-10-29 Chad Fowler <chad@chadfowler.com>
* packages/,pkgs,install.rb: renamed "packages" to "pkgs" to avoid
* remote_installer.rb: Added user-agent reporting for remote
operations
* setup.rb,install.rb,bin/update_rubygems: removed install.rb and
added setup.rb and post-install.rb. Changed update_rubygems so that
params passed to it can be passed on to setup.rb
2004-10-25 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/installer.rb
(Gem::Uninstaller::remove_executables): Corrected spelling of
"addtion".
2004-10-24 Jim Weirich <jim@weirichhouse.org>
* lib/rubygems/version.rb (Gem::Version::Requirement::self): Now
properly handles arrays of version constraints.
* lib/rubygems/loadpath_manager.rb
(Gem::LoadPathManager::Gem::Specification): Added comments
describing the fast Spec class purpose. Added to_s to
Gem::Specification (both fast and slow versions).
(Gem::LoadPathManager.paths): Returns (cached) list of gem paths.
(Gem::LoadPathManager::self): Refactored to use glob_over in
search_loadpaths and search_gempaths.
* lib/rubygems/installer.rb: Added some requires.
* lib/rubygems/cache.rb (Gem::Cache::refresh): Fixed refresh! to
call load_specification on the Cache class, not on itself.
* lib/rubygems.rb (Gem::Exception::activate): added comments to
activate. Also made sure that partial name matches in the gem
cache search were avoided.
(Gem::Exception::clear_paths): Added code to clear the gem cache
when reseting the gem paths.
(Gem::Exception::require): Added a function to take a gem name and
a library file name (in that gem) and return a path to the library
in the gem. David HH was interested in this in order to speed up
some require statements under ModRuby. Eventually I hope we won't
need these special tricks.
(Gem::Exception::latest_partials): Fixed bug that assumed exactly
three digits in a version number.
* Rakefile (egrep): Added two tasks to find all the FIXME/TODO
markers in the source code comments and to find the DBG print
lines.
2004-10-23 Jim Weirich <jim@weirichhouse.org>
* test/test_specification.rb
(TestSimpleSpecification::test_add_bindir_to_list_of_files):
Verify that an executable doesn't need the bindir if bindir is
set.
(TestSimpleSpecification::test_no_bindir_in_list_of_files): Added
test the verify that exectuable can be written without a default
binder.
* lib/rubygems/installer.rb
(Gem::Installer::generate_bin_scripts): Added check so that the
bindir is access only when there are actually executables to
install. Checking for an installable bindir was giving permission
errors when installing test gems.
2004-10-21 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/installer.rb: Show extension build errors during install
in addition to logging them to gem_make.out
2004-10-02 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/validator.rb,lib/rubygems/gem_commands.rb: Added
--test option for "gem check" that runs unit tests on already-
installed gems.
2004-09-30 Rich Kilmer <rich@infoether.com>
* lib/rubygems/specification.rb - externalized the loaded_from runtime
var on specification
* lib/rubygems/cache.rb - optimized cache refresh! method and refactored
processing of files when building cache.
* lib/rubygems/loadpath_manager.rb - fixed bug in loadpath manager in
finding native extensions that have ext on os x, win32 and solaris
2004-09-20 Chad Fowler <chad@chadfowler.com>
* lib/rubygems/gem_commands.rb: If file match during local install is
a directory, don't try to treat it erroneously as a gem (bug reported
by Rich).
* lib/rubygems.rb: Fixed small bug in #latest_load_paths
|