From 43eda8730e50ad66a3fa36e3855ca7332d3e518c Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: Apr 29 2015 18:09:20 +0000 Subject: Pass the config object into the multilib method objects. --- diff --git a/mash/__init__.py b/mash/__init__.py index 27cdc47..77957b5 100644 --- a/mash/__init__.py +++ b/mash/__init__.py @@ -456,14 +456,16 @@ class Mash: do_multi = self.config.multilib try: - method = { 'base' : multilib.MultilibMethod, - 'devel' : multilib.DevelMultilibMethod, - 'file' : multilib.FileMultilibMethod, - 'kernel' : multilib.KernelMultilibMethod, - 'yaboot' : multilib.YabootMultilibMethod, - 'all' : multilib.AllMultilibMethod, - 'none' : multilib.NoMultilibMethod, - 'runtime' : multilib.RuntimeMultilibMethod}[self.config.multilib_method](self.config.multilib_file) + method = { + 'base' : multilib.MultilibMethod, + 'devel' : multilib.DevelMultilibMethod, + 'file' : multilib.FileMultilibMethod, + 'kernel' : multilib.KernelMultilibMethod, + 'yaboot' : multilib.YabootMultilibMethod, + 'all' : multilib.AllMultilibMethod, + 'none' : multilib.NoMultilibMethod, + 'runtime' : multilib.RuntimeMultilibMethod + }[self.config.multilib_method](self.config) except KeyError: self.logger.error("Invalid multilib method %s" % (self.config.multilib_method,)) do_multi = False diff --git a/mash/multilib.py b/mash/multilib.py index f2594b0..57f53f8 100644 --- a/mash/multilib.py +++ b/mash/multilib.py @@ -14,7 +14,7 @@ from fnmatch import fnmatch class MultilibMethod: - def __init__(self, dummy): + def __init__(self, config): self.name = 'base' def select(self, po): prefer_64 = [ 'gdb', 'frysk', 'systemtap', 'systemtap-runtime', 'ltrace', 'strace' ] @@ -28,21 +28,22 @@ class MultilibMethod: return False class NoMultilibMethod: - def __init__(self, dummy): + def __init__(self, config): self.name = 'none' - + def select(self, po): return False class AllMultilibMethod(MultilibMethod): - def __init__(self, dummy): + def __init__(self, config): self.name = 'all' - + def select(self, po): return True class FileMultilibMethod(MultilibMethod): - def __init__(self, file): + def __init__(self, config): + file = config.multilib_file self.name = 'file' self.list = [] if file: @@ -61,8 +62,9 @@ class FileMultilibMethod(MultilibMethod): return False class KernelMultilibMethod: - def __init__(self, dummy): + def __init__(self, config): self.name = 'base' + def select(self, po): if po.arch.find('64') != -1: if po.name.startswith('kernel'): @@ -72,8 +74,9 @@ class KernelMultilibMethod: return False class YabootMultilibMethod: - def __init__(self, dummy): + def __init__(self, config): self.name = 'base' + def select(self, po): if po.arch in ['ppc'] : if po.name.startswith('yaboot'): @@ -81,9 +84,9 @@ class YabootMultilibMethod: return False class RuntimeMultilibMethod(MultilibMethod): - def __init__(self, dummy): + def __init__(self, config): self.name = 'runtime' - + def select(self, po): libdirs = [ '/usr/lib', '/usr/lib64', '/lib', '/lib64' ] blacklist = [ 'tomcat-native' ] @@ -181,7 +184,7 @@ class RuntimeMultilibMethod(MultilibMethod): return False class DevelMultilibMethod(RuntimeMultilibMethod): - def __init__(self, dummy): + def __init__(self, config): self.name = 'devel' def select(self, po):