svn commit: r329589 - head/stand/lua
Kyle Evans
kevans at FreeBSD.org
Mon Feb 19 16:59:29 UTC 2018
Author: kevans
Date: Mon Feb 19 16:59:28 2018
New Revision: 329589
URL: https://svnweb.freebsd.org/changeset/base/329589
Log:
stand/lua: Track env changes that come in via loader.conf(5)
This will be used when boot environment support lands to make a good-faith
effort to apply any new loader.conf(5) environment settings atop the default
configuration that we started with.
Modified:
head/stand/lua/config.lua
Modified: head/stand/lua/config.lua
==============================================================================
--- head/stand/lua/config.lua Mon Feb 19 16:42:06 2018 (r329588)
+++ head/stand/lua/config.lua Mon Feb 19 16:59:28 2018 (r329589)
@@ -27,9 +27,23 @@
--
local config = {};
+-- Which variables we changed
+config.env_changed = {};
+-- Values to restore env to (nil to unset)
+config.env_restore = {};
local modules = {};
+function config.setenv(k, v)
+ -- Do we need to track this change?
+ if (config.env_changed[k] == nil) then
+ config.env_changed[k] = true;
+ config.env_restore[k] = loader.getenv(k);
+ end
+
+ return loader.setenv(k, v);
+end
+
function config.setKey(k, n, v)
if (modules[k] == nil) then
modules[k] = {};
@@ -115,7 +129,7 @@ local pattern_table = {
[10] = {
str = "^%s*([%w%p]+)%s*=%s*\"([%w%s%p]-)\"%s*(.*)",
process = function(k, v)
- if (loader.setenv(k, v) ~= 0) then
+ if (config.setenv(k, v) ~= 0) then
print("Failed to set '" .. k ..
"' with value: " .. v .. "");
end
@@ -125,7 +139,7 @@ local pattern_table = {
[11] = {
str = "^%s*([%w%p]+)%s*=%s*(%d+)%s*(.*)",
process = function(k, v)
- if (loader.setenv(k, v) ~= 0) then
+ if (config.setenv(k, v) ~= 0) then
print("Failed to set '" .. k ..
"' with value: " .. v .. "");
end
More information about the svn-src-all
mailing list