summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorJason McDonald <jason.mcdonald@nokia.com>2009-09-09 04:48:46 (GMT)
committerJason McDonald <jason.mcdonald@nokia.com>2009-09-09 04:48:46 (GMT)
commit1e6a4aab859ab1a41e9bcedb6e8f8f9dc8296d54 (patch)
treee2f9bc8a8ca67f1bf0543605bab8ba7348539b1b /bin
parent01f48343efd58df74a14e89eb5ead6be5d532c64 (diff)
parentb2daad6cce4298ba438aba4b0e8bb3ea80680c6e (diff)
downloadQt-1e6a4aab859ab1a41e9bcedb6e8f8f9dc8296d54.zip
Qt-1e6a4aab859ab1a41e9bcedb6e8f8f9dc8296d54.tar.gz
Qt-1e6a4aab859ab1a41e9bcedb6e8f8f9dc8296d54.tar.bz2
Merge branch '4.6'
Conflicts: examples/assistant/simpletextviewer/findfiledialog.cpp examples/assistant/simpletextviewer/findfiledialog.h examples/assistant/simpletextviewer/main.cpp examples/assistant/simpletextviewer/mainwindow.cpp examples/assistant/simpletextviewer/mainwindow.h tools/assistant/compat/config.cpp tools/assistant/compat/config.h tools/assistant/compat/docuparser.cpp tools/assistant/compat/docuparser.h tools/assistant/compat/fontsettingsdialog.cpp tools/assistant/compat/fontsettingsdialog.h tools/assistant/compat/helpdialog.cpp tools/assistant/compat/helpdialog.h tools/assistant/compat/helpdialog.ui tools/assistant/compat/helpwindow.cpp tools/assistant/compat/helpwindow.h tools/assistant/compat/index.cpp tools/assistant/compat/index.h tools/assistant/compat/lib/qassistantclient.cpp tools/assistant/compat/lib/qassistantclient.h tools/assistant/compat/lib/qassistantclient_global.h tools/assistant/compat/main.cpp tools/assistant/compat/mainwindow.cpp tools/assistant/compat/mainwindow.h tools/assistant/compat/mainwindow.ui tools/assistant/compat/profile.cpp tools/assistant/compat/profile.h tools/assistant/compat/tabbedbrowser.cpp tools/assistant/compat/tabbedbrowser.h tools/assistant/compat/tabbedbrowser.ui tools/assistant/compat/topicchooser.cpp tools/assistant/compat/topicchooser.h tools/assistant/compat/topicchooser.ui
Diffstat (limited to 'bin')
-rw-r--r--bin/createpackage.bat8
-rw-r--r--bin/createpackage.pl128
-rw-r--r--bin/patch_capabilities.pl8
-rwxr-xr-xbin/setcepaths.bat8
-rwxr-xr-xbin/syncqt.bat8
5 files changed, 113 insertions, 47 deletions
diff --git a/bin/createpackage.bat b/bin/createpackage.bat
index 87d094f..7381888 100644
--- a/bin/createpackage.bat
+++ b/bin/createpackage.bat
@@ -1,6 +1,7 @@
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+:: All rights reserved.
:: Contact: Nokia Corporation (qt-info@nokia.com)
::
:: This file is part of the test suite of the Qt Toolkit.
@@ -20,10 +21,9 @@
:: ensure the GNU Lesser General Public License version 2.1 requirements
:: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
::
-:: In addition, as a special exception, Nokia gives you certain
-:: additional rights. These rights are described in the Nokia Qt LGPL
-:: Exception version 1.1, included in the file LGPL_EXCEPTION.txt in this
-:: package.
+:: In addition, as a special exception, Nokia gives you certain additional
+:: rights. These rights are described in the Nokia Qt LGPL Exception
+:: version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
::
:: If you have questions regarding the use of this file, please contact
:: Nokia at qt-info@nokia.com.
diff --git a/bin/createpackage.pl b/bin/createpackage.pl
index 2e31544..4597b04 100644
--- a/bin/createpackage.pl
+++ b/bin/createpackage.pl
@@ -2,6 +2,7 @@
#############################################################################
##
## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## All rights reserved.
## Contact: Nokia Corporation (qt-info@nokia.com)
##
## This file is part of the S60 port of the Qt Toolkit.
@@ -21,10 +22,9 @@
## ensure the GNU Lesser General Public License version 2.1 requirements
## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
##
-## In addition, as a special exception, Nokia gives you certain
-## additional rights. These rights are described in the Nokia Qt LGPL
-## Exception version 1.1, included in the file LGPL_EXCEPTION.txt in this
-## package.
+## In addition, as a special exception, Nokia gives you certain additional
+## rights. These rights are described in the Nokia Qt LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
##
## If you have questions regarding the use of this file, please contact
## Nokia at qt-info@nokia.com.
@@ -52,42 +52,70 @@ use strict;
use Getopt::Long;
# Use file name parsing module
use File::Basename;
+# Use File::Spec services mainly rel2abs
+use File::Spec;
+# use CWD abs_bath, which is exported only on request
+use Cwd 'abs_path';
+
sub Usage() {
- print "\n";
- print "==========================================================================================\n";
- print "Convenience script for creating signed packages you can install on your phone.\n";
- print "\n";
- print "Usage: createpackage.pl [-i] templatepkg target-platform [certificate key [passphrase]]\n";
- print "\n";
- print "Where parameters are as follows:\n";
- print " [-i|install] = Install the package right away using PC suite\n";
- print " [-p|preprocess] = Only preprocess the template .pkg file.\n";
- print " templatepkg = Name of .pkg file template\n";
- print " target = Either debug or release\n";
- print " platform = One of the supported platform\n";
- print " winscw | gcce | armv5 | armv6 | armv7\n";
- print " certificate = The certificate file used for signing\n";
- print " key = The certificate's private key file\n";
- print " passphrase = The certificate's private key file's passphrase\n";
- print "\n";
- print "For example:\n";
- print " createpackage.pl fluidlauncher_template.pkg release-armv5\n";
- print "\n";
- print "If no certificate and key files are provided, either a RnD certificate or\n";
- print "a self-signed certificate from Qt installation root directory is used.\n";
- print "\n";
- print "==========================================================================================\n";
+ print <<ENDUSAGESTRING;
+
+==============================================================================================
+Convenience script for creating signed packages you can install on your phone.
+
+Usage: createpackage.pl [options] templatepkg target-platform [certificate key [passphrase]]
+
+Where supported optiobns are as follows:
+ [-i|install] = Install the package right away using PC suite
+ [-p|preprocess] = Only preprocess the template .pkg file.
+ [-c|certfile=<file>] = The file containing certificate information for signing.
+ The file can have several certificates, each specified in
+ separate line. The certificate, key and passphrase in line
+ must be ';' separated. Lines starting with '#' are treated
+ as a comments. Also empty lines are ignored. The paths in
+ <file> can be absolute or relative to <file>.
+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
+ certificate = The certificate file used for signing
+ key = The certificate's private key file
+ passphrase = The certificate's private key file's passphrase
+
+Example:
+ createpackage.pl fluidlauncher_template.pkg release-armv5
+
+Example with certfile:
+ createpackage.pl -c=mycerts.txt fluidlauncher_template.pkg release-armv5
+
+ Content of 'mycerts.txt' must be something like this:
+ # This is comment line, also the empty lines are ignored
+ rd.cer;rd-key.pem
+ .\\cert\\mycert.cer;.\\cert\\mykey.key;yourpassword
+ X:\\QtS60\\selfsigned.cer;X:\\QtS60\\selfsigned.key
+
+If no certificate and key files are provided, either a RnD certificate or
+a self-signed certificate from Qt installation root directory is used.
+==============================================================================================
+
+ENDUSAGESTRING
+
exit();
}
# Read given options
my $install = "";
my $preprocessonly = "";
-unless (GetOptions('i|install' => \$install, 'p|preprocess' => \$preprocessonly)){
+my $certfile = "";
+
+unless (GetOptions('i|install' => \$install, 'p|preprocess' => \$preprocessonly, 'c|certfile=s' => \$certfile)){
Usage();
}
+my $certfilepath = abs_path(dirname($certfile));
+
# Read params to variables
my $templatepkg = $ARGV[0];
my $targetplatform = lc $ARGV[1];
@@ -155,6 +183,32 @@ if (length($certificate)) {
}
}
+# Read the certificates from file to two dimensional array
+my @certificates;
+if (length($certfile)) {
+ open CERTFILE, "<$certfile" or die $!;
+ while(<CERTFILE>){
+ s/#.*//; # ignore comments by erasing them
+ next if /^(\s)*$/; # skip blank lines
+ chomp; # remove trailing newline characters
+ my @certinfo = split(';', $_); # split row to certinfo
+
+ # Trim spaces
+ for(@certinfo) {
+ s/^\s+//;
+ s/\s+$//;
+ }
+
+ # Do some validation
+ unless(scalar(@certinfo) >= 2 && scalar(@certinfo) <= 3 && length($certinfo[0]) && length($certinfo[1]) ) {
+ print "\nError: $certfile line '$_' does not contain valid information!\n";
+ Usage();
+ }
+
+ push @certificates, [@certinfo]; # push data to two dimensional array
+ }
+}
+
# Remove any existing .sis packages
unlink $unsigned_sis_name;
unlink $signed_sis_name;
@@ -180,15 +234,27 @@ if ($preprocessonly) {
exit;
}
-# Create and sign SIS
+# Create SIS.
system ("makesis $pkgoutput $unsigned_sis_name");
+
+# Sign SIS with certificate info given as an argument.
system ("signsis $unsigned_sis_name $signed_sis_name $certificate $key $passphrase");
# Check if creating signed SIS Succeeded
stat($signed_sis_name);
if( -e _ ) {
- print ("\nSuccessfully created $signed_sis_name using certificate $certtext!\n");
+ print ("\nSuccessfully created $signed_sis_name using certificate: $certtext!\n");
+ # Sign with additional certificates & keys
+ for my $row ( @certificates ) {
+ # Get certificate absolute file names, relative paths are relative to certfilepath
+ my $abscert = File::Spec->rel2abs( $row->[0], $certfilepath);
+ my $abskey = File::Spec->rel2abs( $row->[1], $certfilepath);
+
+ system ("signsis $signed_sis_name $signed_sis_name $abscert $abskey $row->[2]");
+ print ("\tAdditionally signed the SIS with certificate: $row->[0]!\n");
+ }
+
# remove temporary pkg and unsigned sis
unlink $pkgoutput;
unlink $unsigned_sis_name;
diff --git a/bin/patch_capabilities.pl b/bin/patch_capabilities.pl
index 8140207..2fcf703 100644
--- a/bin/patch_capabilities.pl
+++ b/bin/patch_capabilities.pl
@@ -2,6 +2,7 @@
#############################################################################
##
## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## All rights reserved.
## Contact: Nokia Corporation (qt-info@nokia.com)
##
## This file is part of the S60 port of the Qt Toolkit.
@@ -21,10 +22,9 @@
## ensure the GNU Lesser General Public License version 2.1 requirements
## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
##
-## In addition, as a special exception, Nokia gives you certain
-## additional rights. These rights are described in the Nokia Qt LGPL
-## Exception version 1.1, included in the file LGPL_EXCEPTION.txt in this
-## package.
+## In addition, as a special exception, Nokia gives you certain additional
+## rights. These rights are described in the Nokia Qt LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
##
## If you have questions regarding the use of this file, please contact
## Nokia at qt-info@nokia.com.
diff --git a/bin/setcepaths.bat b/bin/setcepaths.bat
index ebed731..15d8ff8 100755
--- a/bin/setcepaths.bat
+++ b/bin/setcepaths.bat
@@ -1,6 +1,7 @@
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+:: All rights reserved.
:: Contact: Nokia Corporation (qt-info@nokia.com)
::
:: This file is part of the tools applications of the Qt Toolkit.
@@ -20,10 +21,9 @@
:: ensure the GNU Lesser General Public License version 2.1 requirements
:: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
::
-:: In addition, as a special exception, Nokia gives you certain
-:: additional rights. These rights are described in the Nokia Qt LGPL
-:: Exception version 1.1, included in the file LGPL_EXCEPTION.txt in this
-:: package.
+:: In addition, as a special exception, Nokia gives you certain additional
+:: rights. These rights are described in the Nokia Qt LGPL Exception
+:: version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
::
:: If you have questions regarding the use of this file, please contact
:: Nokia at qt-info@nokia.com.
diff --git a/bin/syncqt.bat b/bin/syncqt.bat
index a619b92..43dff5e 100755
--- a/bin/syncqt.bat
+++ b/bin/syncqt.bat
@@ -1,6 +1,7 @@
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+:: All rights reserved.
:: Contact: Nokia Corporation (qt-info@nokia.com)
::
:: This file is part of the tools applications of the Qt Toolkit.
@@ -20,10 +21,9 @@
:: ensure the GNU Lesser General Public License version 2.1 requirements
:: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
::
-:: In addition, as a special exception, Nokia gives you certain
-:: additional rights. These rights are described in the Nokia Qt LGPL
-:: Exception version 1.1, included in the file LGPL_EXCEPTION.txt in this
-:: package.
+:: In addition, as a special exception, Nokia gives you certain additional
+:: rights. These rights are described in the Nokia Qt LGPL Exception
+:: version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
::
:: If you have questions regarding the use of this file, please contact
:: Nokia at qt-info@nokia.com.