freebsd / poudriere

Port/Package build and test system
https://github.com/freebsd/poudriere/wiki
BSD 2-Clause "Simplified" License
379 stars 161 forks source link

poudriere jail -P only works with subversion #1057

Open igalic opened 1 year ago

igalic commented 1 year ago

Prerequisites

Describe the bug

Despite appearances, trying to patch the tree with -P, doesn't work when updating -u:

root@builder:~ # poudriere jail -u -x -P /root/776-with-typo-in-path.patch -j 14-current-armv7
[00:00:00] Error: No such patch
root@builder:~ # 

poudriere checks for the validity of the patch, but it doesn't apply it.

How to reproduce

  1. create a jail:
    poudriere jail -c -j 14-current-aarch64 -x -a arm64.aarch64 -B -b -m git+https -v main -K "GENERIC"
  2. append ASUS_AC1300 to the jail's kernel file
  3. fetch my patch to verify this KERNCONF now builds: https://patch-diff.githubusercontent.com/raw/freebsd/freebsd-src/pull/776.patch
  4. try to update the jail to prove that:
    poudriere jail -u -x -P /root/776.patch -j 14-current-armv7
  5. it fails to build, ergo, the patch didn't apply

Expected behavior

I would expect the patch to be applied (after updating the tree).

Environment

igalic commented 1 year ago

looking at the code, -P is only supported for subversion?

Why?