This I learned: the #FreeBSD-toolchain base package is not a toolchain to build world and kernel with.
Post
@dexter what's missing? I would probably want to fix that.
@dch Clang is building… I’ll share the list when successful or I hit too hard a wall.
I would know sooner on the Ampere but it’s tied up with the build option survey.
@dexter so in the podman world we have a FreeBSD-toolchain container. This is supposed to be sufficient to build most programs, and also FreeBSD itself.
This list of packages is https://cgit.freebsd.org/src/tree/release/tools/ and is recursive:
with a dash of grep this ends up as:
FreeBSD-base
FreeBSD-bmake
FreeBSD-certctl **
FreeBSD-clibs
FreeBSD-dma **
FreeBSD-fetch
FreeBSD-inetd **
FreeBSD-ipf **
FreeBSD-ipfw **
FreeBSD-kerberos-lib
FreeBSD-libarchive
FreeBSD-libexecinfo
FreeBSD-libucl
FreeBSD-mtree
FreeBSD-natd **
FreeBSD-netmap **
FreeBSD-openssl-lib
FreeBSD-pf **
FreeBSD-pkg-bootstrap
FreeBSD-rc
FreeBSD-runtime
FreeBSD-set-devel
FreeBSD-set-minimal-jail
FreeBSD-ssh **
FreeBSD-telnet **
FreeBSD-xz
FreeBSD-zfs **
FreeBSD-zoneinfo
** indicates we needed it for jail stuff but not strictly toolchain.
I've started this now & will report back!
@dexter yep, in an OCI jail, this is sufficient to build:
- world & kernel
- base system packages
- OCI containers
I will turn this into a post in the near future, and see if my list of unnecessary packages is indeed correct.
## gimme container
doas podman run -it --rm \
--volume /tmp:/usr/obj \
--volume /usr/src:/usr/src \
ghcr.io/freebsd/freebsd-toolchain:15.0 /bin/sh
## gimme build
#!/bin/sh -eu
umask 0022
NCPU=3.0
NOW=$(date -u +%Y%m%d-%H%M)
QUIET=' -s'
time make TARGET_ARCH=amd64 TARGET=amd64 -j${NCPU} buildworld ${QUIET}
echo DONE BW
time make TARGET_ARCH=amd64 TARGET=amd64 -j${NCPU} buildkernel ${QUIET}
echo DONE BK
PACKAGER="time make TARGET_ARCH=amd64 TARGET=amd64 -j${NCPU}"
${PACKAGER} update-packages ${QUIET}
echo DONE PKG
cd release && \
time make TARGET_ARCH=amd64 TARGET=amd64 WITH_OCIIMAGES=yes ${QUIET} oci-release
echo DONE OCI
echo DONE ALL
@dch I am logging my findings here:
https://docs.google.com/document/d/1RMYAaoZKeiLKO1zk5RxR_h-4KoxuDBaVkHj9DU-CTK4/edit
@dexter it needs the clang package as well
@emaste Plus FreeBSD-bmake FreeBSD-ctf, perhaps FreeBSD-bsdconfig, and something crypt related in FreeBSD-set-base.
Plus sources of course.