From ac9003546f99250fc1b129edd804496f69c3ef1a Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Wed, 17 Apr 2024 17:59:58 -0400 Subject: release: Revamp release scripts Covers bins, voices, manuals, fonts, and source tarballs. Only thing remaining is build-info integration Change-Id: I3a93fd87bbeb725fc8e1b38c5787e33fa00f3f37 --- tools/release/bins.pl | 77 +++++++++++++++++---------------------------------- 1 file changed, 26 insertions(+), 51 deletions(-) (limited to 'tools/release/bins.pl') diff --git a/tools/release/bins.pl b/tools/release/bins.pl index 03333a5963..2457558242 100755 --- a/tools/release/bins.pl +++ b/tools/release/bins.pl @@ -1,7 +1,5 @@ #!/usr/bin/perl -$version="3.15"; - -require "tools/builds.pm"; +require "./tools/builds.pm"; my $verbose; if($ARGV[0] eq "-v") { @@ -9,53 +7,35 @@ if($ARGV[0] eq "-v") { shift @ARGV; } -my $update; -if($ARGV[0] eq "-u") { - $update =1; - shift @ARGV; -} - -my $doonly; -if($ARGV[0]) { - $doonly = $ARGV[0]; - print "only build $doonly\n" if($verbose); -} +my $tag = $ARGV[0]; +my $version = $ARGV[1]; -if($update) { - # svn update! - system("svn -q up"); -} +my $outdir = "output/bins"; -$rev = `svnversion`; -chomp $rev; -print "rev $rev\n" if($verbose); +my $cpus = `nproc`; # made once for all targets sub runone { my ($dir, $confnum, $extra)=@_; my $a; - if($doonly && ($doonly ne $dir)) { - return; - } - - mkdir "build-$dir"; - chdir "build-$dir"; - print "Build in build-$dir\n" if($verbose); + mkdir "buildb-$dir"; + chdir "buildb-$dir"; + print "Build in buildb-$dir\n" if($verbose); # build the manual(s) $a = buildit($dir, $confnum, $extra); chdir ".."; - my $o="build-$dir/rockbox.zip"; - my $map="build-$dir/rockbox-maps.zip"; - my $elf="build-$dir/rockbox-elfs.zip"; + my $o="buildb-$dir/rockbox.zip"; + my $map="buildb-$dir/rockbox-maps.zip"; + my $elf="buildb-$dir/rockbox-elfs.zip"; if (-f $o) { - my $newo="output/rockbox-$dir-$version.zip"; - my $newmap="output/rockbox-$dir-$version-maps.zip"; - my $newelf="output/rockbox-$dir-$version-elfs.zip"; - system("mkdir -p output"); + my $newo="$outdir/rockbox-$dir-$version.zip"; + my $newmap="$outdir/rockbox-$dir-$version-maps.zip"; + my $newelf="$outdir/rockbox-$dir-$version-elfs.zip"; + system("mkdir -p $outdir"); system("mv $o $newo"); print "moved $o to $newo\n" if($verbose); system("mv $map $newmap"); @@ -74,34 +54,28 @@ sub fonts { my ($dir, $confnum, $newl)=@_; my $a; - if($doonly && ($doonly ne $dir)) { - return; - } - - mkdir "build-$dir"; - chdir "build-$dir"; - print "Build fonts in build-$dir\n" if($verbose); + mkdir "buildf-$dir"; + chdir "buildf-$dir"; + print "Build fonts in buildf-$dir\n" if($verbose); # build the fonts $a = buildfonts($dir, $confnum, $newl); chdir ".."; - my $o="build-$dir/rockbox-fonts.zip"; + my $o="buildf-$dir/rockbox-fonts.zip"; if (-f $o) { - my $newo="output/rockbox-fonts-$version.zip"; + my $newo="$outdir/rockbox-fonts-$version.zip"; system("mv $o $newo"); print "moved $o to $newo\n" if($verbose); } - print "remove all contents in build-$dir\n" if($verbose); - system("rm -rf build-$dir"); + print "remove all contents in buildb-$dir\n" if($verbose); + system("rm -rf buildf-$dir"); return $a; }; - - sub buildit { my ($target, $confnum, $extra)=@_; @@ -114,7 +88,7 @@ sub buildit { `$c`; print "Run 'make'\n" if($verbose); - `make VERSION=$version`; + `make -j$cpus VERSION=$version`; print "Run 'make zip'\n" if($verbose); `make zip VERSION=$version`; @@ -141,14 +115,15 @@ sub buildfonts { `make fontzip`; } +`git checkout $tag`; + # run make in tools first to make sure they're up-to-date print "cd tools && make\n" if($verbose); `(cd tools && make ) >/dev/null`; -for my $b (&stablebuilds) { +for my $b (&usablebuilds) { my $configname = $builds{$b}{configname} ? $builds{$b}{configname} : $b; runone($b, $configname, $builds{$b}{ram}); } fonts("fonts", "iaudiox5"); - -- cgit v1.2.3