From 760b7b9ed4dbafff70bade59cd06cd5f19ead9cc Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 21 May 2004 19:05:27 +0000 Subject: build a Rockbox zip file suitable for install git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4671 a1c6a512-1295-4272-9138-f99709370657 --- tools/buildzip.pl | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100755 tools/buildzip.pl (limited to 'tools/buildzip.pl') diff --git a/tools/buildzip.pl b/tools/buildzip.pl new file mode 100755 index 0000000000..a1edb4eed6 --- /dev/null +++ b/tools/buildzip.pl @@ -0,0 +1,112 @@ +#!/usr/bin/perl + +sub buildlangs { + my ($outputlang)=@_; + my $dir = "../apps/lang"; + opendir(DIR, $dir); + my @files = grep { /\.lang$/ } readdir(DIR); + closedir(DIR); + + for(@files) { + my $output = $_; + $output =~ s/(.*)\.lang/$1.lng/; + print "lang $_\n" if($verbose); + system ("../tools/binlang $dir/english.lang $dir/$_ $outputlang/$output >/dev/null 2>&1"); + } +} + +sub buildzip { + my ($zip, $image, $notplayer)=@_; + + # remove old traces + `rm -rf .rockbox`; + + mkdir ".rockbox", 0777; + mkdir ".rockbox/langs", 0777; + mkdir ".rockbox/rocks", 0777; + `find . -name "*.rock" ! -empty | xargs --replace=foo cp foo .rockbox/rocks/`; + + if($notplayer) { + `cp ../apps/plugins/sokoban.levels .rockbox/`; # sokoban levels + + mkdir ".rockbox/fonts", 0777; + + opendir(DIR, "../fonts") || die "can't open dir fonts"; + my @fonts = grep { /\.bdf$/ && -f "../fonts/$_" } readdir(DIR); + closedir DIR; + + for(@fonts) { + my $f = $_; + + print "FONT: $f\n" if($verbose); + my $o = $f; + $o =~ s/\.bdf/\.fnt/; + my $cmd ="../tools/convbdf -s 32 -l 255 -f -o \".rockbox/fonts/$o\" \"../fonts/$f\" >/dev/null 2>&1"; + print "CMD: $cmd\n" if($verbose); + `$cmd`; + } + + `cp rockbox.ucl .rockbox/`; # UCL for flashing + } + + mkdir ".rockbox/docs", 0777; + for(("BATTERY-FAQ", + "CUSTOM_CFG_FORMAT", + "CUSTOM_WPS_FORMAT", + "FAQ", + "NODO", + "TECH")) { + `cp ../docs/$_ .rockbox/docs/$_.txt`; + } + + # now copy the file made for reading on the unit: + #if($notplayer) { + # `cp $webroot/docs/Help-JBR.txt .rockbox/docs/`; + #} + #else { + # `cp $webroot/docs/Help-Stu.txt .rockbox/docs/`; + #} + + buildlangs(".rockbox/langs"); + + `find .rockbox | zip $zip -@ >/dev/null`; + + `zip $zip $image`; + + # remove the .rockbox afterwards + `rm -rf .rockbox`; + + print "Created $zip\n"; +} + +my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = + localtime(time); + +$mon+=1; +$year+=1900; + +$date=sprintf("%04d%02d%02d", $year,$mon, $mday); +$shortdate=sprintf("%02d%02d%02d", $year%100,$mon, $mday); + +my $verbose; +if($ARGV[0] eq "-v") { + $verbose =1; + shift @ARGV; +} + +# made once for all targets +sub runone { + my ($type, $target)=@_; + + # build a full install zip file + buildzip("rockbox.zip", $target, + ($type eq "player")?0:1); +}; + +if($ARGV[0] !~ /player/i) { + runone("recorder", "ajbrec.ajz"); +} +else { + runone("player", "archos.mod"); +} + -- cgit v1.2.3