1.0.6 candidate
@@ -243,8 +243,8 @@ | ||
243 | 243 | # Build normal packages (other than ipkg) |
244 | 244 | class GenPkgBuild < PkgBuild |
245 | 245 | def initialize |
246 | - @pkgsuffix = ".xpkg" | |
247 | - @devpkgsuffix = ".xdevpkg" | |
246 | + @pkgsuffix = ".tar.gz" | |
247 | + @devpkgsuffix = ".tar.gz" | |
248 | 248 | end |
249 | 249 | |
250 | 250 | # generate package file |
@@ -81,11 +81,37 @@ | ||
81 | 81 | @pkgs = Array.new |
82 | 82 | end |
83 | 83 | |
84 | + # find deffiles | |
85 | + def finddeffiles(target) | |
86 | + @target = target | |
87 | + | |
88 | + @deflist = loaddeflist_from_cache | |
89 | + if (@deflist == nil) | |
90 | + # no cache | |
91 | + puts "Searching pkgdef files..." if ($verbose) | |
92 | + | |
93 | + @deflist = `find . -name "pkgdef" -print`.split | |
94 | + | |
95 | + `find . -name "pkgdef.list" -print`.split.each do |list| | |
96 | + dir = list.gsub(%r|pkgdef.list$|, "") | |
97 | + | |
98 | + IO.readlines(list).each do |line| | |
99 | + line.chop! | |
100 | + line.strip! | |
101 | + next if (line == "" || line =~ /^#/) | |
102 | + | |
103 | + @deflist.push(dir + line) | |
104 | + end | |
105 | + end | |
106 | + | |
107 | + savedeflist_to_cache(@deflist) | |
108 | + end | |
109 | + end | |
110 | + | |
84 | 111 | # resolve dependency |
85 | - def resolve(target) | |
86 | - @target = target | |
87 | - loaddeffiles | |
88 | - resolvedeps | |
112 | + def resolve() | |
113 | + loaddeffiles() | |
114 | + resolvedeps() | |
89 | 115 | end |
90 | 116 | |
91 | 117 | # get resulted directory list |
@@ -102,50 +128,18 @@ | ||
102 | 128 | return if (list == nil) |
103 | 129 | newlist = Array.new |
104 | 130 | |
105 | - @pkgs.each do |p| | |
106 | - match = list.find{|i| p.deffile.include?(i)} | |
131 | + @deflist.each do |f| | |
132 | + match = list.find{|dir| f.include?("/" + dir + "/")} | |
107 | 133 | |
108 | 134 | if ((!isSkip && match) || (isSkip && !match)) |
109 | - newlist.push(p) | |
135 | + newlist.push(f) | |
110 | 136 | end |
111 | 137 | end |
112 | - @pkgs = newlist | |
138 | + @deflist = newlist | |
113 | 139 | end |
114 | 140 | |
115 | 141 | # private methods |
116 | 142 | |
117 | - # load definition files | |
118 | - def loaddeffiles | |
119 | - deflist = loaddeflist_from_cache | |
120 | - if (deflist == nil) | |
121 | - # no cache | |
122 | - puts "Searching pkgdef files..." if ($verbose) | |
123 | - | |
124 | - deflist = `find . -name "pkgdef" -print`.split | |
125 | - | |
126 | - `find . -name "pkgdef.list" -print`.split.each do |list| | |
127 | - dir = list.gsub(%r|pkgdef.list$|, "") | |
128 | - | |
129 | - IO.readlines(list).each do |line| | |
130 | - line.chop! | |
131 | - line.strip! | |
132 | - next if (line == "" || line =~ /^#/) | |
133 | - | |
134 | - deflist.push(dir + line) | |
135 | - end | |
136 | - end | |
137 | - | |
138 | - savedeflist_to_cache(deflist) | |
139 | - end | |
140 | - | |
141 | - deflist.each do |f| | |
142 | - puts "Loading : #{f}" if ($verbose) | |
143 | - pkg = PkgDep.new | |
144 | - pkg.load(f, @target) | |
145 | - @pkgs.push(pkg) | |
146 | - end | |
147 | - end | |
148 | - | |
149 | 143 | def savedeflist_to_cache(deflist) |
150 | 144 | open(DeffilesCache, "w") do |fh| |
151 | 145 | deflist.each do |line| |
@@ -174,6 +168,16 @@ | ||
174 | 168 | end |
175 | 169 | end |
176 | 170 | |
171 | + # load definition files | |
172 | + def loaddeffiles | |
173 | + @deflist.each do |f| | |
174 | + puts "Loading : #{f}" if ($verbose) | |
175 | + pkg = PkgDep.new | |
176 | + pkg.load(f, @target) | |
177 | + @pkgs.push(pkg) | |
178 | + end | |
179 | + end | |
180 | + | |
177 | 181 | # resolve dependency |
178 | 182 | def resolvedeps |
179 | 183 | # first, purge unknown package names |
@@ -47,7 +47,7 @@ | ||
47 | 47 | |
48 | 48 | if (file =~ /^local:(.*)/) |
49 | 49 | file = $1 |
50 | - fullpath = "../" + file # ad hoc... | |
50 | + fullpath = Dir.pwd + "/" + file # ad hoc... | |
51 | 51 | |
52 | 52 | if (!FileTest.exist?(file)) |
53 | 53 | STDERR.puts "no file: #{file}" |
@@ -121,7 +121,7 @@ | ||
121 | 121 | system("mkdir -p #{@builddir}") if (!FileTest.exist?(@builddir)) |
122 | 122 | cmd = "cd #{@builddir} && #{cat} #{file} | patch -p#{patchlevel}" |
123 | 123 | elsif (file =~ /\.tar\.[bg]z2?$/ || file =~ /\.tgz$/ || file =~ /\.tar$/) |
124 | - # extract | |
124 | + # extract (do not chdir) | |
125 | 125 | cmd = "#{cat} #{file} | tar xvf -" |
126 | 126 | else |
127 | 127 | # copy file to builddir |
@@ -1,3 +1,9 @@ | ||
1 | +* 2009/10/28 : Takuya Murakami <tmurakam@mtd.biglobe.ne.jp> | |
2 | + - xpkg-batch: add -c option instead of -f option. | |
3 | + - fix resolve dependency handling | |
4 | + - modify local:... handling. | |
5 | + - change file prefix to ".tar.gz" | |
6 | + | |
1 | 7 | * 2005/10/5 ver 1.0.5 : Takuya Murakami <tmurakam@mtd.biglobe.ne.jp> |
2 | 8 | - xpkg-batch: use cache file |
3 | 9 |