mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-08 23:18:10 -05:00
Show installed gem version during gem update, add CREW_RUBY_VER to gem json entry in install.sh . (#10605)
Signed-off-by: Satadru Pramanik <satadru@gmail.com>
This commit is contained in:
committed by
GitHub
parent
c06b30fa1c
commit
83535dd853
11
install.sh
11
install.sh
@@ -274,13 +274,12 @@ function update_device_json () {
|
||||
}
|
||||
|
||||
function install_ruby_gem () {
|
||||
rubymajorversion=$(ruby -e "puts RUBY_VERSION.slice(/(?:.*(?=\.))/)")
|
||||
for gem in "$@"; do
|
||||
ruby_gem="${gem}"
|
||||
echo_intra "Installing ${ruby_gem^} gem..."
|
||||
gem install -N "${ruby_gem}" --conservative
|
||||
gem_version="$(ruby -e "gem('${ruby_gem}')" -e "puts Gem.loaded_specs['${ruby_gem}'].version.to_s")"
|
||||
json_gem_version="${gem_version}-ruby${rubymajorversion}"
|
||||
json_gem_version="${gem_version}-${CREW_RUBY_VER}"
|
||||
crew_gem_package="ruby_${ruby_gem//-/_}"
|
||||
update_device_json "${crew_gem_package}" "${json_gem_version}" ""
|
||||
gem_filelist_path="${CREW_META_PATH}/${crew_gem_package}.filelist"
|
||||
@@ -334,10 +333,10 @@ echo "export CREW_PREFIX=${CREW_PREFIX}" >> "${CREW_PREFIX}/etc/env.d/profile"
|
||||
echo_info 'Updating RubyGems...'
|
||||
gem sources -u
|
||||
gem update --no-update-sources -N --system
|
||||
gem cleanup
|
||||
|
||||
# Mark packages as installed for pre-installed gems.
|
||||
mapfile -t installed_gems < <(gem list | awk -F ' \(' '{print $1, $2}' | sed -e 's/default://' -e 's/)//' -e 's/,//' | awk '{print $1, $2}')
|
||||
CREW_RUBY_VER="ruby$(ruby -e 'puts RUBY_VERSION.slice(/(?:.*(?=\.))/)')"
|
||||
for i in "${!installed_gems[@]}"
|
||||
do
|
||||
j="${installed_gems[$i]}"
|
||||
@@ -345,7 +344,7 @@ for i in "${!installed_gems[@]}"
|
||||
crew_gem_package="ruby_${gem_package//-/_}"
|
||||
gem_version="${j#* }"
|
||||
gem contents "${gem_package}" > "${CREW_META_PATH}/${crew_gem_package}.filelist"
|
||||
update_device_json "ruby_${gem_package//-/_}" "${gem_version}" ""
|
||||
update_device_json "ruby_${gem_package//-/_}" "${gem_version}-${CREW_RUBY_VER}" ""
|
||||
done
|
||||
|
||||
echo_info "Installing essential ruby gems...\n"
|
||||
@@ -404,7 +403,9 @@ else
|
||||
# Set mtimes of files to when the file was committed.
|
||||
git-restore-mtime -sq 2>/dev/null
|
||||
|
||||
OWNER=${OWNER} REPO=${REPO} crew update
|
||||
OWNER=${OWNER} REPO=${REPO} crew update && yes | crew upgrade
|
||||
echo_info "Cleaning up older ruby gem versions...\n"
|
||||
gem cleanup
|
||||
fi
|
||||
echo -e "${RESET}"
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ def set_vars(passed_name = nil, passed_version = nil)
|
||||
gem_test_name = gem_test.split.first
|
||||
gem_test_versions = gem_test.split[1].split(',')
|
||||
gem_test_versions.delete_if { |i| i.include?('beta') }
|
||||
gem_test_versions.delete_if { |i| i.include?('pre') }
|
||||
gem_test_version = gem_test_versions.max
|
||||
@gem_name = gem_test_name.blank? ? Gem::SpecFetcher.fetcher.suggest_gems_from_name(passed_name.gsub(/^ruby_/, '')).first : gem_test_name
|
||||
@remote_gem_ver = gem_test_name.blank? ? Gem.latest_version_for(@gem_name).to_s : gem_test_version
|
||||
@@ -133,7 +134,9 @@ class RUBY < Package
|
||||
Kernel.system "gem install --no-update-sources -N --local #{CREW_DEST_DIR}/#{@gem_name}-#{@gem_ver}-#{GEM_ARCH}.gem --conservative"
|
||||
end
|
||||
elsif gem_anyversion_installed
|
||||
puts "Updating #{@gem_name} gem to #{@gem_ver}...".orange
|
||||
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 to #{@gem_ver} from #{@gem_installed_version}...".orange
|
||||
Kernel.system "gem update --no-update-sources -N #{@gem_name} --conservative"
|
||||
else
|
||||
puts "Installing #{@gem_name} gem #{@gem_ver}...".orange
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
require 'etc'
|
||||
|
||||
OLD_CREW_VERSION ||= defined?(CREW_VERSION) ? CREW_VERSION : '1.0'
|
||||
CREW_VERSION ||= '1.54.6' unless defined?(CREW_VERSION) && CREW_VERSION == OLD_CREW_VERSION
|
||||
CREW_VERSION ||= '1.54.7' unless defined?(CREW_VERSION) && CREW_VERSION == OLD_CREW_VERSION
|
||||
|
||||
# Kernel architecture.
|
||||
KERN_ARCH ||= Etc.uname[:machine]
|
||||
|
||||
@@ -47,6 +47,7 @@ relevant_gem_packages.each_with_index do |package, index|
|
||||
puts "#{untested_package_name} versions for #{gem_test_name} are #{gem_test.split[1].split(',')}" if CREW_VERBOSE
|
||||
gem_test_versions = gem_test.split[1].split(',')
|
||||
gem_test_versions.delete_if { |i| i.include?('beta') }
|
||||
gem_test_versions.delete_if { |i| i.include?('pre') }
|
||||
gem_test_version = gem_test_versions.max
|
||||
puts "#{untested_package_name} is #{gem_test_name} version #{gem_test_version}".lightpurple if CREW_VERBOSE
|
||||
gem_name = gem_test_name.blank? ? Gem::SpecFetcher.fetcher.suggest_gems_from_name(untested_package_name).first : gem_test_name
|
||||
|
||||
Reference in New Issue
Block a user