summaryrefslogtreecommitdiffstats
path: root/bin/patch_capabilities.pl
diff options
context:
space:
mode:
authorJanne Anttila <janne.anttila@digia.com>2009-08-31 11:15:01 (GMT)
committerJanne Anttila <janne.anttila@digia.com>2009-08-31 11:15:01 (GMT)
commit827123e43be5bf83db160549ce9dfe33913f8416 (patch)
tree98ab39f8f74d913650416e089b5efabca4bc3ded /bin/patch_capabilities.pl
parent5d3a2b852aaaa66f120ab4d8618900dfa603e359 (diff)
downloadQt-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.pl31
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();
}