Corrected ipodmini manual builds.
[kugel-rb.git] / tools / builds.pm
blob9d69e941d9a038e43ccecbe65e6299de55152226
1 $publicrelease="3.4";
2 $releasedate="September 24, 2009";
3 $releasenotes="/wiki/ReleaseNotes34";
5 %builds = (
6 'archosav300' => {
7 name => 'Archos AV300',
8 status => 1, # 3=stable, 2=unstable, 1=unusable
9 },
10 'archosfmrecorder' => {
11 name => 'Archos FM Recorder',
12 status => 3,
13 ram => 2,
15 'archosondiofm' => {
16 name => 'Archos Ondio FM',
17 status => 3,
18 ram => 2,
20 'archosondiosp' => {
21 name => 'Archos Ondio SP',
22 status => 3,
23 ram => 2,
25 'archosplayer' => {
26 name => 'Archos Player/Studio',
27 status => 3,
28 ram => 2,
30 'archosrecorder' => {
31 name => 'Archos Recorder v1',
32 status => 3,
33 ram => 2,
35 'archosrecorderv2' => {
36 name => 'Archos Recorder v2',
37 status => 3,
38 ram => 2,
40 'cowond2' => {
41 name => 'Cowon D2',
42 status => 2,
43 manual => 'cowond2',
45 'gigabeatfx' => {
46 name => 'Toshiba Gigabeat F/X',
47 status => 3,
49 'gigabeats' => {
50 name => 'Toshiba Gigabeat S',
51 status => 2,
53 'gogearhdd1630' => {
54 name => 'Philips GoGear HDD1630',
55 status => 1,
57 'gogearsa9200' => {
58 name => 'Philips GoGear SA9200',
59 status => 1,
61 'iaudio7' => {
62 name => 'iAudio 7',
63 status => 1,
65 'iaudiom3' => {
66 name => 'iAudio M3',
67 status => 3,
69 'iaudiom5' => {
70 name => 'iAudio M5',
71 status => 3,
73 'iaudiox5' => {
74 name => 'iAudio X5',
75 status => 3,
77 'ipod1g2g' => {
78 name => 'iPod 1st and 2nd gen',
79 status => 3,
81 'ipod3g' => {
82 name => 'iPod 3rd gen',
83 status => 3,
85 'ipod4g' => {
86 name => 'iPod 4th gen Grayscale',
87 status => 3,
89 'ipodcolor' => {
90 name => 'iPod color/Photo',
91 status => 3,
93 'ipodmini1g' => {
94 name => 'iPod Mini 1st gen',
95 status => 3,
97 'ipodmini2g' => {
98 name => 'iPod Mini 2nd gen',
99 status => 3,
100 icon => 'ipodmini1g',
101 manual => 'ipodmini1g',
103 'ipodnano1g' => {
104 name => 'iPod Nano 1st gen',
105 status => 3,
107 'ipodnano2g' => {
108 name => 'iPod Nano 2nd gen',
109 status => 2,
111 'ipodvideo' => {
112 name => 'iPod Video 30GB',
113 status => 3,
114 ram => 32,
116 'ipodvideo64mb' => {
117 name => 'iPod Video 60/80GB',
118 status => 3,
119 icon => 'ipodvideo',
120 manual => 'ipodvideo',
121 voice => 'ipodvideo',
122 configname => 'ipodvideo',
123 ram => 64,
125 'iriverh10' => {
126 name => 'iriver H10 20GB',
127 status => 3,
129 'iriverh10_5gb' => {
130 name => 'iriver H10 5GB',
131 status => 3,
132 manual => 'iriverh10',
134 'iriverh100' => {
135 name => 'iriver H100/115',
136 status => 3,
138 'iriverh120' => {
139 name => 'iriver H120/140',
140 status => 3,
141 icon => 'iriverh100',
142 manual => 'iriverh100',
144 'iriverh300' => {
145 name => 'iriver H320/340',
146 status => 3,
148 'iriverifp7xx' => {
149 name => 'iriver iFP-7xx',
150 status => 1,
152 'logikdax' => {
153 name => 'Logik DAX',
154 status => 1,
156 'lyreproto1' => {
157 name => 'Lyre Prototype 1',
158 status => 1,
160 'mini2440' => {
161 name => 'Mini 2440',
162 status => 1,
164 'meizum3' => {
165 name => 'Meizu M3',
166 status => 1,
168 'meizum6sl' => {
169 name => 'Meizu M6SL',
170 status => 1,
172 'meizum6sp' => {
173 name => 'Meizu M6SP',
174 status => 1,
176 'mrobe100' => {
177 name => 'Olympus M-Robe 100',
178 status => 3,
180 'mrobe500' => {
181 name => 'Olympus M-Robe 500',
182 status => 2,
184 'ondavx747' => {
185 name => 'Onda VX747',
186 status => 1,
188 'ondavx747p' => {
189 name => 'Onda VX747+',
190 status => 1,
192 'ondavx767' => {
193 name => 'Onda VX767',
194 status => 1,
196 'ondavx777' => {
197 name => 'Onda VX777',
198 status => 1,
200 'samsungyh820' => {
201 name => 'Samsung YH-820',
202 status => 2,
204 'samsungyh920' => {
205 name => 'Samsung YH-920',
206 status => 2,
208 'samsungyh925' => {
209 name => 'Samsung YH-925',
210 status => 2,
212 'samsungyps3' => {
213 name => 'Samsung YP-S3',
214 status => 1,
216 'sansac100' => {
217 name => 'SanDisk Sansa c100',
218 status => 1,
220 'sansac200' => {
221 name => 'SanDisk Sansa c200',
222 status => 3,
224 'sansac200v2' => {
225 name => 'SanDisk Sansa c200 v2',
226 status => 1,
227 icon => 'sansac200',
229 'sansaclip' => {
230 name => 'SanDisk Sansa Clip',
231 status => 2,
233 'sansaclipv2' => {
234 name => 'SanDisk Sansa Clip v2',
235 status => 1,
237 'sansae200' => {
238 name => 'SanDisk Sansa e200',
239 status => 3,
241 'sansae200r' => {
242 name => 'SanDisk Sansa e200R',
243 status => 3,
244 icon => 'sansae200',
245 manual => 'sansae200',
247 'sansae200v2' => {
248 name => 'SanDisk Sansa e200 v2',
249 status => 2,
250 icon => 'sansae200',
252 'sansafuze' => {
253 name => 'SanDisk Sansa Fuze',
254 status => 2,
256 'sansam200' => {
257 name => 'SanDisk Sansa m200',
258 status => 1,
260 'sansam200v4' => {
261 name => 'SanDisk Sansa m200 v4',
262 status => 1,
264 'sansaview' => {
265 name => 'SanDisk Sansa View',
266 status => 1,
268 'tatungtpj1022' => {
269 name => 'Tatung Elio TPJ-1022',
270 status => 1,
272 'zenvision' => {
273 name => 'Creative Zen Vision',
274 status => 1,
276 'zenvisionm30gb' => {
277 name => 'Creative Zen Vision:M 30GB',
278 status => 1,
280 'zenvisionm60gb' => {
281 name => 'Creative Zen Vision:M 60GB',
282 status => 1,
286 sub manualname {
287 my $m = shift @_;
289 return $builds{$m}{manual} ? "$builds{$m}{manual}" : $m;
292 sub voicename {
293 my $m = shift @_;
295 return $builds{$m}{voice} ? "$builds{$m}{voice}" : $m;
298 sub byname {
299 return uc $builds{$a}{name} cmp uc $builds{$b}{name};
302 sub usablebuilds {
303 my @list;
305 for my $b (sort byname keys %builds) {
306 push @list, $b if ($builds{$b}{status} >= 2);
309 return @list;
312 sub stablebuilds {
313 my @list;
315 for my $b (sort byname keys %builds) {
316 push @list, $b if ($builds{$b}{status} >= 3);
319 return @list;