From bc2664f9d7d6943a1c86d417f2d0347527520e88 Mon Sep 17 00:00:00 2001 From: Marcin Bojara Date: Wed, 8 Jan 2020 10:22:33 +0100 Subject: [PATCH] dkms: add cleanupPackage --- hardware/misc/dkms/comar/pakhandler.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/hardware/misc/dkms/comar/pakhandler.py b/hardware/misc/dkms/comar/pakhandler.py index e2d4a059ca..a6a1bdf7ff 100644 --- a/hardware/misc/dkms/comar/pakhandler.py +++ b/hardware/misc/dkms/comar/pakhandler.py @@ -13,11 +13,13 @@ def get_kver(): with open("/etc/kernel/kernel") as f: return f.readline().strip() -def run_dkms(name, version, kver, arch): - os.system("dkms build -m %s -v %s -k %s -a %s" % (name, version, kver, arch)) - os.system("dkms install -m %s -v %s -k %s -a %s" % (name, version, kver, arch)) +def run_dkms(action, name, version, kver, arch): + actions = {"build": ["build", "install"], + "remove": ["uninstall", "remove"]} + for action in actions[action]: + os.system("dkms %s -m %s -v %s -k %s -a %s" % (action, name, version, kver, arch)) -def buildModules(metapath, filepath): +def check_dkms(metapath, filepath, action): if piksemel.parse(metapath).getTag("Package").getTagData("Name") == "kernel-module-headers": kver = get_kver() arch = piksemel.parse(metapath).getTag("Package").getTagData("Architecture").replace("_", "-") @@ -25,7 +27,7 @@ def buildModules(metapath, filepath): for d in os.walk("/usr/src").next()[1]: if os.path.isfile("/usr/src/%s/dkms.conf" % d): name, version = d.split("-") - run_dkms(name, version, kver, arch) + run_dkms(action, name, version, kver, arch) generate_initrd(kver) return @@ -38,15 +40,15 @@ def buildModules(metapath, filepath): version = path.split("/")[-2].split("-")[1] kver = get_kver() arch = piksemel.parse(metapath).getTag("Package").getTagData("Architecture").replace("_", "-") - run_dkms(name, version, kver, arch) + run_dkms(action, name, version, kver, arch) generate_initrd(kver) return def setupPackage(metapath, filepath): - buildModules(metapath, filepath) + check_dkms(metapath, filepath, action="build") def cleanupPackage(metapath, filepath): - pass + check_dkms(metapath, filepath, action="remove") def postCleanupPackage(metapath, filepath): pass