mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-09 15:37:56 -05:00
Only access filelist and directorylist in remove function if they exist. (#9911)
Signed-off-by: Satadru Pramanik <satadru@gmail.com>
This commit is contained in:
committed by
GitHub
parent
54e220241e
commit
030eed2f1d
@@ -26,26 +26,30 @@ class Command
|
||||
unless pkg.is_fake?
|
||||
Dir.chdir CREW_CONFIG_PATH do
|
||||
# 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")
|
||||
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
|
||||
FileUtils.remove_file line, exception: false
|
||||
flist = File.join(CREW_META_PATH, "#{pkg.name}.filelist")
|
||||
if File.file?(flist)
|
||||
File.foreach(flist, chomp: true) do |line|
|
||||
next unless line.start_with?(CREW_PREFIX)
|
||||
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
|
||||
FileUtils.remove_file line, exception: false
|
||||
end
|
||||
end
|
||||
FileUtils.remove_file flist
|
||||
end
|
||||
|
||||
# Remove all directories installed by the package.
|
||||
File.foreach(File.join(CREW_META_PATH, "#{pkg.name}.directorylist"), chomp: true) do |line|
|
||||
next unless Dir.exist?(line) && Dir.empty?(line) && line.include?(CREW_PREFIX)
|
||||
puts "Removing directory #{line}".yellow if verbose
|
||||
FileUtils.remove_dir line, exception: false
|
||||
dlist = File.join(CREW_META_PATH, "#{pkg.name}.directorylist")
|
||||
if File.file?(dlist)
|
||||
File.foreach(dlist, chomp: true) do |line|
|
||||
next unless Dir.exist?(line) && Dir.empty?(line) && line.include?(CREW_PREFIX)
|
||||
puts "Removing directory #{line}".yellow if verbose
|
||||
FileUtils.remove_dir line, exception: false
|
||||
end
|
||||
FileUtils.remove_file dlist
|
||||
end
|
||||
|
||||
# Remove the file and directory lists.
|
||||
FileUtils.remove_file File.join(CREW_META_PATH, "#{pkg.name}.filelist")
|
||||
FileUtils.remove_file File.join(CREW_META_PATH, "#{pkg.name}.directorylist")
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Defines common constants used in different parts of crew
|
||||
require 'etc'
|
||||
|
||||
CREW_VERSION = '1.48.5'
|
||||
CREW_VERSION = '1.48.6'
|
||||
|
||||
# kernel architecture
|
||||
KERN_ARCH = Etc.uname[:machine]
|
||||
|
||||
Reference in New Issue
Block a user