bin/createpackage.pl
changeset 37 758a864f9613
parent 33 3e2da88830cd
--- a/bin/createpackage.pl	Fri Sep 17 08:34:18 2010 +0300
+++ b/bin/createpackage.pl	Mon Oct 04 01:19:32 2010 +0300
@@ -81,11 +81,14 @@
      [-o|only-unsigned]      = Creates only unsigned package.
      [-s|stub]               = Generates stub sis for ROM.
      [-n|sisname <name>]     = Specifies the final sis name.
+     [-g|gcce-is-armv5]      = Convert gcce platform to armv5.
 Where parameters are as follows:
      templatepkg             = Name of .pkg file template
      target                  = Either debug or release
      platform                = One of the supported platform
                                winscw | gcce | armv5 | armv6 | armv7
+                               Note that when packaging binaries built using gcce and symbian-sbsv2
+                               mkspec, armv5 must be used for platform instead of gcce.
      certificate             = The certificate file used for signing
      key                     = The certificate's private key file
      passphrase              = The passphrase of the certificate's private key file
@@ -123,6 +126,7 @@
 my $stub = "";
 my $signed_sis_name = "";
 my $onlyUnsigned = "";
+my $convertGcce = "";
 
 unless (GetOptions('i|install' => \$install,
                    'p|preprocess' => \$preprocessonly,
@@ -130,7 +134,8 @@
                    'u|unsigned' => \$preserveUnsigned,
                    'o|only-unsigned' => \$onlyUnsigned,
                    's|stub' => \$stub,
-                   'n|sisname=s' => \$signed_sis_name,)) {
+                   'n|sisname=s' => \$signed_sis_name,
+                   'g|gcce-is-armv5' => \$convertGcce,)) {
     Usage();
 }
 
@@ -146,6 +151,16 @@
 my $platform;
 $platform = $tmpvalues[1] or $platform = "";
 
+if ($platform =~ m/^gcce$/i) {
+    if (($convertGcce ne "")) {
+        $platform = "armv5";
+    } elsif ($ENV{SBS_HOME}) {
+        # Print a informative note in case suspected misuse is detected.
+        print "\nNote: You should use armv5 as platform or specify -g parameter to convert platform\n";
+        print "      when packaging gcce binaries built using symbian-sbsv2 mkspec.\n\n";
+    }
+}
+
 # Convert visual target to real target (debug->udeb and release->urel)
 $target =~ s/debug/udeb/i;
 $target =~ s/release/urel/i;
@@ -300,7 +315,8 @@
         && $templatepkg !~ m/_installer\.pkg$/i
         && !$onlyUnsigned) {
         print("Auto-patching capabilities for self signed package.\n");
-        system ("patch_capabilities $pkgoutput");
+        my $patch_capabilities = File::Spec->catfile(dirname($0), "patch_capabilities");
+        system ("$patch_capabilities $pkgoutput");
     }
 
     # Create SIS.