#!/usr/bin/env python3 import os, sys, yaml R = "/var/lib/pagan-sync/recipes" def patch(path, old, new): fp = os.path.join(R, path) s = open(fp, encoding="utf-8").read() if old not in s: print(f"FAIL: pattern not found in {path}") sys.exit(1) s = s.replace(old, new, 1) open(fp, "w", encoding="utf-8").write(s) yaml.safe_load(s) print(f"OK: {path}") patch("core/efivar/PAGBUILD.yaml", """source: - efivar-${pkgver}.patch - 'https://github.com/rhboot/efivar/archive/refs/tags/${pkgver}.tar.gz' """, """source: - 'https://github.com/rhboot/efivar/archive/refs/tags/${pkgver}.tar.gz' """) patch("core/efivar/PAGBUILD.yaml", """ cd ${pkgname}-${pkgver} patch -Np1 -i ../efivar-${pkgver}.patch make ERRORS='' all """, """ cd ${pkgname}-${pkgver} make ERRORS='' all """) patch("utils/benchmark/PAGBUILD.yaml", " -DBENCHMARK_ENABLE_GTEST_TESTS=OFF \\", " -DBENCHMARK_ENABLE_GTEST_TESTS=OFF \\\n -DBENCHMARK_ENABLE_TESTING=OFF \\") patch("core/gmp/PAGBUILD.yaml", """ cp -v configfsf.guess config.guess cp -v configfsf.sub config.sub """, """ cp -v configfsf.guess config.guess cp -v configfsf.sub config.sub CFLAGS+=' -std=gnu17' """) print("ALL DONE")