Commit b117f995 authored by Ed Reel's avatar Ed Reel

Add crew whatprovides command

parent 9c92fd8d
......@@ -28,7 +28,6 @@ case ARCH
SHORTARCH="32"
end
$LOAD_PATH.unshift "#{CREW_LIB_PATH}lib"
USER = `whoami`.chomp
......@@ -52,8 +51,8 @@ end
def list_packages
Find.find (CREW_LIB_PATH + 'packages') do |filename|
Find.find(CREW_CONFIG_PATH + 'meta/') do |packageList|
packageName = File.basename filename, '.rb'
print '(i) ' if packageList == CREW_CONFIG_PATH + 'meta/' + packageName + '.filelist'
packageName = File.basename filename, '.rb'
print '(i) ' if packageList == CREW_CONFIG_PATH + 'meta/' + packageName + '.filelist'
end
puts File.basename filename, '.rb' if File.extname(filename) == '.rb'
end
......@@ -66,6 +65,29 @@ def search (pkgName, silent = false)
abort "package #{pkgName} not found :("
end
def whatprovides (pkgName, silent = false)
found = nil
packageName = ''
fileName = pkgName + "\n"
Find.find (CREW_LIB_PATH + 'packages') do |filename|
Find.find (CREW_CONFIG_PATH + 'meta/') do |packageList|
packageName = File.basename filename, '.rb'
fileList = CREW_CONFIG_PATH + 'meta/' + packageName + '.filelist'
if File.file?(fileList)
File.readlines(fileList).each do |line|
if line == fileName
found = true
break
end
end
end
break if found
end
break if found
end
puts packageName + ': ' + fileName if found
end
def update
abort "'crew update' is used to update crew itself. Use 'crew upgrade <packageName> to upgrade a specific package." if @pkgName
......@@ -371,6 +393,12 @@ when "search"
else
list_packages
end
when "whatprovides"
if @pkgName
whatprovides @pkgName
else
puts "Usage: crew whatprovides [filepath]"
end
when "download"
search @pkgName
download
......@@ -388,8 +416,8 @@ when "remove"
when nil
puts "Chromebrew, version 0.2.1"
puts "Usage: crew [command] [package]"
puts "Available commands: search, download, install, remove"
puts "Available commands: search, download, install, remove, whatprovides"
else
puts "I have no idea how to do #{@command} :("
puts "Available commands: search, download, install, remove"
puts "Available commands: search, download, install, remove, whatprovides"
end
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