fix(os): use NAME directly, avoid double 'GNU/Linux'
All checks were successful
Build and Release .deb / build-deb (push) Successful in 21s
All checks were successful
Build and Release .deb / build-deb (push) Successful in 21s
- NAME already contains 'Debian GNU/Linux', don't append it again - With DEBIAN_VERSION_FULL: NAME + DEBIAN_VERSION_FULL + (codename) - Without: NAME + VERSION_ID + (codename) - Fixes duplication bug
This commit is contained in:
parent
c1f462d209
commit
721e677fa6
1 changed files with 13 additions and 26 deletions
|
|
@ -148,40 +148,27 @@ def scan_os(target: Target) -> str:
|
||||||
line = line.strip()
|
line = line.strip()
|
||||||
if "=" in line:
|
if "=" in line:
|
||||||
key, val = line.split("=", 1)
|
key, val = line.split("=", 1)
|
||||||
# Supprimer les guillemets
|
|
||||||
val = val.strip().strip('"').strip("'")
|
val = val.strip().strip('"').strip("'")
|
||||||
os_data[key] = val
|
os_data[key] = val
|
||||||
|
|
||||||
# 2. Extraire les champs
|
# 2. Extraire les champs
|
||||||
version_id = os_data.get("DEBIAN_VERSION_FULL", "")
|
name = os_data.get("NAME", "")
|
||||||
if not version_id:
|
|
||||||
version_id = os_data.get("VERSION", "")
|
|
||||||
if not version_id:
|
|
||||||
version_id = os_data.get("VERSION_ID", "")
|
|
||||||
|
|
||||||
codename = os_data.get("VERSION_CODENAME", "")
|
codename = os_data.get("VERSION_CODENAME", "")
|
||||||
pretty_name = os_data.get("PRETTY_NAME", "")
|
debian_version_full = os_data.get("DEBIAN_VERSION_FULL", "")
|
||||||
os_name = os_data.get("NAME", "")
|
version_id = os_data.get("VERSION_ID", "")
|
||||||
|
|
||||||
# 3. Fallback sur /etc/debian_version si tout vide
|
# 3. Construire le libellé final
|
||||||
if not version_id:
|
# Avec DEBIAN_VERSION_FULL : NAME DEBIAN_VERSION_FULL (VERSION_CODENAME)
|
||||||
ok, ver_out, _ = run_cmd(prefix + ["cat", "/etc/debian_version"], timeout=30)
|
# Sans : NAME VERSION_ID (VERSION_CODENAME)
|
||||||
version_id = ver_out.strip() if ok else ""
|
version = debian_version_full if debian_version_full else version_id
|
||||||
|
|
||||||
# 4. Fallback sur lsb_release pour le nom
|
if name and version and codename:
|
||||||
if not os_name:
|
return f"{name} {version} ({codename})"
|
||||||
ok, name_out, _ = run_cmd(prefix + ["lsb_release", "-is"], timeout=30)
|
if name and version:
|
||||||
os_name = name_out.strip() if ok else ""
|
return f"{name} {version}"
|
||||||
|
|
||||||
if not os_name and pretty_name:
|
# Fallback : PRETTY_NAME ou "OS inconnu"
|
||||||
return pretty_name
|
return os_data.get("PRETTY_NAME", "OS inconnu")
|
||||||
if not os_name or not version_id:
|
|
||||||
return pretty_name if pretty_name else "OS inconnu"
|
|
||||||
|
|
||||||
# Construire le libellé final
|
|
||||||
if codename:
|
|
||||||
return f"{os_name} GNU/Linux {version_id} ({codename})"
|
|
||||||
return f"{os_name} GNU/Linux {version_id}"
|
|
||||||
|
|
||||||
|
|
||||||
def ensure_debsecan_installed(is_host: bool, vmid: str = "") -> tuple[bool, str]:
|
def ensure_debsecan_installed(is_host: bool, vmid: str = "") -> tuple[bool, str]:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue