summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlejandro Sirgo Rica <asirgo@soleta.eu>2024-09-23 13:24:01 +0200
committerAlejandro Sirgo Rica <asirgo@soleta.eu>2024-09-25 14:35:41 +0200
commit3b40ec7918531cf60d9d4b7749d97ea3f0bf1b1f (patch)
treed2e3e6dbf7e36007228234bc991275cdc1c16bb5 /src
parent51258613cc07ca8f6def8d0d15f6152d85a4c652 (diff)
sw_inventory: consolidate os_probe logic
Reuse os_probe() function from probe.py and change the fallback case to "unknown" to prevent OS id mismatch in ogserver. The OS id mismatch causes the images to stop being associated with partitions after the /refresh command.
Diffstat (limited to 'src')
-rw-r--r--src/utils/probe.py2
-rw-r--r--src/utils/sw_inventory.py8
2 files changed, 3 insertions, 7 deletions
diff --git a/src/utils/probe.py b/src/utils/probe.py
index 6919821..2ed029b 100644
--- a/src/utils/probe.py
+++ b/src/utils/probe.py
@@ -177,4 +177,4 @@ def os_probe(mountpoint):
elif os.path.exists(winreghives):
return getwindowsversion(winreghives)
else:
- return ''
+ return 'unknown'
diff --git a/src/utils/sw_inventory.py b/src/utils/sw_inventory.py
index 5f137f2..e12b7ca 100644
--- a/src/utils/sw_inventory.py
+++ b/src/utils/sw_inventory.py
@@ -15,7 +15,7 @@ from collections import namedtuple
import hivex
-from src.utils.probe import getwindowsversion, getlinuxversion
+from src.utils.probe import os_probe
Package = namedtuple('Package', ['name', 'version'])
@@ -119,17 +119,13 @@ def _get_package_set_dpkg(dpkg_status_path):
def get_package_set(mountpoint):
dpkg_status_path = f'{mountpoint}{DPKG_STATUS_PATH}'
- winreghives = f'{mountpoint}{WINDOWS_HIVES_PATH}'
- osrelease = f'{mountpoint}{OSRELEASE_PATH}'
softwarehive = f'{mountpoint}{WINDOWS_HIVES_SOFTWARE}'
if os.path.exists(softwarehive):
pkgset = _get_package_set_windows(softwarehive)
- osname = getwindowsversion(winreghives)
elif os.path.exists(dpkg_status_path):
pkgset = _get_package_set_dpkg(dpkg_status_path)
- osname = getlinuxversion(osrelease)
else:
pkgset = set()
- osname = "unknown"
+ osname = os_probe(mountpoint)
# Legacy software inventory first element is the OS name
return [osname] + list(pkgset)