def sign_and_save_db_signatures(kwargs): for folder in kwargs["codesigning_folders"]: # Generate tgz temp_folder = folder + "/db" output_tgz_file = temp_folder + ".tgz" codesigning_common.check_for_tgz(temp_folder, output_tgz_file) db_file = folder + "/" + codesigning_common.DB_NAME shutil.copyfile(db_file, temp_folder + "/" + os.path.basename(db_file)) codesigning_common.create_tgz(temp_folder, output_tgz_file) # Send to server kwargs["tgzfile"] = output_tgz_file response = codesigning_common.sign_files(kwargs) if response["error"] != 0: logging.error( "Error message from server when signing codesigning DB: %s" % response["msg"]) logging.error("DB at %s" % db_file) sys.exit(codesigning_common.SERVER_ERROR) os.remove(output_tgz_file) signature_b64 = response["signatures"][0]["signature"] signature = codesigning_common.b64_decode(signature_b64) # Save to file signature_file_name = folder + "/" + codesigning_common.DB_SIG_NAME signature_file = open(signature_file_name, "w+b") signature_file.write(signature)
def create_tgzs(kwargs): # Copy files into temp_folder and then create tgzs # Check if temporary folder or tgz file exists already tar_list = [] for folder in kwargs["codesigning_folders"]: temp_folder = folder + "/tgz" output_tgz_file = temp_folder + ".tgz" codesigning_common.check_for_tgz(temp_folder, output_tgz_file) tar_list.append({"folder": temp_folder, "target": output_tgz_file}) rows = codesigning_common.read_csv(kwargs["csv"]) # Copy files into temp folders for row in rows: relative_path = row[1] absolute_path = row[2] src = os.path.join(kwargs["cwd"], relative_path) if not os.path.isfile(src): logging.warning("Cannot find file " + relative_path) continue platform = get_first_dir(relative_path) if platform == None: continue if platform == "shared": for folder in kwargs["codesigning_folders"]: temp_folder = folder + "/tgz" dst = temp_folder + absolute_path codesigning_common.copy_file(src, dst) else: temp_folder = os.path.join(kwargs["cwd"], platform) + "/.qcodesigning/tgz" dst = temp_folder + absolute_path codesigning_common.copy_file(src, dst) for tar_task in tar_list: codesigning_common.create_tgz(tar_task["folder"], tar_task["target"])
def create_tgz(kwargs): # Copy files into temp_folder and then create tgzs # Check if temporary folder or tgz file exists already temp_folder = kwargs["codesigning_folder"] + "/tgz" output_tgz_file = temp_folder + ".tgz" codesigning_common.check_for_tgz(temp_folder,output_tgz_file) rows = codesigning_common.read_csv(kwargs["csv"]) # Copy files into temp folders for row in rows: relative_path = row[1] if row[2] == "": absolute_path = relative_path else: absolute_path = row[2] src = os.path.join(kwargs["cwd"], kwargs["srcpath"]) src = src + relative_path if not os.path.isfile(src): if (kwargs["srcpath"] != kwargs["buildpath"]): src1 = os.path.join(kwargs["cwd"], kwargs["srcpath"]) src1 = src1 + relative_path if not os.path.isfile(src1): logging.warning("Cannot find file " + src) logging.warning("Cannot find file " + src1) continue else: logging.warning("Cannot find file " + src) continue dst = temp_folder + absolute_path codesigning_common.copy_file(src, dst) codesigning_common.create_tgz(temp_folder,output_tgz_file)
def create_tgz(kwargs): # Copy files into temp_folder and then create tgzs # Check if temporary folder or tgz file exists already temp_folder = kwargs["codesigning_folder"] + "/tgz" output_tgz_file = temp_folder + ".tgz" codesigning_common.check_for_tgz(temp_folder, output_tgz_file) rows = codesigning_common.read_csv(kwargs["csv"]) # Copy files into temp folders for row in rows: relative_path = row[1] if row[2] == "": absolute_path = relative_path else: absolute_path = row[2] src = os.path.join(kwargs["cwd"], kwargs["srcpath"]) src = os.path.join(src, relative_path.lstrip('/')) if not os.path.isfile(src): if (kwargs["srcpath"] != kwargs["buildpath"]): src1 = os.path.join(kwargs["cwd"], kwargs["srcpath"]) src1 = os.path.join(src1, relative_path.lstrip('/')) if not os.path.isfile(src1): logging.warning("Cannot find file " + src) logging.warning("Cannot find file " + src1) continue else: logging.warning("Cannot find file " + relative_path) continue dst = os.path.join(temp_folder, absolute_path.lstrip('/')) codesigning_common.copy_file(src, dst) codesigning_common.create_tgz(temp_folder, output_tgz_file)
def sign_and_save_db_signature(kwargs): # Generate tgz temp_folder = kwargs["codesigning_folder"] + "/db" output_tgz_file = temp_folder + ".tgz" codesigning_common.check_for_tgz(temp_folder,output_tgz_file) shutil.copyfile(kwargs["db"], temp_folder + "/" + os.path.basename(kwargs["db"])) codesigning_common.create_tgz(temp_folder, output_tgz_file) # Send to server kwargs["tgzfile"] = output_tgz_file response = codesigning_common.sign_files(kwargs) if response["error"] != 0: logging.error("Error message from server when signing codesigning DB: %s" % response["msg"]) logging.error("DB at %s" % kwargs["db"]) sys.exit(codesigning_common.SERVER_ERROR) os.remove(output_tgz_file) signature_b64 = response["signatures"][0]["signature"] signature = codesigning_common.b64_decode(signature_b64) # Save to file signature_file_name = kwargs["codesigning_folder"] + "/" + codesigning_common.DB_SIG_NAME signature_file = open(signature_file_name, "w+b") signature_file.write(signature) signature_file.close()