From da0baf38cd7ae5694aee6fc7605c9011d3985211 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Oct 06 2008 15:21:34 +0000 Subject: Add a kernel multilib policy. For sparc we really only want the 64 bit kernel in the 32 bit tree; everything else can live in the 64 bit tree. --- diff --git a/mash/__init__.py b/mash/__init__.py index 2a14452..8188de2 100644 --- a/mash/__init__.py +++ b/mash/__init__.py @@ -387,6 +387,7 @@ class Mash: method = { 'base' : multilib.MultilibMethod, 'devel' : multilib.DevelMultilibMethod, 'file' : multilib.FileMultilibMethod, + 'kernel' : multilib.KernelMultilibMethod, 'all' : multilib.AllMultilibMethod, 'none' : multilib.NoMultilibMethod, 'runtime' : multilib.RuntimeMultilibMethod}[self.config.multilib_method]() diff --git a/mash/multilib.py b/mash/multilib.py index 6090add..ef12d04 100644 --- a/mash/multilib.py +++ b/mash/multilib.py @@ -59,6 +59,17 @@ class FileMultilibMethod(MultilibMethod): if fnmatch(po.name, item): return True return False + +class KernelMultilibMethod: + def __init__(self): + self.name = 'base' + def select(self, po): + if po.arch.find('64') != -1: + if po.name.startswith('kernel'): + for (p_name, p_flag, (p_e, p_v, p_r)) in po.provides: + if p_name == 'kernel' or p_name == 'kernel-devel': + return True + return False class RuntimeMultilibMethod(MultilibMethod): def __init__(self):