sysutils/py-salt: fix the efi grain on FreeBSD

The logic to detect whether we booted from EFI only worked on Linux and
Apple, AFAICT.
This commit is contained in:
Alan Somers 2022-11-09 15:19:02 -07:00 committed by Daniel Wozniak
parent a87238ec28
commit 1aff51676b

View file

@ -81,14 +81,25 @@ def __secure_boot(efivars_dir):
def uefi():
"""Populate UEFI grains."""
efivars_dir = next(
filter(os.path.exists, ["/sys/firmware/efi/efivars", "/sys/firmware/efi/vars"]),
None,
)
grains = {
"efi": bool(efivars_dir),
"efi-secure-boot": __secure_boot(efivars_dir) if efivars_dir else False,
}
if salt.utils.platform.is_freebsd():
grains = {
"efi": os.path.exists("/dev/efi"),
# Needs a contributor with a secure boot system to implement this
# part.
"efi-secure-boot": False,
}
else:
# Works on Linux and Apple ?
efivars_dir = next(
filter(
os.path.exists, ["/sys/firmware/efi/efivars", "/sys/firmware/efi/vars"]
),
None,
)
grains = {
"efi": bool(efivars_dir),
"efi-secure-boot": __secure_boot(efivars_dir) if efivars_dir else False,
}
return grains