docker, build: T6119: use python3-tomli instead of python3-toml

for a compliant implementation ot TOML
This commit is contained in:
Daniil Baturin 2024-03-12 20:28:17 +00:00
parent ed79a9fa93
commit bbddf9d0a3
3 changed files with 14 additions and 13 deletions

View File

@ -101,6 +101,7 @@ RUN apt-get update && apt-get install -y \
python3-pip \ python3-pip \
python3-flake8 \ python3-flake8 \
python3-autopep8 \ python3-autopep8 \
python3-tomli \
yq \ yq \
debootstrap \ debootstrap \
live-build live-build

View File

@ -32,12 +32,12 @@ import functools
import json import json
try: try:
import toml import tomli
import jinja2 import jinja2
import git import git
except ModuleNotFoundError as e: except ModuleNotFoundError as e:
print(f"Cannot load a required library: {e}") print(f"Cannot load a required library: {e}")
print("Please make sure the following Python3 modules are installed: toml jinja2 git") print("Please make sure the following Python3 modules are installed: tomli jinja2 git")
import vyos_build_utils as utils import vyos_build_utils as utils
import vyos_build_defaults as defaults import vyos_build_defaults as defaults
@ -120,8 +120,8 @@ if __name__ == "__main__":
## Load the file with default build configuration options ## Load the file with default build configuration options
try: try:
with open(defaults.DEFAULTS_FILE, 'r') as f: with open(defaults.DEFAULTS_FILE, 'rb') as f:
build_defaults = toml.load(f) build_defaults = tomli.load(f)
except Exception as e: except Exception as e:
print("Failed to open the defaults file {0}: {1}".format(defaults.DEFAULTS_FILE, e)) print("Failed to open the defaults file {0}: {1}".format(defaults.DEFAULTS_FILE, e))
sys.exit(1) sys.exit(1)
@ -193,8 +193,8 @@ if __name__ == "__main__":
pre_build_config = merge_dicts({}, build_defaults) pre_build_config = merge_dicts({}, build_defaults)
flavor_config = {} flavor_config = {}
with open(make_toml_path(defaults.BUILD_FLAVORS_DIR, args["build_flavor"]), 'r') as f: with open(make_toml_path(defaults.BUILD_FLAVORS_DIR, args["build_flavor"]), 'rb') as f:
flavor_config = toml.load(f) flavor_config = tomli.load(f)
pre_build_config = merge_dicts(flavor_config, pre_build_config) pre_build_config = merge_dicts(flavor_config, pre_build_config)
## Combine configs args > flavor > defaults ## Combine configs args > flavor > defaults
@ -226,12 +226,12 @@ if __name__ == "__main__":
build_config = merge_dicts({}, build_defaults) build_config = merge_dicts({}, build_defaults)
## Load correct mix-ins ## Load correct mix-ins
with open(make_toml_path(defaults.BUILD_TYPES_DIR, pre_build_config["build_type"]), 'r') as f: with open(make_toml_path(defaults.BUILD_TYPES_DIR, pre_build_config["build_type"]), 'rb') as f:
build_type_config = toml.load(f) build_type_config = tomli.load(f)
build_config = merge_dicts(build_type_config, build_config) build_config = merge_dicts(build_type_config, build_config)
with open(make_toml_path(defaults.BUILD_ARCHES_DIR, pre_build_config["architecture"]), 'r') as f: with open(make_toml_path(defaults.BUILD_ARCHES_DIR, pre_build_config["architecture"]), 'rb') as f:
build_arch_config = toml.load(f) build_arch_config = tomli.load(f)
build_config = merge_dicts(build_arch_config, build_config) build_config = merge_dicts(build_arch_config, build_config)
## Override with flavor and then CLI arguments ## Override with flavor and then CLI arguments

View File

@ -42,7 +42,7 @@ import random
import traceback import traceback
import logging import logging
import re import re
import toml import tomli
from io import BytesIO from io import BytesIO
from io import StringIO from io import StringIO
@ -82,8 +82,8 @@ parser.add_argument('--qemu-cmd', help='Only generate QEMU launch command',
args = parser.parse_args() args = parser.parse_args()
with open('data/defaults.toml') as f: with open('data/defaults.toml', 'rb') as f:
vyos_defaults = toml.load(f) vyos_defaults = tomli.load(f)
class StreamToLogger(object): class StreamToLogger(object):
""" """