diff options
author | Martin Sivak <msivak@redhat.com> | 2008-04-09 17:24:42 +0200 |
---|---|---|
committer | Martin Sivak <msivak@redhat.com> | 2008-04-09 17:24:42 +0200 |
commit | 1ad96f2420b30cc6444dba10324b65d9542a9bd2 (patch) | |
tree | b8698096fd59424cf5619b67d5fa4afa8068f872 | |
parent | 73e45b94b601d526b9a3680e8a51d6321ea741be (diff) | |
download | firstaidkit-1ad96f2420b30cc6444dba10324b65d9542a9bd2.tar.gz firstaidkit-1ad96f2420b30cc6444dba10324b65d9542a9bd2.tar.xz firstaidkit-1ad96f2420b30cc6444dba10324b65d9542a9bd2.zip |
Use config bits mechanism to look for anaconda and booty and then translate system device names to grub notation in Grub plugin
-rw-r--r-- | etc/firstaidkit/firstaidkit-plugin-grub | 6 | ||||
-rw-r--r-- | plugins/plugin_grub.py | 13 |
2 files changed, 16 insertions, 3 deletions
diff --git a/etc/firstaidkit/firstaidkit-plugin-grub b/etc/firstaidkit/firstaidkit-plugin-grub new file mode 100644 index 0000000..dac6587 --- /dev/null +++ b/etc/firstaidkit/firstaidkit-plugin-grub @@ -0,0 +1,6 @@ +[booty] +path = /usr/lib/booty + +[anaconda] +path = /usr/lib/anaconda + diff --git a/plugins/plugin_grub.py b/plugins/plugin_grub.py index 532604a..7270932 100644 --- a/plugins/plugin_grub.py +++ b/plugins/plugin_grub.py @@ -18,12 +18,18 @@ from pyfirstaidkit.plugins import Plugin,Flow from pyfirstaidkit.reporting import PLUGIN from pyfirstaidkit.returns import * -from pyfirstaidkit.configuration import Config +from pyfirstaidkit.configuration import Config,getConfigBits from pyfirstaidkit.utils import spawnvch import os.path import difflib import re +cfgBits = getConfigBits("firstaidkit-plugin-grub") +import sys +sys.path.append(cfgBits.anaconda.path) +sys.path.append(cfgBits.booty.path) +from bootloaderInfo import x86BootloaderInfo + class Sample1Plugin(Plugin): """This plugin checks the GRUB bootloader.""" name = "GRUB plugin" @@ -32,7 +38,7 @@ class Sample1Plugin(Plugin): @classmethod def getDeps(cls): - return set(["experimental", "root", "filesystem"]) + return set(["experimental", "root", "filesystem", "arch-x86"]) def __init__(self, *args, **kwargs): Plugin.__init__(self, *args, **kwargs) @@ -44,6 +50,7 @@ class Sample1Plugin(Plugin): self._grub = [] #devices with possible grub instalation self._grub_map = {} #mapping from linux device names to grub device names self._grub_mask = re.compile("""\(hd[0-9]*,[0-9]*\)""") + self._bootloaderInfo = x86BootloaderInfo() def prepare(self): self._result=ReturnSuccess @@ -108,7 +115,7 @@ class Sample1Plugin(Plugin): for p in self._partitions: self._reporting.debug(origin = self, level = PLUGIN, message = "Reading boot sector from %s" % (p,)) bootsector = file(os.path.join("/dev", p), "r").read(512) - bootsectors[bootsector] = p + bootsectors[bootsector] = self._bootloaderInfo.grubbyPartitionName(p) for k in difflib.get_close_matches(stage1mask, bootsectors.keys()): self._reporting.info(origin = self, level = PLUGIN, message = "Installed Grub probably found at %s" % (bootsectors[k],)) |