[Rubygems-developers] Problem trying to uninstall an old gem

Luis Lavena luislavena at gmail.com
Sun Apr 27 22:10:52 EDT 2008


On Sun, Apr 27, 2008 at 2:37 AM, Eric Hodel <drbrain at segment7.net> wrote:
> On Apr 25, 2008, at 16:58 PM, Luis Lavena wrote:
>
> >
> > In this case, match_path will never match the full_gem_path.
> >
>
>  It should probably check original_name in addition to full_name.
>

Something like this will work? (dunno if matches the standard.

=== modified file 'lib/rubygems/uninstaller.rb'
--- lib/rubygems/uninstaller.rb 2008-02-24 03:08:49 +0000
+++ lib/rubygems/uninstaller.rb 2008-04-28 02:04:36 +0000
@@ -176,9 +176,11 @@
   end

   def path_ok?(spec)
-    match_path = File.join @gem_home, 'gems', spec.full_name
-
-    match_path == spec.full_gem_path
+    match_path_full = File.join @gem_home, 'gems', spec.full_name
+    match_path_original = File.join @gem_home, 'gems', spec.original_name
+
+    match_path_full == spec.full_gem_path ||
+      match_path_original == spec.full_gem_path
   end

   def dependencies_ok?(spec)


Too verbose for my taste...

>
>
> >
> > > If you have a reproducible case against 1.1.1, you should open a bug
> > > with details.
> > >
> > >
> >
> > Need to create a test case to reproduce this... couldn't locate a test
> > where I can hook up and duplicate our situation... never got used to
> > test/unit :-P
> >
>
>  I haven't played much in the uninstaller, so I think there aren't many
> tests there :(
>


Don't worry. the above patch work:

i386-mswin32: 594 tests, 1774 assertions, 0 failures, 0 errors
i386-mingw32: 588 tests, 1745 assertions, 0 failures, 0 errors

Also installing and uninstalling the offending gems from Chad copy of
his ruby installation :-)

Regards,
-- 
Luis Lavena
Multimedia systems
-
Human beings, who are almost unique in having the ability to learn from
the experience of others, are also remarkable for their apparent
disinclination to do so.
Douglas Adams


More information about the Rubygems-developers mailing list