Revert "stand/lua: always allow overriding with local config files"

This reverts commit d3d0b73557. no mail
sent out, and the commit message was wrong.

Sponsored by:		Netflix
This commit is contained in:
Warner Losh 2024-02-02 12:01:56 -07:00
parent 30f8cb812e
commit 5fdf01dbee
5 changed files with 10 additions and 69 deletions

View File

@ -27,27 +27,6 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW:
world, or to merely disable the most expensive debugging functionality
at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
20240202:
Loader now also read configuration files listed in local_loader_conf_files.
Files listed here are the last ones read. And /boot/loader.conf.local was
moved from loader_conf_files to local_loader_conf_files leaving only
loader.conf and device.hints in loader_conf_files by default.
The following sequencing is applied:
1. Bootstrap:
/boot/defaults/loader.conf
2. Read loader_conf_files files:
/boot/device.hints
/boot/loader.conf
3. Read loader_conf_dirs files:
/boot/loader.conf.d/*.conf
4. And finally, rread local_loader_conf_files files:
/boot/loader.conf.local
20240201:
sendmail 8.18.1 has been imported and merged. This version enforces
stricter RFC compliance by default, especially with respect to line

View File

@ -13,9 +13,8 @@ exec="echo Loading /boot/defaults/loader.conf"
kernel="kernel" # /boot sub-directory containing kernel and modules
bootfile="kernel" # Kernel name (possibly absolute path)
kernel_options="" # Flags to be passed to the kernel
loader_conf_files="/boot/device.hints /boot/loader.conf"
loader_conf_files="/boot/device.hints /boot/loader.conf /boot/loader.conf.local"
loader_conf_dirs="/boot/loader.conf.d"
local_loader_conf_files="/boot/loader.conf.local"
nextboot_conf="/boot/nextboot.conf"
verbose_loading="NO" # Set to YES for verbose loader output

View File

@ -131,10 +131,6 @@ Space separated list of directories to process for configuration files.
The lua-based loader will process files with a
.Dq .conf
suffix that are placed in these directories.
Files found here are processed after the ones listed in
.Va loader_conf_files
but before the ones found in
.Va local_loader_conf_files .
.It Ar loader_conf_files
Defines additional configuration files to be processed right after the
present file.
@ -142,13 +138,6 @@ present file.
should be treated as write-only.
One cannot depend on any value remaining in the loader environment or carried
over into the kernel environment.
.It Ar local_loader_conf_files
Space separated list of additional configuration files to be processed at last,
i.e., after
.Va loader_conf_files
and
.Va loader_conf_dirs
are processed.
.It Ar product_vars
When set, must be a space separated list of environment variable names to walk
through to guess product information.
@ -285,14 +274,6 @@ default settings can be ignored.
The few of them which are important
or useful are:
.Bl -tag -width bootfile -offset indent
.It Va local_loader_conf_files
.Pq Dq /boot/loader.conf.local
Ensure
.Va loader.conf.local
can always be used to override settings from files found in
.Va loader_conf_files
and
.Va loader_conf_dirs .
.It Va bitmap_load
.Pq Dq NO
If set to
@ -474,18 +455,13 @@ It is not available in the default Forth-based loader.
.Sh FILES
.Bl -tag -width /boot/defaults/loader.conf -compact
.It Pa /boot/defaults/loader.conf
Default settings \(em do not change this file.
default settings \(em do not change this file.
.It Pa /boot/loader.conf
User defined settings.
user defined settings.
.It Pa /boot/loader.conf.lua
User defined settings written in lua.
.It Pa /boot/loader.conf.d/*.conf
User defined settings split in separate files.
.It Pa /boot/loader.conf.d/*.lua
User defined settings written in lua and split in separate files.
user defined settings written in lua.
.It Pa /boot/loader.conf.local
Machine-specific settings for sites with a common loader.conf. Allow to override
settings defined in other files.
machine-specific settings for sites with a common loader.conf.
.El
.Sh SEE ALSO
.Xr kenv 1 ,

View File

@ -630,7 +630,8 @@ function config.readConf(file, loaded_files)
return
end
local top_level = next(loaded_files) == nil -- Are we the top-level readConf?
-- We'll process loader_conf_dirs at the top-level readConf
local load_conf_dirs = next(loaded_files) == nil
print("Loading " .. file)
-- The final value of loader_conf_files is not important, so just
@ -655,7 +656,7 @@ function config.readConf(file, loaded_files)
end
end
if top_level then
if load_conf_dirs then
local loader_conf_dirs = getEnv("loader_conf_dirs")
-- If product_vars is set, it must be a list of environment variable names
@ -681,7 +682,6 @@ function config.readConf(file, loaded_files)
end
end
-- Process "loader_conf_dirs" extra-directories
if loader_conf_dirs ~= nil then
for name in loader_conf_dirs:gmatch("[%w%p]+") do
if lfs.attributes(name, "mode") ~= "directory" then
@ -700,15 +700,6 @@ function config.readConf(file, loaded_files)
::nextdir::
end
end
-- Always allow overriding with local config files, e.g.,
-- /boot/loader.conf.local.
local local_loader_conf_files = getEnv("local_loader_conf_files")
if local_loader_conf_files then
for name in local_loader_conf_files:gmatch("[%w%p]+") do
config.readConf(name, loaded_files)
end
end
end
end

View File

@ -64,13 +64,9 @@ as a configuration file
.Po e.g., as
.Pa loader.conf
.Pc
and then process files listed in the
and then processing files listed in
.Ev loader_conf_files
variable. Additionnaly, the top-level call to readConf will process files listed in the
.Ev loader_conf_dirs
and
.Ev local_loader_conf_files
variables
variable
.Po see
.Xr loader.conf 5
.Pc .