From d5eb2f20457748bb1f053f6e5556960fa26b328d Mon Sep 17 00:00:00 2001 From: KenwoodFox Date: Tue, 30 Jun 2026 15:34:09 -0400 Subject: [PATCH] more patches --- autopackage.py | 31 ++++++++++++++++++--- plezy/0002-inproc-skip-crashpad-chmod.patch | 15 ++++++++++ 2 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 plezy/0002-inproc-skip-crashpad-chmod.patch diff --git a/autopackage.py b/autopackage.py index bfc6e67..f2ca127 100644 --- a/autopackage.py +++ b/autopackage.py @@ -131,6 +131,7 @@ def prepare_build_dir(pkg_src: Path, build_dir: Path, cfg: Config) -> None: dry_run=cfg.dry_run) patches: List[str] = [] + source_patches: List[str] = [] for src in package_files(pkg_src): if src.suffix in PATCH_SUFFIXES: patches.append(src.name) @@ -142,10 +143,32 @@ def prepare_build_dir(pkg_src: Path, build_dir: Path, cfg: Config) -> None: continue shutil.copy2(src, build_dir / src.name) - if patches and not cfg.dry_run: - wire_source_patches(build_dir / "PKGBUILD", patches) - elif patches and cfg.dry_run: - print(f"+ wire patches into {build_dir / 'PKGBUILD'}: {', '.join(patches)}") + if cfg.dry_run: + if patches: + print(f"+ apply packaging patches (if any), wire rest into PKGBUILD") + return + + for patch in patches: + path = build_dir / patch + if apply_packaging_patch(path, build_dir): + print(f" packaging patch applied: {patch}") + else: + source_patches.append(patch) + + if source_patches: + wire_source_patches(build_dir / "PKGBUILD", source_patches) + + +def apply_packaging_patch(patch: Path, build_dir: Path) -> bool: + """Apply a patch to the AUR packaging tree (PKGBUILD etc.), if it fits.""" + check = subprocess.run( + ["git", "apply", "--check", "--whitespace=nowarn", str(patch)], + cwd=str(build_dir), stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, + ) + if check.returncode != 0: + return False + run(["git", "apply", "--whitespace=nowarn", str(patch)], cwd=build_dir) + return True def wire_source_patches(pkgbuild: Path, patches: List[str]) -> None: diff --git a/plezy/0002-inproc-skip-crashpad-chmod.patch b/plezy/0002-inproc-skip-crashpad-chmod.patch new file mode 100644 index 0000000..d319f19 --- /dev/null +++ b/plezy/0002-inproc-skip-crashpad-chmod.patch @@ -0,0 +1,15 @@ +diff --git a/PKGBUILD b/PKGBUILD +index 1111111..2222222 100644 +--- a/PKGBUILD ++++ b/PKGBUILD +@@ -63,7 +63,9 @@ package() { + install -Dm755 "build/linux/${FLUTTER_ARCH}/release/bundle/$pkgname" -t \ + "$pkgdir/opt/$pkgname/" + cp -a build/linux/${FLUTTER_ARCH}/release/bundle/{data,lib} "$pkgdir/opt/$pkgname/" +- chmod 0755 "$pkgdir/opt/$pkgname/lib/crashpad_handler" ++ if [[ -f "$pkgdir/opt/$pkgname/lib/crashpad_handler" ]]; then ++ chmod 0755 "$pkgdir/opt/$pkgname/lib/crashpad_handler" ++ fi + + install -Dm755 "linux/packaging/$pkgname.sh" "$pkgdir/usr/bin/$pkgname" + install -Dm644 "linux/packaging/com.edde746.$pkgname.desktop" -t \