diff options
author | Mürsel Türk | 2022-10-10 22:04:19 +0200 |
---|---|---|
committer | Mürsel Türk | 2022-10-10 22:04:19 +0200 |
commit | 6426257fd0b3c5e176e2a3a29bdaa07aee0cbc0d (patch) | |
tree | 4966d5cdc7090fc9c4d1aaa06cae9741fc0c9b38 /inspect.py | |
parent | Some improvements (diff) | |
download | vm-inspector-6426257fd0b3c5e176e2a3a29bdaa07aee0cbc0d.tar.gz vm-inspector-6426257fd0b3c5e176e2a3a29bdaa07aee0cbc0d.tar.xz vm-inspector-6426257fd0b3c5e176e2a3a29bdaa07aee0cbc0d.zip |
Improve detection of used package manager
Diffstat (limited to 'inspect.py')
-rwxr-xr-x | inspect.py | 42 |
1 files changed, 18 insertions, 24 deletions
@@ -3,7 +3,6 @@ import argparse import logging import os -import re import sys from tools import libvmdk, libvslvm, lklfuse, nbdfuse, subfiles, unmount, rmdir @@ -37,13 +36,6 @@ if args.verbose: else: logging.basicConfig(level=logging.CRITICAL) -APK = re.compile(r"^(Alpine).*$") -DPKG = re.compile(r"^(Debian|Ubuntu|Linux\sMint|LMDE).*$") -PACMAN = re.compile(r"^(Arch|Manjaro).*$") -PORTAGE = re.compile(r"^(Gentoo).*$") -RPM = re.compile(r"^(CentOS|AlmaLinux|Scientific|Rocky|Oracle|openSUSE|Fedora).*$") # noqa -WIN = re.compile(r"^(Microsoft|Windows).*$") - if args.backend == "libvmdk": image_mp = libvmdk.mount(args.image) else: @@ -92,22 +84,24 @@ for k, v in fs_mps: break apps = [] -if os_name := os_info.get("name"): - for k, _ in fs_mps: - if APK.match(os_name): - apps = list_applications_apk(k) - elif DPKG.match(os_name): - apps = list_applications_dpkg(k) - elif PACMAN.match(os_name): - apps = list_applications_pacman(k) - elif PORTAGE.match(os_name): - apps = list_applications_portage(k) - elif RPM.match(os_name): - apps = list_applications_rpm(k) - elif WIN.match(os_name): - apps = list_applications_windows(k) - if apps: - break +package_manager = os_info.get("package_manager", "") +for k, _ in fs_mps: + if package_manager == "apk": + apps = list_applications_apk(k) + elif package_manager == "dpkg": + apps = list_applications_dpkg(k) + elif package_manager == "pacman": + apps = list_applications_pacman(k) + elif package_manager == "portage": + apps = list_applications_portage(k) + elif package_manager == "rpm": + apps = list_applications_rpm(k) + elif package_manager == "win": + apps = list_applications_windows(k) + else: + break + if apps: + break for k, _ in fs_mps: unmount(k) |