mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-07-31 18:19:40 +00:00
fix(template): fall back to $::XCATROOT when XCATROOT is not in %ENV
envvar() resolves a template variable purely from %ENV, so a template that
references $XCATROOT expands to an empty string whenever XCATROOT is not
present in the environment of the process doing the substitution. $::XCATROOT
is set as a package global at module load and is reliably available, so use it
for that one variable before falling back to %ENV.
Recovered from the unmerged lenovobuild branch (original da72c6b8).
Co-authored-by: Jarrod Johnson <10814490+jjohnson42@users.noreply.github.com>
This commit is contained in:
@@ -1617,6 +1617,10 @@ sub envvar
|
||||
$envvar =~ s/^\$//;
|
||||
}
|
||||
|
||||
# $XCATROOT is reliably set as a package global even when it is absent from
|
||||
# %ENV, so a template referencing it does not expand to undef.
|
||||
if ($envvar eq 'XCATROOT') { return $::XCATROOT; }
|
||||
|
||||
return ($ENV{$envvar});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user