Ruby rebuild + cmake => 3.29.2 (#9643)

* ruby update against 3.3 git

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* cmake => 3.29.2

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* trigger crew upgrade automatically when rerun_upgrade is set

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add at_exit hook for rerun_upgrade

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* debugging upgrade...

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* escape

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* debug

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* debug

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* debug

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fixup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* refactor CREW_ESSENTIAL_PACKAGES to allow for upgrades

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* more debug changes

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add save_json function

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* use rescue for device.json backup logic

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* use crewlog fxn for logging

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fixup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* adjust cmake build

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* udpate ruby package

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* update location of CREW_ESSENTIAL_PACKAGES

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Use rescue block in save_json

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Use distcc in CREW_NPROC calculation

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fixup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* rebuild cmake on arm

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add quoting to grep command in commands/remove

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* suggested changes

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* eliminate @device_json usage

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* adjust exit logic

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* remove redundant line

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
This commit is contained in:
Satadru Pramanik, DO, MPH, MEng
2024-04-13 20:55:04 -04:00
committed by GitHub
parent d4b46569af
commit 206d4acea0
11 changed files with 305 additions and 261 deletions

View File

@@ -14,7 +14,7 @@ class Command
end
# Don't remove any of the packages ruby (and thus crew) needs to run.
if %w[gcc_lib glibc gmp ruby zlibpkg zstd].include?(pkg.name)
if CREW_ESSENTIAL_PACKAGES.include?(pkg.name)
puts "Refusing to remove essential package #{pkg.name}.".lightred
return
end
@@ -33,7 +33,7 @@ class Command
# Remove all files installed by the package.
File.foreach(File.join(CREW_META_PATH, "#{pkg.name}.filelist"), chomp: true) do |line|
next unless line.start_with?(CREW_PREFIX)
if system("grep --exclude #{pkg.name}.filelist -Fxq #{line} ./meta/*.filelist")
if system("grep --exclude #{pkg.name}.filelist -Fxq '#{line}' ./meta/*.filelist")
puts "#{line} is in another package. It will not be removed during the removal of #{pkg.name}.".orange
else
puts "Removing file #{line}".yellow if verbose
@@ -58,7 +58,7 @@ class Command
device_json['installed_packages'].delete_if { |entry| entry['name'] == pkg.name }
# Update device.json with our changes.
File.write File.join(CREW_CONFIG_PATH, 'device.json'), JSON.pretty_generate(JSON.parse(device_json.to_json))
save_json(device_json)
# Perform any operations required after package removal.
pkg.remove