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


Reply via email to