def upload_devkits(host, upload): kits = [ "frida-gum", "frida-gumjs", "frida-core", ] for kit in kits: tarball_filename = "{}-devkit-{}-{}.tar".format(kit, version, host) asset_filename = tarball_filename + ".xz" output_dir = tempfile.mkdtemp(prefix="frida-release") try: try: filenames = generate_devkit(kit, host, output_dir) except Exception as e: print("Skipping: {}".format(asset_filename)) continue subprocess.check_call(["tar", "cf", tarball_filename] + filenames, cwd=output_dir) subprocess.check_call(["xz", "-T", "0", tarball_filename], cwd=output_dir) with open(os.path.join(output_dir, asset_filename), 'rb') as f: tarball = f.read() finally: shutil.rmtree(output_dir) upload(asset_filename, "application/x-xz", tarball)
def upload_devkits(host, upload, flavor=""): kits = [ "frida-gum", "frida-gumjs", "frida-core", ] for kit in kits: if host.startswith("windows-"): asset_filename = "{}-devkit-{}-{}.exe".format(kit, version, host) asset_mimetype = "application/octet-stream" else: tarball_filename = "{}-devkit-{}-{}.tar".format(kit, version, host) asset_filename = tarball_filename + ".xz" asset_mimetype = "application/x-xz" output_dir = tempfile.mkdtemp(prefix="frida-release") try: try: filenames = generate_devkit(kit, host, flavor, output_dir) except Exception as e: print("Skipping {}: {}".format(asset_filename, e)) continue if host.startswith("windows-"): subprocess.check_call([szip, "a", "-sfx7zCon.sfx", "-r", asset_filename, "."], cwd=output_dir) else: subprocess.check_call(["tar", "cf", tarball_filename] + filenames, cwd=output_dir) subprocess.check_call(["xz", "-T", "0", tarball_filename], cwd=output_dir) with open(os.path.join(output_dir, asset_filename), 'rb') as f: asset_data = f.read() finally: shutil.rmtree(output_dir) upload(asset_filename, asset_mimetype, asset_data)
def upload_devkits(host, upload): kits = [ "frida-gum", "frida-gumjs", "frida-core", ] for kit in kits: if host.startswith("windows-"): asset_filename = "{}-devkit-{}-{}.exe".format(kit, version, host) asset_mimetype = "application/octet-stream" else: tarball_filename = "{}-devkit-{}-{}.tar".format(kit, version, host) asset_filename = tarball_filename + ".xz" asset_mimetype = "application/x-xz" output_dir = tempfile.mkdtemp(prefix="frida-release") try: try: filenames = generate_devkit(kit, host, output_dir) except Exception as e: print("Skipping {}: {}".format(asset_filename, e)) continue if host.startswith("windows-"): subprocess.check_call([szip, "a", "-sfx7zCon.sfx", "-r", asset_filename, "."], cwd=output_dir) else: subprocess.check_call(["tar", "cf", tarball_filename] + filenames, cwd=output_dir) subprocess.check_call(["xz", "-T", "0", tarball_filename], cwd=output_dir) with open(os.path.join(output_dir, asset_filename), 'rb') as f: asset_data = f.read() finally: shutil.rmtree(output_dir) upload(asset_filename, asset_mimetype, asset_data)