#!/usr/bin/ruby action = $0 if $0 =~ /flavors/ then $element = "flavors" else $element = "elisp" end prefix="/" package = ARGV[0] oldlists = Array.new @requires = Array.new open(prefix+"/var/lib/emacsen-common/installed-"+$element,"r").each{|list| list.chomp! oldlists.push(list.to_s) }.close if !oldlists.include?(package) then elsif action =~/remove/ oldlists.delete(package) a = open(prefix+"/var/lib/emacsen-common/installed-"+$element,"w") oldlists.each{|list| a.write(list+"\n") } a.close exit else exit end def getrequire(package) array = open("|apt-cache depends "+package,"r").readlines.select{ |line| true if (line =~/ /)||(line =~/ Depends: [^<^>]+/) } array.each{|packages| packages.gsub!(/ /,"") packages.gsub!(/[ ]+Depends:[ ]+/,"") packages.chomp! #print "package:"+packages+"\n" # unless @requires.member?(packages) @requires.unshift(packages) # getrequire(packages) # end } end # getrequire(package) indexnumber = -1 if oldlists.include?(package) then newlists = oldlists else newlists = oldlists.push(package) end #if indexnumber == -1 #then # newlists = [package]+ oldlists #else # newlists = oldlists[0..indexnumber]+[package]+oldlists[indexnumber+1,oldlists.length-1-indexnumber] #end a = open(prefix+"/var/lib/emacsen-common/installed-"+$element,"w") newlists.each{|list| a.write(list+"\n") } a.close