Files | Admin

Notes:

Release Name: REL-0.8.3

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