add tool to create casync agnos updates from existing manifest (#32124)

* wip

* wip

* add agnos prefix

* add mkdir

* tool to create agnos updates
old-commit-hash: 44bb4eb521b3d0fcb00e9df5eb7c74741946ebe4
This commit is contained in:
Justin Newberry
2024-04-08 11:34:05 -07:00
committed by GitHub
parent f1a6f8b183
commit 40d1e69efd
2 changed files with 60 additions and 2 deletions
+8 -2
View File
@@ -45,11 +45,17 @@ def create_casync_tar_package(target_dir: pathlib.Path, output_path: pathlib.Pat
tar.create_tar_archive(output_path, target_dir, is_not_git)
def create_casync_from_file(file: pathlib.Path, output_dir: pathlib.Path, caibx_name: str):
caibx_file = output_dir / f"{caibx_name}.caibx"
run(["casync", "make", *CASYNC_ARGS, caibx_file, str(file)])
return caibx_file
def create_casync_release(target_dir: pathlib.Path, output_dir: pathlib.Path, caibx_name: str):
tar_file = output_dir / f"{caibx_name}.tar"
create_casync_tar_package(target_dir, tar_file)
caibx_file = output_dir / f"{caibx_name}.caibx"
run(["casync", "make", *CASYNC_ARGS, caibx_file, str(tar_file)])
caibx_file = create_casync_from_file(tar_file, output_dir, caibx_name)
tar_file.unlink()
digest = run(["casync", "digest", *CASYNC_ARGS, target_dir]).decode("utf-8").strip()
return digest, caibx_file