#!/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


