summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2008-08-26 23:21:20 +0000
committerJens Arnold <amiconn@rockbox.org>2008-08-26 23:21:20 +0000
commit96aba33d1ec353192b26c0b41097a8113f865dc6 (patch)
tree6d13988243ae98235648cbbf4a78311043a31944
parent32c65bb203dec03b7955adf0ab0576645e49ec00 (diff)
downloadrockbox-96aba33d1ec353192b26c0b41097a8113f865dc6.tar.gz
rockbox-96aba33d1ec353192b26c0b41097a8113f865dc6.zip
Fix FS #9280 (bsd tar errors out when called with -u and the destination file doesn't exist) by using -c. This requires buildzip.pl to only call the archiver once, with the additional beneft that it's more efficient (saves a call, and allows 7zip archives to become smaller).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18350 a1c6a512-1295-4272-9138-f99709370657
-rwxr-xr-xtools/buildzip.pl28
-rwxr-xr-xtools/configure2
2 files changed, 13 insertions, 17 deletions
diff --git a/tools/buildzip.pl b/tools/buildzip.pl
index 88fca97625..02f26937d7 100755
--- a/tools/buildzip.pl
+++ b/tools/buildzip.pl
@@ -433,26 +433,22 @@ sub runone {
433 # build a full install .rockbox directory 433 # build a full install .rockbox directory
434 buildzip($target, $fonts); 434 buildzip($target, $fonts);
435 435
436 # create a zip file from the .rockbox dfir
437
438 unlink($output); 436 unlink($output);
439 if($verbose) { 437
440 print "$ziptool $output .rockbox >/dev/null\n"; 438 if($fonts == 1) {
439 # Don't include image file in fonts-only package
440 undef $target;
441 }
442 if($target && ($target !~ /(mod|ajz|wma)\z/i)) {
443 # On some targets, the image goes into .rockbox.
444 copy("$target", ".rockbox/$target");
445 undef $target;
441 } 446 }
442 system("$ziptool $output .rockbox >/dev/null");
443 447
444 if($target && ($fonts != 1)) { 448 if($verbose) {
445 # On some targets, rockbox.* is inside .rockbox 449 print "$ziptool $output .rockbox $target >/dev/null\n";
446 if($target !~ /(mod|ajz|wma)\z/i) {
447 copy("$target", ".rockbox/$target");
448 $target = ".rockbox/".$target;
449 }
450
451 if($verbose) {
452 print "$ziptool $output $target >/dev/null\n";
453 }
454 system("$ziptool $output $target >/dev/null");
455 } 450 }
451 system("$ziptool $output .rockbox $target >/dev/null");
456 452
457 # remove the .rockbox afterwards 453 # remove the .rockbox afterwards
458 rmtree('.rockbox'); 454 rmtree('.rockbox');
diff --git a/tools/configure b/tools/configure
index 327ae15230..728d4d39fd 100755
--- a/tools/configure
+++ b/tools/configure
@@ -2346,7 +2346,7 @@ fullzip:
2346tar: 2346tar:
2347 \$(SILENT)rm -f rockbox.tar 2347 \$(SILENT)rm -f rockbox.tar
2348 \$(SILENT)for f in \`cat \$(BUILDDIR)/@APPS@/features\`; do feat="\$\$feat:\$\$f" ; done; \\ 2348 \$(SILENT)for f in \`cat \$(BUILDDIR)/@APPS@/features\`; do feat="\$\$feat:\$\$f" ; done; \\
2349 \$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\$\$feat\" -i \"\$(TARGET_ID)\" -o "rockbox.tar" -z "tar -uf" -r "\$(ROOTDIR)" \$(TARGET) \$(BINARY) 2349 \$(TOOLSDIR)/buildzip.pl \$(VERBOSEOPT) -t \"\$(MODELNAME)\$\$feat\" -i \"\$(TARGET_ID)\" -o "rockbox.tar" -z "tar -cf" -r "\$(ROOTDIR)" \$(TARGET) \$(BINARY)
2350 2350
2351bzip2: tar 2351bzip2: tar
2352 \$(SILENT)bzip2 -f9 rockbox.tar 2352 \$(SILENT)bzip2 -f9 rockbox.tar