diff options
author | Janne Anttila <janne.anttila@digia.com> | 2009-08-31 11:15:01 (GMT) |
---|---|---|
committer | Janne Anttila <janne.anttila@digia.com> | 2009-08-31 11:15:01 (GMT) |
commit | 827123e43be5bf83db160549ce9dfe33913f8416 (patch) | |
tree | 98ab39f8f74d913650416e089b5efabca4bc3ded /bin/patch_capabilities.pl | |
parent | 5d3a2b852aaaa66f120ab4d8618900dfa603e359 (diff) | |
download | Qt-827123e43be5bf83db160549ce9dfe33913f8416.zip Qt-827123e43be5bf83db160549ce9dfe33913f8416.tar.gz Qt-827123e43be5bf83db160549ce9dfe33913f8416.tar.bz2 |
Added support for template .plg files to patch_capabilities.pl script.
patch_capabilities.pl now supports both template pkg files and makesis
'ready' pkg files. If template pkg file is given next argument has to be
'target-platform'
Usage: patch_capabilities.pl pkg_filename [target-platform] [capabilies]
If template .pkg file is given, next agrument must be 'target-platform'
E.g. patch_capabilities.pl myapp_template.pkg release-armv5 \"All -TCB\"
Reviewed-by: Miikka Heikkinen
Diffstat (limited to 'bin/patch_capabilities.pl')
-rw-r--r-- | bin/patch_capabilities.pl | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/bin/patch_capabilities.pl b/bin/patch_capabilities.pl index f1d94e0..005d587 100644 --- a/bin/patch_capabilities.pl +++ b/bin/patch_capabilities.pl @@ -7,6 +7,17 @@ # ####################################################################### +sub Usage() { + print("This script can be used to set capabilities of all binaries\n"); + print("specified for deployment in a .pkg file.\n"); + print("If no capabilities are given, the binaries will be given the\n"); + print("capabilities supported by self-signed certificates.\n"); + print("\nUsage: patch_capabilities.pl pkg_filename [target-platform] [capability list]\n"); + print(" If template .pkg file is given, next agrument must be 'target-platform'.\n"); + print("\nE.g. patch_capabilities.pl myapp_template.pkg release-armv5 \"All -TCB\"\n"); + exit(); +} + my @capabilitiesToSet = ("LocalServices", "NetworkServices", "ReadUserData", "UserEnvironment", "WriteUserData"); # If arguments were given to the script, @@ -15,6 +26,19 @@ if (@ARGV) # Parse the first given script argument as a ".pkg" file name. my $pkgFileName = shift(@ARGV); + # Check if using template .pkg and do preprocessing if needed + if (($pkgFileName =~ m|_template\.pkg$|i) && -r($pkgFileName)) + { + my $target; + unless ($target = shift(@ARGV)) + { + Usage(); + } + + system ("createpackage.bat -p ".$pkgFileName." ".$target); + $pkgFileName =~ s/_template\.pkg/_${target}\.pkg/; + } + # If the specified ".pkg" file exists (and can be read), if (($pkgFileName =~ m|\.pkg$|i) && -r($pkgFileName)) { @@ -98,10 +122,5 @@ if (@ARGV) } else { - print("This script can be used to set capabilities of all binaries\n"); - print("specified for deployment in a .pkg file.\n"); - print("If no capabilities are given, the binaries will be given the\n"); - print("capabilities supported by self-signed certificates.\n"); - print("\nUsage: patch_capabilities.pl pkg_filename [capability list]\n"); - print("\nE.g. patch_capabilities.pl myapp_armv5_urel.pkg \"All -TCB\"\n"); + Usage(); } |