This commit is contained in:
Mateusz Gruszczyński committed 2026-10-22 13:03:12 +02:00
1 parent feb9d91a3d
commit 1f0daa0679
25 files changed
+174 -1035

No files matched your search

+4 -3
View File
@@ -91,7 +91,7 @@ def make_tar(dst: Path, member_name: str, payload: bytes):
os.replace(tmp, dst)
def rebuild(repo: Path, retention: int):
def rebuild(repo: Path, retention: int, repo_version: int = 1):
packages = collect_packages(repo)
if enforce_retention(packages, retention):
packages = collect_packages(repo)
@@ -111,7 +111,7 @@ def rebuild(repo: Path, retention: int):
make_tar(repo / "data.pkg", "data", data)
meta = (
'version: 1;\n'
f'version: {repo_version};\n'
'packing_format: "tar";\n'
'manifests: "packagesite.yaml";\n'
'manifests_archive: "packagesite";\n'
@@ -130,11 +130,12 @@ def main():
parser = argparse.ArgumentParser(description="Build a static FreeBSD pkg repository catalogue")
parser.add_argument("repo", type=Path, help="repository root")
parser.add_argument("--retention", type=int, default=10, help="versions kept per package/ABI; 0 disables pruning")
parser.add_argument("--repo-version", type=int, choices=(1, 2), default=1, help="pkg repository format; 2 for native FreeBSD 15")
args = parser.parse_args()
repo = args.repo.resolve()
repo.mkdir(parents=True, exist_ok=True)
rebuild(repo, args.retention)
rebuild(repo, args.retention, args.repo_version)
if __name__ == "__main__":