source: projects/emacsen-common/branches/0.4.x/scripts/generate-package-list.rb @ 7238

Revision 7238, 1.4 KB checked in by daisuke, 11 years ago (diff)

import emacsen-common

Line 
1#!/usr/bin/ruby
2
3action = $0
4
5if $0 =~ /flavors/
6then 
7 $element = "flavors" 
8else
9 $element = "elisp" 
10end
11
12
13
14prefix="/"
15package = ARGV[0]
16
17oldlists = Array.new
18@requires = Array.new
19 
20open(prefix+"/var/lib/emacsen-common/installed-"+$element,"r").each{|list|
21  list.chomp!
22  oldlists.push(list.to_s)   
23}.close
24
25if !oldlists.include?(package) 
26then
27elsif action =~/remove/ 
28  oldlists.delete(package)
29  a = open(prefix+"/var/lib/emacsen-common/installed-"+$element,"w")
30  oldlists.each{|list|
31     a.write(list+"\n")
32  }
33  a.close
34
35  exit
36else
37  exit 
38end
39
40def getrequire(package)
41
42  array = open("|apt-cache depends "+package,"r").readlines.select{ |line| 
43    true if (line =~/    /)||(line =~/  Depends: [^<^>]+/)
44  }
45  array.each{|packages|
46    packages.gsub!(/    /,"")
47    packages.gsub!(/[ ]+Depends:[ ]+/,"")
48    packages.chomp!
49    #print "package:"+packages+"\n"
50#    unless @requires.member?(packages)
51      @requires.unshift(packages)
52#      getrequire(packages)
53#    end
54   
55  }
56end
57
58
59# getrequire(package)
60indexnumber = -1 
61
62if oldlists.include?(package) 
63then
64   newlists = oldlists
65else
66   newlists = oldlists.push(package)
67end 
68
69
70#if indexnumber == -1
71#then
72#   newlists = [package]+ oldlists   
73#else
74#   newlists = oldlists[0..indexnumber]+[package]+oldlists[indexnumber+1,oldlists.length-1-indexnumber]
75#end
76
77a = open(prefix+"/var/lib/emacsen-common/installed-"+$element,"w")
78newlists.each{|list|
79  a.write(list+"\n")
80}
81a.close
82
83
Note: See TracBrowser for help on using the repository browser.