diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/vyos/system/image.py | 10 | ||||
| -rw-r--r-- | python/vyos/version.py | 4 | 
2 files changed, 9 insertions, 5 deletions
diff --git a/python/vyos/system/image.py b/python/vyos/system/image.py index ba9a6dfa7..aae52e770 100644 --- a/python/vyos/system/image.py +++ b/python/vyos/system/image.py @@ -18,8 +18,9 @@ from re import compile as re_compile  from functools import wraps  from tempfile import TemporaryDirectory  from typing import TypedDict +from json import loads -from vyos import version +from vyos.defaults import directories  from vyos.system import disk, grub  # Define variables @@ -201,9 +202,12 @@ def get_running_image() -> str:      if running_image_result:          running_image: str = running_image_result.groupdict().get(              'image_version', '') -    # we need to have a fallback for live systems +    # we need to have a fallback for live systems: +    # explicit read from version file      if not running_image: -        running_image: str = version.get_version() +        json_data: str = Path(directories['data']).joinpath('version.json').read_text() +        dict_data: dict = loads(json_data) +        running_image: str = dict_data['version']      return running_image diff --git a/python/vyos/version.py b/python/vyos/version.py index 47a10e201..86e96d0ec 100644 --- a/python/vyos/version.py +++ b/python/vyos/version.py @@ -33,11 +33,11 @@ import os  import requests  import vyos.defaults +from vyos.system.image import is_live_boot  from vyos.utils.file import read_file  from vyos.utils.file import read_json  from vyos.utils.process import popen -from vyos.utils.process import run  from vyos.utils.process import DEVNULL  version_file = os.path.join(vyos.defaults.directories['data'], 'version.json') @@ -85,7 +85,7 @@ def get_full_version_data(fname=version_file):      # In installed images, the squashfs image file is named after its image version,      # while on livecd it's just "filesystem.squashfs", that's how we tell a livecd boot      # from an installed image -    if run(""" grep -e '^overlay.*/filesystem.squashfs' /proc/mounts >/dev/null """) == 0: +    if is_live_boot():          boot_via = "livecd"      else:          boot_via = "installed image"  | 
