summaryrefslogtreecommitdiff
path: root/utils/skinupdater/updatetheme.pl
diff options
context:
space:
mode:
Diffstat (limited to 'utils/skinupdater/updatetheme.pl')
-rwxr-xr-xutils/skinupdater/updatetheme.pl53
1 files changed, 53 insertions, 0 deletions
diff --git a/utils/skinupdater/updatetheme.pl b/utils/skinupdater/updatetheme.pl
new file mode 100755
index 0000000000..a6c3e20097
--- /dev/null
+++ b/utils/skinupdater/updatetheme.pl
@@ -0,0 +1,53 @@
1#!/usr/bin/perl
2# __________ __ ___.
3# Open \______ \ ____ ____ | | _\_ |__ _______ ___
4# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7# \/ \/ \/ \/ \/
8# $Id: wpsbuild.pl 24813 2010-02-21 19:10:57Z kugel $
9#
10
11# usage: updatetheme.pl theme.zip workingdir [options passed to skinupdater]
12use File::Basename;
13
14$numArgs = $#ARGV + 1;
15
16die "usage: updatetheme.pl theme.zip workingdir [options passed to skinupdater]" if ($numArgs < 2);
17
18$ARGV[0] =~ /.*\/(.*).(zip|ZIP)/; #fix this regex!
19$theme_name = $1;
20$tmp = $ARGV[1];
21$outdir = "$tmp/$theme_name";
22
23if ($numArgs > 2)
24{
25 $args = $ARGV[2];
26} else {
27 $args = "";
28}
29
30
31system("mkdir $outdir") and die "couldnt mkdir $outdir";
32
33# step 1, unzip the theme zip
34system("unzip $ARGV[0] -d $outdir") and die;
35
36#for each skin in the zip run skinupdater
37@files = `find $outdir -iname "*.wps" -o -iname "*.sbs" -o -iname "*.fms" -o -iname "*.rwps" -o -iname "*.rsbs" -o -iname "*.rfms"`;
38`touch $tmp/changes.diff`;
39foreach (@files)
40{
41 chomp($_);
42 $file = $_;
43 $out = "$tmp/" . `basename $file`; chomp($out);
44 `./skinupdater $args $file $out`;
45 print "$out";
46 `diff -u $file $out >> $tmp/changes.diff`;
47 `mv $out $file`;
48 # TODO zip up the new folder..
49
50}
51
52
53system("rm -Rf $outdir");