On 10/4/25 07:42, Mark Johnston wrote:
On Fri, Oct 03, 2025 at 07:57:31PM -0500, Kyle Evans wrote:
On 10/3/25 17:45, Mark Johnston wrote:
On Fri, Oct 03, 2025 at 04:44:38PM -0500, Kyle Evans wrote:
On 10/3/25 16:39, Mark Johnston wrote:
On Fri, Oct 03, 2025 at 06:10:35PM +0000, Kyle Evans wrote:
The branch main has been updated by kevans:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=1953a12ee2cde1afacb3e3f7612d89695c96e04f

commit 1953a12ee2cde1afacb3e3f7612d89695c96e04f
Author:     Kyle Evans <[email protected]>
AuthorDate: 2025-10-03 18:09:03 +0000
Commit:     Kyle Evans <[email protected]>
CommitDate: 2025-10-03 18:09:14 +0000

       flua: support our flua modules in the bootstrap flua
       This version builds every module into the flua binary itself, since all
       of the bootstrap tools are built -DNO_SHARED.  As a result, we also
       cannot dlsym(), so we can't really discover the names of our newly
       builtin modules.  Instead, just build out a linker set with all of our
       luaopen_*() functions to register everything up-front.
       Building in all of the modules isn't strictly necessary, but it means
       that we have an example of how to add a bootstrap module everywhere you
       go and one doesn't need to consider whether bootstrap flua can use a
       module when writing scripts.  On my build machine, the consequence on
       our binary size is an increase from around 1.6M -> 1.9M, which isn't
       really that bad.
       .lua modules can install into their usual path below $WORLDTMP/legacy
       and we'll pick them up automagically by way of the ctor that sets up
       LUA_PATH early on.
       Reviewed by:    bapt, emaste
       Differential Revision:  https://reviews.freebsd.org/D51890

This breaks cross-building from other OSes since linker.h and kenv.h
aren't available.  I guess we can safely exclude those from the
bootstrap build?  It could be done conditionally on ${.MAKE.OS} perhaps,
but it's probably better to be consistent.

Hi,

Hmm, yes- I think excluding libfreebsd and libjail doesn't make it much more
difficult to reason about what's available in the bootstrap flua.

re: cross-builds, yikes- I forgot that we'll end up bootstrapping flua there.  I
bet it's also broken without libyaml and libucl here: 
https://reviews.freebsd.org/D52894?

I don't see any bootstrap build failures in an Ubuntu chroot after I
disable building libfreebsd.  Let me know if you'd like me to submit a
patch for that.

I backed all of it out for the time being, because testing with the github jobs 
pointed out
something funky[0] with the <sys/linker_set.h> for mach-o, and I don't want to 
stand in the
way of breaking cross-builds for this at the moment.

Thanks!  On the latest main I do see some test failures from nuageinit,
which I presume are fallout from the changes.  For instance:


Hi,

I moved lposix back into flua for now; I forgot / failed to notice that the 
require model
for lposix was a lot more complicated.  The other two builtins are more 
trivial, so I left
those out and just fixed the one place I found (in nuageinit) where we 
accidentally
referenced them without an appropriate require().

Some of the nuageinit network tests fail locally, but seems unrelated as 
they're dumping
out some of my host configuration:

===> nuageinit:config2_network_static_v4
Result:     failed: atf-check failed; see the output of the test for details
Start time: 2025-10-04T14:05:37.210330Z
End time:   2025-10-04T14:05:37.528481Z
Duration:   0.318s
[...]

Standard output:
Executing command [ /usr/libexec/nuageinit 
/tmp/kyua.Vhgb9a/25/work/media/nuageinit nocloud ]
Executing command [ cat /tmp/kyua.Vhgb9a/25/work/etc/rc.conf.d/network ]

Standard error:
Fail: stdout does not match golden output
--- network     2025-10-04 14:05:39.331660000 +0000
+++ /tmp/kyua.Vhgb9a/25/work/check.MPF2Ag/stdout        2025-10-04 
14:05:39.355412000 +0000
@@ -1,4 +1,4 @@
-ifconfig_ue0="inet 192.0.2.2/24"
-ifconfig_ue0_ipv6="inet6 2001:db8::2/64"
-ipv6_network_interfaces="ue0"
-ipv6_default_interface="ue0"
+ifconfig_bridge0="inet 192.0.2.2/24"
+ifconfig_bridge0_ipv6="inet6 2001:db8::2/64"
+ipv6_network_interfaces="bridge0"
+ipv6_default_interface="bridge0"
Files left in work directory after failure: etc, home, media, network, routing, 
var
===> Failed tests
nuageinit:config2_network  ->  failed: atf-check failed; see the output of the 
test for details  [0.317s]
nuageinit:config2_network_static_v4  ->  failed: atf-check failed; see the 
output of the test for details  [0.318s]
nuageinit:nocloud_network  ->  failed: atf-check failed; see the output of the 
test for details  [0.336s]


Reply via email to