Commit b9642ad0 authored by lyxell's avatar lyxell

Only require package name for removal

parent 82af70b5
......@@ -111,7 +111,7 @@ def upgrade
if currentVersion != @pkg.version
search @pkg.name
puts "Updating #{@pkg.name}..."
remove
remove @pkg.name
resolveDependenciesAndInstall
else
puts "#{@pkg.name} is already up to date."
......@@ -129,7 +129,7 @@ def upgrade
puts "Updating packages..."
toBeUpdated.each do |package|
search package
remove
remove @pkg.name
resolveDependenciesAndInstall
end
puts "Packages have been updated."
......@@ -326,42 +326,41 @@ def install
puts "#{@pkg.name.capitalize} installed!"
end
def remove
unless @device[:installed_packages].any? { |pkg| pkg[:name] == @pkg.name }
puts "Package #{@pkg.name} isn't installed."
def remove (pkgName)
unless @device[:installed_packages].any? { |pkg| pkg[:name] == pkgName }
puts "Package #{pkgName} isn't installed."
return
end
unless @pkg.is_fake?
Dir.chdir CREW_CONFIG_PATH do
File.open("meta/#{@pkg.name}.filelist").each_line do |line|
begin
File.unlink line.chomp
rescue => exception #swallow exception
end
end
File.readlines("meta/#{@pkg.name}.directorylist").reverse.each do |line|
begin
Dir.rmdir line.chomp
rescue => exception #swallow exception
end
Dir.chdir CREW_CONFIG_PATH do
File.open("meta/#{pkgName}.filelist").each_line do |line|
begin
File.unlink line.chomp
rescue => exception #swallow exception
end
end
File.unlink "meta/#{@pkg.name}.filelist"
File.unlink "meta/#{@pkg.name}.directorylist"
File.readlines("meta/#{pkgName}.directorylist").reverse.each do |line|
begin
Dir.rmdir line.chomp
rescue => exception #swallow exception
end
end
File.unlink "meta/#{pkgName}.filelist"
File.unlink "meta/#{pkgName}.directorylist"
end
#remove from installed packages
@device[:installed_packages].each do |elem|
@device[:installed_packages].delete elem if elem[:name] == @pkg.name
@device[:installed_packages].delete elem if elem[:name] == pkgName
end
File.open(CREW_CONFIG_PATH + 'device.json', 'w') do |file|
out = JSON.parse @device.to_json
file.write JSON.pretty_generate(out)
end
puts "#{@pkg.name.capitalize} removed!"
puts "#{pkgName.capitalize} removed!"
end
case @command
......@@ -383,8 +382,7 @@ when "install"
resolveDependenciesAndInstall
when "remove"
abort 'Removing actions must be ran with sudo.' unless USER == 'root'
search @pkgName
remove
remove @pkgName
when nil
puts "Chromebrew, version 0.2.1"
puts "Usage: crew [command] [package]"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment