From a5d446cde80c95a4070427bfcdc8a1e2f3842c84 Mon Sep 17 00:00:00 2001 From: Mike Hiretsky Date: Tue, 1 Feb 2011 17:46:05 +0300 Subject: [PATCH] Add check conflict options. --- i18n/cl_builder_ru.mo | Bin 13964 -> 14046 bytes pym/cl_kernel.py | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/i18n/cl_builder_ru.mo b/i18n/cl_builder_ru.mo index 5aefcc54d3bc1dc07f6c886f9d907952a49d825a..236c52c872668888fa72808b8300f8a5e9660cbb 100644 GIT binary patch delta 2491 zcmZwHZA_JA9LMoLAR$O#AV)>f1E_&eJeWN|sDL~e!azkd@ZktZ1PCE0RP#*T+%!=W znANJ4wpzAjhNh*oG#AwiJa6hn8f&vQ+}ey)Q?t3gKhCYMx_18e=enP+hyQimXMf8` zi+3byLcdYEh?&IIAhTomW(WsLQkYpRCSw9F#W~o3akw8d@i^+apPlnt7|D6cB(prs z##G#a)9@pVG4t9bDsC?PZ=l)4l1}~!q z@;fS1F4CaqvQhWfIld_A-;Pjm<0;e#e{lR8mC~5W{u!jBI?lscxCTj z<)b=Sftqm>YR~kb2KEU~!RwfcccWN;jVy)U$hs9FgSAT3%r~R<;ZB^7docx1;X?cc zpFkI_rePVX;~l6acn6d4d(;5`M1B^?^cUdN81nxJl@cy!=G{n}b_n(0d$mJ%DrVs|RO)BZx<)nQpfb9Z!(u#ux#%6Hl0{`QZxv$+DkFWk z5-*~@3K!GgiCNf$=P?tL=rseYaS8TdHV$JUhB0k@{}rh7KGf1&LHhGrFw<13%CH~vupBe!-}X__ zjq|t~Z#w5?OuK;dy|@Z5V+qcoH|^dwR0nT44k14qv~?^rjo-1aW&a~ni8H0s<>@0X3#nhB3{ zr3?8_7%%HMt|DASF`><-FF~c;tT!k$E}*hEK6Hk68&_5kTIEfIN)a(>yyib_2W>kg zekGxNYJ1ib@dT;0t;8BayGUg*p#@gyB(#VT#4=(%p*So8CzMUg2-{erf0( z3yltL=e%hkG^{iSxMVp94%)1Z>W^~$ur;?ft(DfAn|fPYbN%|G*89Uf_UwMo>pAB+=RD8z zeV%jA4v!7HX9M#O8D$r79q~<;*%XfDaG(_U%?dGu%drY?z)lR~C|2MrsQbS1&M#md z=S2(68Zd(8ID!Ru1ecn*HbceX!WW)tT*3LGMVT8bu$c2EycUPh!M(@}Y!WMR25-g- zo`I_~?W8_ z)?fKlZ5xtRhTZIhP;;8-Cfwy2cM(_aMj_=_r zOyf!{<*n+l4VC&GcoV*c8rWyZ&rWlw#9#1Mbe58T&A5ep@Gjeox^XwEqZd%A`~;); z6Dsuq9@0!>o{gvud$A11P#K#>-G2rh{1ca90SCQ5>QY%xr5|hYI4b3rQ6mr1iw3qF z9jr#iV4cV+*f44-TvR4s_1fRZXMAQ~qxMjO!y4?xdYr;qbk9>sP;q!#DM?}*9!7l) zY21f-q+tlhu>$|W7)I&64twxUoWlF?9O}C-WBNKzqL$`eRDa(gnR2a^>9%sA5jCXP`mpyY6dwsW;Ry?Y6+647f;|LcnWo2IXh7U8bD=a40Ye< zsG0wZtd2$L)a4m#p~5oTPSodi5cQ&2RQq434jdXulI_8VaS}JG9oete&Ns@fwiWdm zzl6%%TX;WS#@$#)8XmQv53-}aPmL1|n|q{)mB!vteBKcS`3a?T?Pi2-5>p$sdV zNurfdhB{Ko1rhfNYATH0<`cy_p*%!1&eg~{<`LP%R_|KWQ*0uJh{p((T?GFDb46>} zM&uI-LYquqfLBt%+_0}b70WGhcW`Mvp;dm|YhH^By}H;*G!aVt215DNw(KKH2vTd? z2<;Fpn#vkN3#{@qp+#IwtRuPz?b15d^UK_DNIURK;qUeT(x3AAgV|4UJ~$onH|I|8 N3)UA*UyS_j{|_d=>!Sbw diff --git a/pym/cl_kernel.py b/pym/cl_kernel.py index 7950366..2d4b96e 100644 --- a/pym/cl_kernel.py +++ b/pym/cl_kernel.py @@ -358,11 +358,32 @@ class cl_kernel(color_print): return False return True + def checkConflictOptions(self): + """Clean initrd from needless modules""" + # section which must contains equealent modules and kernel buildins + importantSections = ['File systems','Pseudo filesystems', + 'CDROM.*Filesystems', 'DOS.*Filesystems', + 'SCSI Transport'] + # get dictionary from current config + curConfig = dict(KernelConfig().getSectionParams(*importantSections)) + # get config of new kernel + newConfig = KernelConfig(configFile=self._getNewName("config")) + newConfig = newConfig.getSectionParams(*importantSections) + # find and return conflict option + # options, which M in new config and Y in current config + return filter(lambda x: x[1]=="M" and + x[0] in curConfig and + curConfig[x[0]]=="Y", + newConfig) + def cleanInitrd(self): """Discard from initrd non-critical modules""" clVars = self.clVars if self.skipByChrootAndShortname(): return True + # check conflict options + if self.checkConflictOptions(): + return True bootDir = clVars.Get('cl_kernel_boot_path') clKernelUid = clVars.Get('cl_kernel_uid') initrdName = path.join(bootDir,"initramfs-%s-install"%clKernelUid)