diff --git a/osbuild/util/ostree.py b/osbuild/util/ostree.py index 875d9b90..88e0501c 100644 --- a/osbuild/util/ostree.py +++ b/osbuild/util/ostree.py @@ -125,3 +125,17 @@ def rev_parse(repo: PathLike, ref: str) -> str: raise RuntimeError(msg) return msg + + +def deployment_path(root: PathLike, osname: str, ref: str, serial: int): + """Return the path to a deployment given the parameters""" + + base = os.path.join(root, "ostree") + + repo = os.path.join(base, "repo") + stateroot = os.path.join(base, "deploy", osname) + + commit = rev_parse(repo, ref) + sysroot = f"{stateroot}/deploy/{commit}.{serial}" + + return sysroot