diff --git a/tools/release b/tools/release new file mode 100755 index 0000000000..27c2c58ac2 --- /dev/null +++ b/tools/release @@ -0,0 +1,80 @@ +#!/usr/bin/env perl + +$version = $ARGV[0]; + +if($version eq "") { + print "Enter version number!\n"; + exit; +} + +@files=`find . -name FILES`; + +my @entries; + +sub dirpart { + my ($file)=@_; + my @p=split("/", $file); + $p[$#p]=""; # blank the last one + my $dir=join("/", @p); + + $dir =~ s/^\.\///; # cut off ./ beginnings + + $dir =~ s/\/$//; # off / trailers + + return $dir; +} + +sub add { + my ($file)=@_; + + my $dir=dirpart($file); + + open(FILE, "<$file"); + while() { + chomp; + push @entries, "$dir/$_"; + } + close(FILE); +} + +for(@files) { + chomp; + add($_); +} + +sub mkalldir { + my ($dir) = @_; + + my @parts = split("/", $dir); + + #print "IN: $dir\n"; + + my $sub=""; + for(@parts) { + #print "PART: $_\n"; + + $sub .= "$_"; + if($_ eq "") { + next; + } + mkdir($sub, 0777); + #print "make $sub\n"; + $sub .= "/"; + } + +} + +#mkalldir("rockbox-1.0/firmware/malloc"); +#exit; + +for(@entries) { + my $dir = dirpart("rockbox-$version/$_"); + #print "Create $dir\n"; + mkalldir($dir); + #print "Copy $_ to $dir\n"; + `cp -p $_ $dir`; +} + +`tar -cf rockbox-$version.tar rockbox-$version`; +`gzip -9 rockbox-$version.tar`; +`rm -rf rockbox-$version`;