diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2017-02-11 22:38:54 +0100 |
---|---|---|
committer | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2017-02-11 22:38:54 +0100 |
commit | 530288f5a725848bb899636665ea3f14f9398fad (patch) | |
tree | 097879192b3926c5c6503b058d3582d680110bfc /tools/releasetools/sign_zip.py | |
parent | 34b65b9553c9395846ae1bbe186be2667139db79 (diff) | |
parent | fafb7e2a14706f75bd76aca21c1c7d695f938ed3 (diff) | |
download | build-530288f5a725848bb899636665ea3f14f9398fad.zip build-530288f5a725848bb899636665ea3f14f9398fad.tar.gz build-530288f5a725848bb899636665ea3f14f9398fad.tar.bz2 |
Merge branch 'cm-13.0' of https://github.com/LineageOS/android_build into replicant-6.0
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
Diffstat (limited to 'tools/releasetools/sign_zip.py')
-rwxr-xr-x | tools/releasetools/sign_zip.py | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/tools/releasetools/sign_zip.py b/tools/releasetools/sign_zip.py new file mode 100755 index 0000000..c40b1b4 --- /dev/null +++ b/tools/releasetools/sign_zip.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python +# +# Copyright (C) 2017 The LineageOS Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +Signs the given zip with the given key producing a new zip. + +Usage: sign_release_zip [flags] input_zip output_zip + + -k (--package_key) <key> Key to use to sign the package (default is + "build/target/product/security/testkey"). +""" +import sys + +import common + +OPTIONS = common.OPTIONS + +OPTIONS.package_key = "build/target/product/security/testkey" + +def SignOutput(input_zip_name, output_zip_name): + key_passwords = common.GetKeyPasswords([OPTIONS.package_key]) + pw = key_passwords[OPTIONS.package_key] + + common.SignFile(input_zip_name, output_zip_name, OPTIONS.package_key, pw, + whole_file=True) + + +def main(argv): + + def option_handler(o, a): + if o in ("-k", "--package_key"): + OPTIONS.package_key = a + else: + return False + return True + + args = common.ParseOptions(argv, __doc__, + extra_opts="k:", + extra_long_opts=[ + "package_key=", + ], extra_option_handler=option_handler) + if len(args) != 2: + common.Usage(__doc__) + sys.exit(1) + + SignOutput(args[0], args[1]) + + +if __name__ == '__main__': + try: + main(sys.argv[1:]) + except common.ExternalError as e: + print() + print(" ERROR: %s" % e) + print() + sys.exit(1) |