mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-08 23:18:10 -05:00
Do not downgrade gems during update. (#10629)
Signed-off-by: Satadru Pramanik <satadru@gmail.com>
This commit is contained in:
committed by
GitHub
parent
f91ed2a753
commit
d4ce7567c2
@@ -99,7 +99,8 @@ class RUBY < Package
|
||||
# Handle case of the Chromebrew gem pkg not yet having been
|
||||
# installed or having a changed version number despite the gem
|
||||
# having been installed.
|
||||
@install_gem = false if @gem_ver.to_s == pkg_info[:version].gsub!('_', '-').to_s
|
||||
json_gem_pkg_ver = pkg_info[:version].gsub!('_', '-').to_s
|
||||
@install_gem = false if Gem::Version.new(@gem_ver) <= Gem::Version.new(json_gem_pkg_ver)
|
||||
end
|
||||
|
||||
def self.preinstall
|
||||
@@ -137,8 +138,12 @@ class RUBY < Package
|
||||
elsif gem_anyversion_installed && !@gem_latest_version_installed
|
||||
installed_gem_info = [`gem list -l -e #{@gem_name}`.chomp.to_s].grep(/#{@gem_name}/)[0].delete('()').gsub('default:', '').split
|
||||
@gem_installed_version = installed_gem_info[1]
|
||||
puts "Updating #{@gem_name} gem: #{@gem_installed_version} 🔜 #{@gem_ver} ...".orange
|
||||
Kernel.system "gem update --no-update-sources -N #{@gem_name} --conservative"
|
||||
if Gem::Version.new(@gem_ver) < Gem::Version.new(@gem_installed_version)
|
||||
puts "Will not downgrade #{@gem_name} gem from #{@gem_installed_version} to #{@gem_ver} ...".orange
|
||||
else
|
||||
puts "Updating #{@gem_name} gem: #{@gem_installed_version} 🔜 #{@gem_ver} ...".orange
|
||||
Kernel.system "gem update --no-update-sources -N #{@gem_name} --conservative"
|
||||
end
|
||||
elsif !@gem_latest_version_installed
|
||||
puts "Installing #{@gem_name} gem #{@gem_ver}...".orange
|
||||
Kernel.system "gem install --no-update-sources -N #{@gem_name} --conservative"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
require 'etc'
|
||||
|
||||
OLD_CREW_VERSION ||= defined?(CREW_VERSION) ? CREW_VERSION : '1.0'
|
||||
CREW_VERSION ||= '1.55.0' unless defined?(CREW_VERSION) && CREW_VERSION == OLD_CREW_VERSION
|
||||
CREW_VERSION ||= '1.55.1' unless defined?(CREW_VERSION) && CREW_VERSION == OLD_CREW_VERSION
|
||||
|
||||
# Kernel architecture.
|
||||
KERN_ARCH ||= Etc.uname[:machine]
|
||||
|
||||
Reference in New Issue
Block a user