Re: make RELEASE (here: kernel): template.ucl: line: 33, column: 0 - 'key must begin with a letter', character: '.'

From: Lexi Winter <ivy_at_freebsd.org>
Date: Sun, 05 Apr 2026 22:48:08 UTC
A FreeBSD User wrote in <20260405152059.6fa98991@thor.sb211.local>:
> --- create-packages-kernel ---
> /pool/sources/CURRENT/src/release/packages/generate-ucl.lua: fail to
> parse(/pool/sources/CURRENT/src/release/packages/template.ucl): error while parsing
> /pool/sources/CURRENT/src/release/packages/template.ucl: line: 33, column: 0 - 'key must begin
> with a letter', character: '.' *** [create-kernel-packages-extra-flavor-default-GENERIC] Error
> code 1

this was broken by the libucl update (abda442d92fd) which disables
macros in the Lua UCL parser by default.

please try this patch:

diff --git a/release/packages/generate-set-ucl.lua b/release/packages/generate-set-ucl.lua
index 9ba7026b75df..7a1cddda7be1 100755
--- a/release/packages/generate-set-ucl.lua
+++ b/release/packages/generate-set-ucl.lua
@@ -16,7 +16,7 @@ substituted as UCL variables.
 local ucl = require("ucl")

 -- This parser is the output UCL we want to build.
-local parser = ucl.parser()
+local parser = ucl.parser(0)

 if #arg < 1 then
        io.stderr:write(arg[0] .. ": missing template filename\n")
diff --git a/release/packages/generate-ucl.lua b/release/packages/generate-ucl.lua
index 19a9a95d5d38..aaaa4375dd4d 100755
--- a/release/packages/generate-ucl.lua
+++ b/release/packages/generate-ucl.lua
@@ -124,7 +124,7 @@ local pkgprefix = nil
 local pkgversion = nil

 -- This parser is the output UCL we want to build.
-local parser = ucl.parser()
+local parser = ucl.parser(0)

 -- Set any $VARIABLES from the command line in the parser.  This causes ucl to
 -- automatically replace them when we load the source ucl.