480ab7fc6f
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8909 a1c6a512-1295-4272-9138-f99709370657
106 lines
1.8 KiB
Perl
Executable file
106 lines
1.8 KiB
Perl
Executable file
#!/usr/bin/env perl
|
|
|
|
$version = $ARGV[0];
|
|
|
|
if($version eq "") {
|
|
print "Enter version number!\n";
|
|
exit;
|
|
}
|
|
|
|
if(!-f "apps/version.h") {
|
|
print "run this script in the root dir\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(<FILE>) {
|
|
if($_ =~ /^ *\#/) {
|
|
next;
|
|
}
|
|
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`;
|
|
}
|
|
|
|
|
|
if(!open(VERSION, "<apps/version.h")) {
|
|
print "Can't read version.h\n";
|
|
exit;
|
|
}
|
|
|
|
if(!open(THIS, ">rockbox-$version/apps/version.h")) {
|
|
print "Can't create a new version.h for this version\n";
|
|
exit;
|
|
}
|
|
while(<VERSION>) {
|
|
$_ =~ s/^\#define APPSVERSION .*/\#define APPSVERSION \"$version\"/;
|
|
print THIS $_;
|
|
}
|
|
close(VERSION);
|
|
close(THIS);
|
|
|
|
`tar -cf rockbox-$version.tar rockbox-$version`;
|
|
`gzip -c9 rockbox-$version.tar > rockbox-$version.tar.gz`;
|
|
`bzip2 -c9 rockbox-$version.tar > rockbox-$version.tar.bz2`;
|
|
`rm -rf rockbox-$version rockbox-$version.tar`;
|