util: Add bls module

- Add functions for appending kernel parameters to the
Boot Loader Specification (BLS) as needed.

Signed-off-by: Renata Ravanelli <rravanel@redhat.com>
This commit is contained in:
Renata Ravanelli 2024-02-19 10:30:34 -03:00 committed by Tomáš Hozza
parent 2b868fbe75
commit ddf4478ea9
2 changed files with 36 additions and 19 deletions

View file

@ -7,11 +7,11 @@ the tree or in a mount.
"""
import glob
import sys
from urllib.parse import urlparse
import osbuild.api
from osbuild.util import bls
SCHEMA_2 = r"""
"options": {
@ -60,24 +60,7 @@ def main(paths, tree, options):
assert url.path.startswith("/")
bootroot = root + url.path
# There is unlikely to be more than one bls config, but just
# in case we'll iterate over them.
entries = []
for entry in glob.glob(f"{bootroot}/loader/entries/*.conf"):
entries.append(entry)
# Read in the file and then append to the options line.
with open(entry, encoding="utf8") as f:
lines = f.read().splitlines()
with open(entry, "w", encoding="utf8") as f:
for line in lines:
if line.startswith('options '):
f.write(f"{line} {' '.join(kopts)}\n")
else:
f.write(f"{line}\n")
assert len(entries) != 0
print(f"Added {','.join(kopts)} to: {','.join(entries)}")
return 0
bls.options_append(bootroot, kopts)
if __name__ == '__main__':