-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix gem pristine
sometimes failing to pristine user installed gems
#7664
Fix gem pristine
sometimes failing to pristine user installed gems
#7664
Conversation
ad58e96
to
0eb6ed8
Compare
@deivid-rodriguez ruby/ruby MinGW and Visual Studio jobs started to fail after this is synchronized to ruby/ruby. I suspect there's a Windows-related issue. Could you take a look? https://github.com/ruby/ruby/actions/runs/9289018414/job/25561871390 |
Sorry about that @k0kubun, and thanks for the quick ping. I think I know the reason, feel free to skip those or revert the commit and I'll let you know when I think it's fixed! |
The same issue in ruby-loco.
Ok, I'll wait for you. BTW, when I saw this, I looked at some of the code. There are many places in the code where |
I think basically the list of specifications can now have duplicate specifications with same name, versions and platform (but different install location), but sorting has not been adapted to make sure it's still stable after this. |
Not sure if you've had time to look at this. Windows CI isn't running. See:
|
I tried the above, see https://github.com/MSP-Greg/rubygems/actions/runs/9294061049. Note that Windows Ruby 3.0 had a problem with the "Install Dependencies / ruby bin/rake setup" step, all other Windows jobs were fine... The tests ran, but they failed. EDIT: Wondering why this doesn't fail. I checked 'Windows Terminal', and running |
@deivid-rodriguez I reverted this at ruby/ruby@ba8e6e7. |
Thanks @hsbt, I will look into this today. |
Do the jobs that fail run on a regular PR to ruby/ruby, or only after merge? |
It's happened with after merging. And I easily reproduce that like the followings:
Please let me know If you want to try your fix with my environment. |
Cool, I'll let you know once ready so you can try locally. It'd be good to add this environment to our CI if possible too. |
@hsbt We've now fixed this so RubyGems can be resynced in ruby/ruby again. |
Great! I will merge them in the next week. |
What was the end-user or developer problem that led to this PR?
If the same version of a gem is installed in the default gem home, and in the user home,
gem pristine
will fail to pristine the user installed one.What is your fix for the problem, implemented in this PR?
Make sure all copies are properly pristined by not removing duplicates from the stubs list.
Make sure the following tasks are checked