Fix gem pristine etc
resetting gem twice sometimes
#8117
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What was the end-user or developer problem that led to this PR?
If a default version and a regular version of etc are present at the same time, RubyGems will end up duplicating work and running pristine twice.
The
etc
gem is special because it's loaded by RubyGems by default. When doing this, RubyGems will activate the regularly installed version. The whengem pristine
runs, it will find two installed specifications but materialize both to the already activated specification.What is your fix for the problem, implemented in this PR?
Make sure we only reuse an already loaded spec instead of loading the installed specification when the
default_gem
attribute matches it.Before:
After:
Make sure the following tasks are checked