Note the variability in the ARCH columns naming conventions: # poudriere jail -l JAILNAME VERSION OSVERSION ARCH METHOD TIMESTAMP PATH release-aarch64 14.2-RELEASE-p1 aarch64 pkgbase 2025-03-12 21:11:39 /usr/local/poudriere/jails/release-aarch64 release-armv7 14.2-RELEASE-p2 armv7 pkgbase 2025-03-13 21:50:17 /usr/local/poudriere/jails/release-armv7 official-aarch64 14.2-STABLE aarch64 pkgbase 2025-03-12 21:13:40 /usr/local/poudriere/jails/official-aarch64 official-armv7 14.2-STABLE armv7 pkgbase 2025-03-13 21:47:04 /usr/local/poudriere/jails/official-armv7 main-aarch64 15.0-CURRENT aarch64 pkgbase 2025-03-13 02:53:17 /usr/local/poudriere/jails/main-aarch64 main-CA76 15.0-CURRENT arm64.aarch64 null 2025-02-13 01:35:39 /usr/obj/DESTDIRs/main-CA76-poud main-CA76-bulk_a 15.0-CURRENT arm64.aarch64 null 2025-02-13 01:35:39 /usr/obj/DESTDIRs/main-CA76-poud-bulk_a main-CA7 15.0-CURRENT arm.armv7 null 2025-02-20 18:16:55 /usr/obj/DESTDIRs/main-CA7-poud main-CA7-bulk_a 15.0-CURRENT arm.armv7 null 2025-02-20 18:16:56 /usr/obj/DESTDIRs/main-CA7-poud-bulk_a main-armv7 15.0-CURRENT armv7 pkgbase 2025-03-14 22:48:11 /usr/local/poudriere/jails/main-armv7
As I remember, arm.armv7 and arm64.aarch64 did not work for setting up pkgbase METHOD poudriere-devel jails. I do not remember if using just aarch64 or armv7 would work for null these days. man 8 poudriere-jail gives no clue which notation style(s) to use: -a architecture Specify the architecture to use in the jail (for example amd64). The default is the architecture of the host. The example from the man page: # poudriere jail -c -j 120amd64 -v 12.0-RELEASE -a amd64 is not a great one for the issue because of lack of distinct naming in (from man arch in a main environment): MACHINE MACHINE_CPUARCH MACHINE_ARCH arm64 aarch64 aarch64 amd64 amd64 amd64 arm arm armv7 i386 i386 i386 powerpc powerpc powerpc, powerpcspe, powerpc64, powerpc64le riscv riscv riscv64 Including examples or documentation spanning what text is sufficient for each context of (as well): MACHINE MACHINE_CPUARCH MACHINE_ARCH arm64 aarch64 aarch64 arm arm armv6 (14.* and 13.* still have this) arm arm armv7 powerpc powerpc powerpc powerpc powerpc powerpcspe powerpc powerpc powerpc64 powerpc powerpc powerpc64le would be better. Note that powerpc basically requires MACHINE_ARCH to be involved in the text because "powerpc" is completely ambiguous overall without knowing the usage is as MACHINE_ARCH. "arm" is still ambiguous in 14.* and 13.* because of, for example, just armv6 vs. armv7 for MACHINE_ARCH in 14.* . Similarly there is the questions about when: ) MACHINE_ARCH by itself is sufficient? Required? ) MACHINE.MACHINE_ARCH is sufficient? Required? ) aarch64.aarch64 (MACHINE_CPUARCH.MACHINE_ARCH) is sufficient (if ever)? I expect that part of what is happening here is the likes of https://pkg.freebsd.org/FreeBSD:14:armv6/ having just MACHINE_ARCH involved in the naming convention used but other contexts having MACHINE.MACHINE_ARCH involved in some naming referenced in the poudriere implementation. But expecting folks to know those differences in order to know what to use on the poudriere(-devel) command line is likely unreasonable. "man poudriere-jail" and the like should be able to be referenced to get the answer for what to type for: -a architecture === Mark Millard marklmi at yahoo.com