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

From: Warner Losh <imp_at_bsdimp.com>
Date: Thu, 11 May 2023 13:22:49 UTC
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 :)

Warner

>