The new world may use system calls that are not in the currently-running kernel, so we cannot chroot into the new environment to run `make installworld`, `etcupdate`, etc. Partially revert commit 16702050ac95 ("beinstall: perform pre-installworld steps") and switch back to using DESTDIR for installworld and so on.
Details
Diff Detail
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
Fix the first check, but still failing at the end of the process:
-------------------------------------------------------------- >>> Installing everything completed on Wed Jun 4 15:42:29 CEST 2025 >>> Install world completed in 20 seconds, ncpu: 64, make -j16 -------------------------------------------------------------- 19.52 real 45.05 user 40.78 sys Bad system call No openssl on the host, not rehashing certificates target -- /etc/ssl may not be populated. Bad system call Cleaning up ... umount -f /tmp/beinstall.o9Jmls/mnt/usr/src /tmp/beinstall.o9Jmls/mnt/usr/obj/usr/src/amd64.amd64 /tmp/beinstall.o9Jmls/mnt/dev /tmp/beinstall.o9Jmls/mnt error: etcupdate (post-world) failed!
We're not going to break the running system, but chroot ${BE_MNTPT} make installworld could be more fragile than make DESTDIR=${BE_MNTPT} installworld if there's there's ever an error in installworld's install tools handling (see ITOOLS in Makefile.inc1). DESTDIR is used for installkernel. beinstall switched to using chroot in 16702050ac953d957a42fbc498e22c95078ad689 to fix "upgrading using beinstall past the new ntpd user change".
I imagine installworld can be switched back to DESTDIR but with DB_FROM_SRC added, as is done for release artifact builds.
Previous comment crossed paths with @olivier's update -- it seems we will need to revert the chroots and use DB_FROM_SRC and the similar support in etcupdate etc., all as done for the release artifact builds.