Re: git: 3cb2f5f369ec - main - lualoader: add support for .lua configuration files

From: Kyle Evans <kevans_at_freebsd.org>
Date: Thu, 11 May 2023 16:17:28 UTC
On Thu, May 11, 2023 at 8:23 AM Warner Losh <imp@bsdimp.com> wrote:
>
>
>
> On Thu, May 11, 2023, 7:19 AM Mark Johnston <markj@freebsd.org> wrote:
>>
>> On Thu, May 11, 2023 at 04:11:15AM +0000, Kyle Evans wrote:
>> > The branch main has been updated by kevans:
>> >
>> > URL: https://cgit.FreeBSD.org/src/commit/?id=3cb2f5f369ecfd6d15aeff2b47e21866551a20de
>> >
>> > commit 3cb2f5f369ecfd6d15aeff2b47e21866551a20de
>> > Author:     Kyle Evans <kevans@FreeBSD.org>
>> > AuthorDate: 2023-05-11 04:10:53 +0000
>> > Commit:     Kyle Evans <kevans@FreeBSD.org>
>> > CommitDate: 2023-05-11 04:10:53 +0000
>> >
>> >     lualoader: add support for .lua configuration files
>> >
>> >     If a file is specified in loader_conf_files that ends in '.lua', lualoader
>> >     will now load and execute that file. These may be used in place of a
>> >     traditional loader.conf to use more complicated logic, where some values
>> >     may be set based on others or based on the environment that the C bits has
>> >     left us with.
>> >
>> >     Lua scripts are run in a limited environment. In particular, it does not get
>> >     access to any modules or, in-fact, anything except environment variable.
>> >
>> >     A config.buildenv hook has been added so that a local module can add
>> >     whatever it may need to to the environment.
>> >
>> >     When a global var is set in the lua script, it does not immediately alter
>> >     the loader environment. Instead, the script's environment is initially
>> >     empty and processed only if the whole script executes successfully.
>> >     Effectively, a lua configuration file either takes effect or it does not,
>> >     an error will not leave it in a half-baked state.
>> >
>> >     Reviewed by:    bcr (manpages), imp
>> >     Differential Revision:  https://reviews.freebsd.org/D28450
>>
>> Should this be in RELNOTES?  It seems like a very useful feature.
>
>
> Yes.... unless Kyle objects :)
>

Ah, yeah, that's a good idea. I wrote a pitch here:
https://reviews.freebsd.org/D40066