Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325
ó ð v_c@sódZddlmZddlZddlZddlZddlZddlmZddl Z ddl m Z dfd„ƒYZ de fd „ƒYZd efd „ƒYZd efd „ƒYZd„Zd„Zdefd„ƒYZdS(s; Classes for manipulating and querying groups of packages. iÿÿÿÿ(tPackageSackErrorN(t parsePackages(t compareEVRtPackageSackVersioncBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCs"d|_tjdgƒ|_dS(Nitsha1(t_numtmisct Checksumst_chksum(tself((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt__init__s cCsd|j|jjƒfS(Ns%u:%s(RRt hexdigest(R ((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt__str__#scCs€|dkrtSt|ƒtdƒtdƒfkrDt|ƒ|kS|j|jkrZtS|jjƒ|jjƒkr|tStS(Ntu(tNonetFalsettypetstrRRtdigesttTrue(R tother((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt__eq__&s $cCs ||k S(N((R R((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt__ne__-scCs`|jd7_|jjt|ƒƒ|dk r\|jj|dƒ|jj|dƒndS(Nii(RRtupdateRR(R tpkgtcsum((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR0s  (t__name__t __module__R R RRR(((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRs     tPackageSackBasecBs²eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d%d%d%d%d%d„Z ge d „Z d „Zd „Zd%d%d%d%d%d%d „Zd%d&d „Zd%d'd„Zd„Zd„Zd„Zd„Ze d„Zd„Zd„Zd„Zd„Zd„Zd%d%e d„Zd„Ze id„Zd%d%e d„Z d%d%e d„Z!d%e d„Z"d„Z#d „Z$d!„Z%d"„Z&d#„Z'd%d$„Z(RS((s8Base class that provides the interface for PackageSacks.cCs i|_dS(N(tadded(R ((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR :scCst|jƒƒS(N(tlentreturnPackages(R ((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt__len__=scCs3|jƒ}t|dƒr%|jƒSt|ƒSdS(Nt__iter__(RthasattrR!titer(R tret((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR!@s  cCs£|dkrdSt|jƒ}t|jƒ}t|ƒt|ƒkrZt|ƒt|ƒSxBtt|ƒt|ƒƒD]%\}}t||ƒ}|rv|SqvWdS(Nii(RtlistRRtziptsortedtcmp(R Rts_reposto_reposts_repoto_repoR$((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt__cmp__Gs (cCs tƒ‚dS(N(tNotImplementedError(R t compatArchs((s3/usr/lib/python2.7/site-packages/yum/packageSack.pytsetCompatArchsUscCs tƒ‚dS(N(R.(R trepotmdtypetcallbackt cacheOnly((s3/usr/lib/python2.7/site-packages/yum/packageSack.pytpopulateXscCs#tjdtddƒ|j|ƒS(s5return a list of package objects by (n,a,e,v,r) tuples;packagesByTuple() will go away in a future version of Yum. t stackleveli(twarningstwarntDeprecationWarningtsearchPkgTuple(R tpkgtup((s3/usr/lib/python2.7/site-packages/yum/packageSack.pytpackagesByTuple[s  cCs tƒ‚dS(s6return list of pkgobjects matching the nevra requestedN(R.(R tnametepochtvertreltarch((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt searchNevracscCs tƒ‚dS(N(R.(R tnamestreturn_pkgtups((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt searchNamesgsc Cs7|jd|jd|jd|jd|jd|jƒS(srreturn list of package objects matching the name, epoch, ver, rel, arch of the package object passed inR=R>R?R@RA(RBR=R>R?R@RA(R tpo((s3/usr/lib/python2.7/site-packages/yum/packageSack.pytsearchPOjs$c Cs=|\}}}}}|jd|d|d|d|d|ƒS(s7return list of pkgobject matching the (n,a,e,v,r) tupleR=RAR>R?R@(RB(R R;tntatetvtr((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR:qsc Csd|r6|j}|j}|j}|j}|j}nt|jd|d|d|d|d|ƒƒS(spreturn if there are any packages in the sack that match the given NAEVR or the NAEVR of the given poR=RAR>R?R@(R=RAR>tversiontreleasetboolRB(R R=RAR>R?R@RF((s3/usr/lib/python2.7/site-packages/yum/packageSack.pytcontainsvs     cCs tƒ‚dS(s5return dict { packages -> list of matching provides }N(R.(R R=tflagsRM((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt getProvides�scCs tƒ‚dS(s5return dict { packages -> list of matching requires }N(R.(R R=RQRM((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt getRequires…scCs tƒ‚dS(s<return list of package requiring the name (any evr and flag)N(R.(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pytsearchRequires‰scCs tƒ‚dS(s<return list of package providing the name (any evr and flag)N(R.(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pytsearchProvides�scCs tƒ‚dS(sCreturn list of package conflicting with the name (any evr and flag)N(R.(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pytsearchConflicts‘scCs tƒ‚dS(s=return list of package obsoleting the name (any evr and flag)N(R.(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pytsearchObsoletes•scCs tƒ‚dS(sEreturns a dict of obsoletes dict[obsoleting pkgtuple] = [list of obs]N(R.(R tnewest((s3/usr/lib/python2.7/site-packages/yum/packageSack.pytreturnObsoletes™scCs tƒ‚dS(sb Is calling pkg.returnFileEntries(primary_only=True) faster than using searchFiles(). N(R.(R ((s3/usr/lib/python2.7/site-packages/yum/packageSack.pythave_fastReturnFileEntries�scCs tƒ‚dS(s#return list of packages by filenameN(R.(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt searchFiles¢scCs tƒ‚dS(s"add a pkgobject to the packageSackN(R.(R tobj((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt addPackage¦scCs tƒ‚dS(s¥builds the useful indexes for searching/querying the packageSack This should be called after all the necessary packages have been added/deletedN(R.(R ((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt buildIndexesªscCs tƒ‚dS(sdelete a pkgobjectN(R.(R R\((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt delPackage°scCs tƒ‚dS(sreturn list of all packagesN(R.(R trepoidtpatternst ignore_case((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR´scGs tƒ‚dS(sâ Add an "excluder" for all packages in the repo/sack. Can basically do anything based on nevra, changes lots of exclude decisions from "preload package; test; delPackage" into "load excluder". Excluderid is used so the caller doesn't have to track "have I loaded the excluder for this repo.", it's probably only useful when repoid is None ... if it turns out utterly worthless then it's still not a huge wart. N(R.(R R`t excluderidtexcludertargs((s3/usr/lib/python2.7/site-packages/yum/packageSack.pytaddPackageExcluder¸sc CsVd„}tƒ}i}i}i}xt|jƒƒD]û}|jƒ} |j|| ƒx^|D]V} |j|| kr`| |krŸtƒ|| R?R@RA((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRB‘scCs|jd||ƒS(NRE(R©(R RCRD((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRE•scCs|jd|||ƒS(s5return dict { packages -> list of matching provides }RR(t_computeAggregateDictResult(R R=RQRM((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRR˜scCs|jd|||ƒS(s5return dict { packages -> list of matching requires }RS(Rª(R R=RQRM((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRSœscCs|jd|ƒS(s<return list of package requiring the name (any evr and flag)RT(R©(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRT scCs|jd|ƒS(s<return list of package providing the name (any evr and flag)RU(R©(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRU¤scCs|jd|ƒS(sCreturn list of package conflicting with the name (any evr and flag)RV(R©(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRV¨scCs|jd|ƒS(s=return list of package obsoleting the name (any evr and flag)RW(R©(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRW¬sc sí|s|jdƒS|jdƒ}td„|Dƒƒ}i}d}d }d }d„‰‡fd†}x~t|j|dtƒdˆƒD][} | d} || kr¼||| ƒ r¼qŠn| }| }| |krŠ|| || ·sR cSsYt|d|dƒ}|r!|St|d|d|df|d|d|dfƒ S(s4 Compare two pkgtup's (ignore arch): n, a, e, v, r. iiii(R(R(txtyR$((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt_pkgtup_nevr_cmp¿scsˆ||ƒdkS(Ni((R­R®(R¯(s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt_pkgtup_nevr_eqÅsRDR(iN(RªR„RR'RER( R RXtobsdictRCtnobsdictt last_nametlast_pkgt last_pkgtupR°R;R=((R¯s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRY°s(     cCs|jd|ƒS(s#return list of packages by filenameR[(R©(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR[ÒscCsdS(saAdd a pkgobject to the packageSack. This is a meaningless operation for the MetaSack.N((R R\((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR]ÖscCs(x!|jjƒD]}|jƒqWdS(s¥builds the useful indexes for searching/querying the packageSack This should be called after all the necessary packages have been added/deletedN(R¢R¤R^(R R¥((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR^ÛscCs|jjj|ƒdS(s2Delete a pkgobject if it exists in every sub-sack.N(R1R¥R_(R R\((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR_âscCs9|s|jdd||ƒS|j|jd|d|ƒS(sÈReturns a list of packages. Note that the packages are always filtered to those matching the patterns/case. An optional repoid allows you to easily get data for a specific repo. RRaRbN(R©RR¢R(R R`RaRb((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRçs   cGsB|s%|j}|dd|||ŒS|j|jd|||ŒS(sâ Add an "excluder" for all packages in the repo/sack. Can basically do anything based on nevra, changes lots of exclude decisions from "preload package; test; delPackage" into "load excluder". Excluderid is used so the caller doesn't have to track "have I loaded the excluder for this repo.", it's probably only useful when repoid is None ... if it turns out utterly worthless then it's still not a huge wart. RfN(R©RR¢Rf(R R`RcRdRetcalr((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRfñs  cCsf|j}|d|||ƒ}t|ƒ}| rb|s=|rbdj|pLgƒ}td|‚n|S(sreturn list of newest packages based on name, arch matching this means(in name.arch form): foo.i386 and foo.noarch are not compared to each other for highest version only foo.i386 and foo.i386 will be compared. Note that given: foo-1.i386; foo-2.i386 and foo-3.x86_64 The last _two_ pkgs will be returned, not just one of them. Rxs, sNo Package Matching %s(R©tpackagesNewestByNameArchtjoinR(R RwRaRbR¶R�tui_pats((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRxÿs  cCso|jd|||ƒ}t|ƒ}| rk|s7|rk|rF|}ndj|pUgƒ}td|‚n|S(s¶return list of newest packages based on name matching this means(in name.arch form): foo.i386 and foo.noarch will be compared to each other for highest version.Rys, sNo Package Matching %s(R©tpackagesNewestByNameR¸R(R R=RaRbR�R¹((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRys    cCs|jd||ƒS(s,returns a list of pkg tuples (n, a, e, v, r)Rz(R©(R RaRb((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRzs cCs(x!|jjƒD]}|jƒqWdS(N(R¢R¤R{(R R¥((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR{#scCs+x$|jjƒD]}|j|ƒqWdS(sDexclude incompatible arches. archlist is a list of compatible archesN(R¢R¤R}(R R|R¥((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR}'scCs|jd|||ƒS(NR€(Rª(R R~RR3((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR€,scCs|jd||ƒS(NRƒ(R©(R R�R‚((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRƒ/sc Csg}g}d}xº|jjƒD]©}t|dƒr"ggg}}}y|j|ƒ\}}}Wntk r}q"nX|j|ƒ|j|ƒ|dkr³t|ƒ}qË|jt|ƒƒ}q"q"Wt j |ƒ}t j |ƒ}|dkrg}n t |ƒ}|||fS(NR“( RR¢R¤R"R“RtextendR„t intersectionRR‰R%( R RŠR‹RŒR�R¥RJtmtu((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR“2s*       cGs‹g}x~t|jjƒƒD]g}t||ƒrt||ƒ}yt||ƒ}Wntk riqnX|rƒ|j|ƒqƒqqW|S(N(R'R¢R¤R"tgetattrtapplyRR»(R t methodNameRetresultR¥tmethodt sackResult((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR©Ms cGs‹i}x~t|jjƒƒD]g}t||ƒrt||ƒ}yt||ƒ}Wntk riqnX|rƒ|j|ƒqƒqqW|S(N(R'R¢R¤R"R¿RÀRR(R RÁReRÂR¥RÃRÄ((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRª\s N(NNN(NNN(%RRR R R R¦R§R5R0R<RRBRRERRRSRTRURVRWRYR[R]R^R_RRfRxRyRzR{R}R€RƒR“R©Rª(((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR¡isD            "           t PackageSackcBsveZdZd„Zd„Zdd„Zd„Zd„Zd"d"d"d"d"d„Z ge d„Z d"d#d „Z d"d$d „Z d „Zd „Zd „Zd„Zd„Ze d„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd"d"e d„Zd"d"e d„Zd"d"e d„Z d"e d„Z!d„Z"d „Z#d!„Z$RS(%s*represents sets (sacks) of Package ObjectscCsktj|ƒi|_i|_i|_i|_i|_i|_i|_i|_ d|_ d|_ dS(Ni( RR tnevrat obsoletestrequirestprovidest conflictst filenamest pkgsByRepotpkgsByIDRR£t indexesBuilt(R ((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR ns          cCs5d}x(|jD]}|t|j|ƒ7}qW|S(Ni(RÌR(R R$R1((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR €sterrorcCsA|js=|dkr!td‚q=|dkr=|jƒq=ndS(s�check to see if the indexes are built, if not do what failure demands either error out or build the indexes, default is to error outRÏs$Indexes not yet built, cannot searchtbuildN(RÎRR^(R tfailure((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt _checkIndexes‡s     cCs|jƒdS(s* Do nothing, mainly for the testing code. N(t clearIndexes(R ((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR¦‘scCs ||_dS(N(R£(R R£((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR0•sc Cs?|jddƒ|||||f|jkrH|j|||||fS|dk r{|jj|ddddfgƒ}n-g}x$|jjƒD]}|j|ƒq‘Wg}xŠ|D]‚} |rÐ|| jksµ|rå|| jksµ|rú|| j ksµ|r|| j ksµ|r*|| j kr*qµn|j | ƒqµW|S(s6return list of pkgobjects matching the nevra requestedRÑRÐN( RÒRÆRtgetRÌt itervaluesR»R=R>R?R@RAR‡( R R=R>R?R@RAR�t pkgsbyRepoRÂRF((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRB˜s$ ' cCsž|jddƒg}tƒ}xX|D]P}||kr>q&n|j|ƒ|j|jj|ddddfgƒƒq&W|ršg|D]}|j^q‡S|S(s6return list of pkgobjects matching the names requestedRÑRÐN(RÒR„R›R»RÆRÔRR;(R RCRDRÂtdoneR=R((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRE¯s    /cCs|jddƒ|dkr%d}n6t|ƒttdƒtfkr[tjj|ƒ}ni}xK|jj |gƒD]4}|j d|||fƒ}|rw||| list of matching provides }RÑRÐRÉit/N(NNN(NNN(RÒRRRtunicodetrpmUtilst miscutilststringToVersionRÉRÔt matchingPrcosR[RgR‡(R R=RQRMRÂRFthitsthit((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRR½s  ! cCs³|jddƒ|dkr%d}n6t|ƒttdƒtfkr[tjj|ƒ}ni}xK|jj |gƒD]4}|j d|||fƒ}|rw||| list of matching requires }RÑRÐRÈN(NNN( RÒRRRRÙRÚRÛRÜRÈRÔRÝ(R R=RQRMRÂRFRÞ((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRSÏs  !c Cs÷|jddƒt||ƒ}tj|ƒ\}}\}}}g} g} ||krl| j||ƒnxB| D]:} | j||||||ffƒrs| j| ƒqsqsW|dkrÁ| Stj|ƒsÔ| S| j|j|ƒƒtj | ƒS(NRÑRÐRÉ( RÒR¿Rtstring_to_prco_tupleR»t checkPrcoR‡t re_filenameR[R‰( R R=tprcotypetprcodictRHtfRJRKRLt basic_resultstresultsRF((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt searchPrcoÝs !  $ cCs|j|dƒS(s3return list of package requiring the item requestedRÈ(Rè(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRTõscCs|j|dƒS(s3return list of package providing the item requestedRÉ(Rè(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRUúscCs|j|dƒS(s6return list of package conflicting with item requestedRÊ(Rè(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRVÿscCs|j|dƒS(s4return list of package obsoleting the item requestedRÇ(Rè(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRWscCsÌi}xN|jƒD]@}t|jƒdkr4qn|j|jgƒj|jƒqW|sa|Std„|jƒDƒƒ}g}x*|D]"}||krŠ|j|ƒqŠqŠWx|D] }||=q·W|S(sEreturns a dict of obsoletes dict[obsoleting pkgtuple] = [list of obs]icss|]}|jVqdS(N(R;(R«R((s3/usr/lib/python2.7/site-packages/yum/packageSack.pys s( RRRÇRgR;R»R„RyR‡(R RXtobsRFt newest_tupsttogoR¬((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRY s#    cCstS(sb Is calling pkg.returnFileEntries(primary_only=True) faster than using searchFiles(). (R(R ((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRZ#scCs2|jddƒ||jkr*|j|SgSdS(s& Return list of packages by filename. RÑRÐN(RÒRË(R R=((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR[(s cCs.||krg||R?R@((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR]Cs   cCsP|jƒx6|jD]+}x"|j|D]}|j|ƒq(WqWd|_dS(s¦builds the useful indexes for searching/querying the packageSack This should be called after all the necessary packages have been added/deletediN(RÓRÌRóRÎ(R R`R\((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR^Ns  cCsLi|_i|_i|_i|_i|_i|_i|_d|_dS(Ni(RÇRÈRÉRÊRËRÆRÍRÎ(R ((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRÓ[s       cCsÎx?|jdƒD].\}}\}}}|j|j||ƒqWx?|jdƒD].\}}\}}}|j|j||ƒqRWx?|jdƒD].\}}\}}}|j|j||ƒq”Wx?|jdƒD].\}}\}}}|j|j||ƒqÖWxD|jƒD]6}x-|j|ƒD]}|j|j||ƒq+WqW|j|j |j |ƒ|j \} } } } } |j|j | | | | | f|ƒ|j|j | ddddf|ƒdS(NRÇRÈRÉRÊ(t returnPrcoRïRÇRÈRÉRÊtreturnFileTypestreturnFileEntriesRËRÍR¨R;RÆR(R R\RHtflRJRKRLtftypetfileR=RAR>R?R@((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyRógs((((%cCsÎx?|jdƒD].\}}\}}}|j|j||ƒqWx?|jdƒD].\}}\}}}|j|j||ƒqRWx?|jdƒD].\}}\}}}|j|j||ƒq”Wx?|jdƒD].\}}\}}}|j|j||ƒqÖWxD|jƒD]6}x-|j|ƒD]}|j|j||ƒq+WqW|j|j |j |ƒ|j \} } } } } |j|j | | | | | f|ƒ|j|j | ddddf|ƒdS(NRÇRÈRÉRÊ(RôRòRÇRÈRÉRÊRõRöRËRÍR¨R;RÆR(R R\RHR÷RJRKRLRøRùR=RAR>R?R@((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyt_delPackageFromIndexzs((((%cCs6|j|j|j|ƒ|jr2|j|ƒndS(sdelete a pkgobjectN(RòRÌR`RÎRú(R R\((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR_‹s cCsšg}|dkr=xM|jD]}|j|j|ƒqWn%y|j|}Wntk ranX|r–t||| ddƒ}|d|d}n|S(s2return list of all packages, takes optional repoidR‰s repo-pkgkeyiiN(RRÌR»tKeyErrorR(R R`RaRbt returnListR1((s3/usr/lib/python2.7/site-packages/yum/packageSack.pyR‘s   cCs)i}|rZ|jddƒ|jj|dddddfƒ}|srtd|‚qrn|jd|d|ƒ}x}|D]u}|j|jf|kr°|||j|jfs$     ÿ2ÿÿ¤