Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 May 2023 07:22:49 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Mark Johnston <markj@freebsd.org>
Cc:        Kyle Evans <kevans@freebsd.org>, src-committers <src-committers@freebsd.org>,  "<dev-commits-src-all@freebsd.org>" <dev-commits-src-all@freebsd.org>,  "<dev-commits-src-main@freebsd.org>" <dev-commits-src-main@freebsd.org>
Subject:   Re: git: 3cb2f5f369ec - main - lualoader: add support for .lua configuration files
Message-ID:  <CANCZdfrcggo-mto5pcGP%2B%2B1QwLGuO2RUdPs3BfG80xP4uTXHQQ@mail.gmail.com>
In-Reply-To: <ZFzrU2doEG3DZKrb@nuc>
References:  <202305110411.34B4BFEE047146@gitrepo.freebsd.org> <ZFzrU2doEG3DZKrb@nuc>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
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

>

[-- Attachment #2 --]
<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 11, 2023, 7:19 AM Mark Johnston &lt;<a href="mailto:markj@freebsd.org">markj@freebsd.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, May 11, 2023 at 04:11:15AM +0000, Kyle Evans wrote:<br>
&gt; The branch main has been updated by kevans:<br>
&gt; <br>
&gt; URL: <a href="https://cgit.FreeBSD.org/src/commit/?id=3cb2f5f369ecfd6d15aeff2b47e21866551a20de" rel="noreferrer noreferrer" target="_blank">https://cgit.FreeBSD.org/src/commit/?id=3cb2f5f369ecfd6d15aeff2b47e21866551a20de</a><br>;
&gt; <br>
&gt; commit 3cb2f5f369ecfd6d15aeff2b47e21866551a20de<br>
&gt; Author:     Kyle Evans &lt;kevans@FreeBSD.org&gt;<br>
&gt; AuthorDate: 2023-05-11 04:10:53 +0000<br>
&gt; Commit:     Kyle Evans &lt;kevans@FreeBSD.org&gt;<br>
&gt; CommitDate: 2023-05-11 04:10:53 +0000<br>
&gt; <br>
&gt;     lualoader: add support for .lua configuration files<br>
&gt;     <br>
&gt;     If a file is specified in loader_conf_files that ends in &#39;.lua&#39;, lualoader<br>
&gt;     will now load and execute that file. These may be used in place of a<br>
&gt;     traditional loader.conf to use more complicated logic, where some values<br>
&gt;     may be set based on others or based on the environment that the C bits has<br>
&gt;     left us with.<br>
&gt;     <br>
&gt;     Lua scripts are run in a limited environment. In particular, it does not get<br>
&gt;     access to any modules or, in-fact, anything except environment variable.<br>
&gt;     <br>
&gt;     A config.buildenv hook has been added so that a local module can add<br>
&gt;     whatever it may need to to the environment.<br>
&gt;     <br>
&gt;     When a global var is set in the lua script, it does not immediately alter<br>
&gt;     the loader environment. Instead, the script&#39;s environment is initially<br>
&gt;     empty and processed only if the whole script executes successfully.<br>
&gt;     Effectively, a lua configuration file either takes effect or it does not,<br>
&gt;     an error will not leave it in a half-baked state.<br>
&gt;     <br>
&gt;     Reviewed by:    bcr (manpages), imp<br>
&gt;     Differential Revision:  <a href="https://reviews.freebsd.org/D28450" rel="noreferrer noreferrer" target="_blank">https://reviews.freebsd.org/D28450</a><br>;
<br>
Should this be in RELNOTES?  It seems like a very useful feature.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Yes.... unless Kyle objects :)</div><div dir="auto"><br></div><div dir="auto">Warner</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>
help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfrcggo-mto5pcGP%2B%2B1QwLGuO2RUdPs3BfG80xP4uTXHQQ>