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@sddlZddlZddlZddlZddlZddlZddlmZddlmZddl m Z ddl Z ddl Z ddl mZmZddlmZmZddlZddlZddlmZmZddlZddlZd„Zd „Zd „Zd efd „ƒYZd fd„ƒYZdefd„ƒYZ defd„ƒYZ!defd„ƒYZ"defd„ƒYZ#defd„ƒYZ$d„Z%de&fd„ƒYZ'd„Z(de&fd„ƒYZ)d„Z*e+d kre*ƒndS(!iÿÿÿÿN(t miscutils(tarch(tinitReadOnlyTransaction(tYumInstalledPackaget parsePackages(tPackageSackBasetPackageSackVersion(t to_unicodet_cGs4tjdƒ}zt|Œ}Wdtj|ƒX|S(sk Annoying people like to set umask's for root, which screws everything up for user readable stuff. iN(tostumasktopen(targstoumasktret((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_open_no_umask(s cGs7tjdƒ}ztj|Œ}Wdtj|ƒX|S(sk Annoying people like to set umask's for root, which screws everything up for user readable stuff. iN(R R tmakedirs(R R R((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_makedirs_no_umask3s cGs7yt|Œ}Wntk r,}d|fSX|dfS(s1 IOError wrapper BS for open, stupid exceptions. N(R tIOErrortNone(R Rte((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_iopen>s  tRPMInstalledPackagecBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCsGt|_tj||d|jƒ||_||_t|_|`dS(Ntyumdb( tTruet_has_hdrRt__init__RtidxtrpmdbtFalsethdr(tselftrpmhdrtindexR((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRIs     cCsf|jr|jS|jjƒ}|jd|jƒ}y|jƒSWntk ratj d‚nXdS(NisRpmdb changed underneath us( RRRt readOnlyTStdbMatchRtnextt StopIterationtErrorstPackageSackError(Rttstmi((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_get_hdrSs  cCsy|jdƒr%td||f‚n|dkr@|jƒ}n|jƒ|_}t|_|dkru||}n|S(NRs%s has no attribute %sR(t startswithtAttributeErrorR*RRR(Rtvarnametval((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt __getattr___s    cCsÉtƒ}xY|jD]N\}}}x<|jj|||ƒD]"}||kr;|j|ƒq;q;WqWxW|j|jD]E}x<|jj|ddƒD]"}||kr•|j|ƒq•q•WqvWt|ƒS(s4return list of installed pkgs requiring this packageN(NNN( tsettprovidesRt getRequirestaddtfilelisttdirlistRtlist(Rtpkgsettreqntreqftreqevrtpkgtfn((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytrequiring_packagesss   cCsotƒ}xY|jD]N\}}}x<|jj|||ƒD]"}||kr;|j|ƒq;q;WqWt|ƒS(N(R0tstrong_requiresRt getProvidesR3R6(RR7R8R9R:R;((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytrequired_packagesƒs   (t__name__t __module__RR*R/R=R@(((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRGs   t RPMDBProblemcBs eZdZd„Zd„ZRS(sJ Represents a problem in the rpmdb, from the check_*() functions. cKs;||_||_x"|D]}t||||ƒqWdS(N(R;tproblemtsetattr(RR;RDtkwargstkwarg((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyR�s   cCs8|dkrdSt|j|jƒp7t|j|jƒS(Ni(RtcmpR;RD(Rtother((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt__cmp__–s (RARBt__doc__RRJ(((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRCŒs tRPMDBProblemDependencycBseZd„ZRS(cCsa|jdkr,d|jtdƒ|jfSd|jtdƒ|jdjtt|jƒƒfS(Ntrequiress%s %s %sshas missing requires ofs %s %s %s: %sshas installed conflictss, ( RDR;Rtmissingtfoundtjointmaptstrt conflicts(R((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt__str__�s  (RARBRT(((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRLœstRPMDBProblemDuplicatecBseZd„Zd„ZRS(cKstj||d|�dS(Nt duplicate(RCR(RR;RF((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyR§scCstdƒ|j|jfS(Ns%s is a duplicate with %s(RR;RV(R((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRTªs(RARBRRT(((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRU¦s tRPMDBProblemObsoletedcBseZd„Zd„ZRS(cKstj||d|�dS(Nt obsoleted(RCR(RR;RF((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyR¯scCstdƒ|j|jfS(Ns%s is obsoleted by %s(RR;t obsoleter(R((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRT²s(RARBRRT(((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRW®s tRPMDBProblemProvidescBseZd„Zd„ZRS(cKstj||d|�dS(NR1(RCR(RR;RF((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyR·scCstdƒ|j|jfS(Ns%%s provides %s but it cannot be found(RR;tprovide(R((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRTºs(RARBRRT(((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRZ¶s tRPMDBPackageSackcBsäeZdZiejejejfd6ejejej fd6ej ej ej fd6ej ejejfd6ZeZddWdWdd„Zd„ZeedWƒZd „Zd „Zd „Zd „Zd „Zdd„Zd„Zdd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&e'j(Z)dWdWd„Z*dWd„Z+e,e-d„ƒZ.e,d„ƒZ/dWdWe-d„Z0d„Z1d „Z2d!„Z3d"„Z4d#„Z5d$„Z6d%„Z7d&„Z8d'„Z9d(„Z:d)„Z;d*„Z<d+„Z=d,„Z>d-„Z?d.„Z@d/„ZAd0„ZBd1„ZCd2„ZDd3„ZEed4„ZFd5„ZGd6„ZHd7„ZId8„ZJe-id9„ZKe,d:„ƒZLe-d;„ZMgd<„ZNdWdWdWdWdWd=„ZOd>„ZPdWd?„ZQd@„ZRdWdWdWdWdWdA„ZSdB„ZTdC„ZUdD„ZVdE„ZWdF„ZXdG„ZYdWdWdWdWdWdH„ZZdI„Z[dJ„Z\dK„Z]e,dL„ƒZ^dWdXdM„Z_dN„Z`dWdYdO„ZadP„ZbdQ„ZcdWdR„ZddS„ZegdT„ZfdU„ZgdV„ZhRS(Zs* Represent rpmdb as a packagesack RMR1RSt obsoletest/s /var/lib/yumcCsÕ||_i|_i|_tƒ|_i|_t|_tƒ|_tƒ|_ tƒ|_ g|_ i|_ i|_ t|_|dkrš|d}n|j|ƒtjj|ƒj|jƒsÙ|d||_n ||_ttdƒrtjdƒ}nd}tjj|d|ƒ|_d|_d|_i|_d|_||_t|_d|_ iid6id6id6id 6|_!tjj|jd ƒ}tjj|d ƒ}t"d |d |ƒ|_#dS(Ns/rpmdb-indexesR^t expandMacros%_dbpaths /var/lib/rpmR1RMRSR]s/yumdbs/versiontdb_patht version_path($troott_idx2pkgt _name2pkgR0t_pkgnames_loadedt_tup2pkgRt_completely_loadedt_pkgname_failst_pkgmatch_failst_provmatch_failst_simple_pkgtup_listt_get_pro_cachet_get_req_cachet_loaded_gpg_keysRt setCacheDirR tpathtnormpathR+t _persistdirthasattrtrpmR_t _rpmdbpatht_have_cached_rpmdbv_datat_cached_conflicts_datat_trans_cache_storeR(t releasevert auto_closet_cached_rpmdb_mtimet_cachetRPMDBAdditionalDataR(RRbRytcachedirt persistdirtdbpatht addldb_pathRa((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRÖsN                          cCs…|js<|jdtƒ}|dk r<|jƒ|_q<n|js~x6|jƒD]%\}}|jj|j|ƒƒqRWn|jS(sTGetter for the pkglist property. Returns a list of package tuples. t load_packagesN(RktpreloadPackageChecksumsRRtkeyst _get_packagestappendt _hdr2pkgTuple(Rt csumpkgtupsRR)((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt _get_pkglists    cCsÖi|_i|_tƒ|_i|_t|_tƒ|_tƒ|_tƒ|_ g|_ i|_ i|_ t dk rˆt jƒniid6id6id6id6|_d|_d|_|jƒd|_dS(sø Drop all cached data, this is a big perf. hit if we need to load the data back in again. Also note that if we ever call this while a transaction is ongoing we'll have multiple copies of packages which is _bad_. R1RMRSR]N(RcRdR0ReRfRRgRiRhRjRkRlRmtmiscRt unshare_dataR|RvRwttransactionResetR{(R((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytdropCachedDatas,                 cCs®t|_tƒ|_tƒ|_g|_i|_i|_td k rUtj ƒniid6id6id6id6|_ d |_ d |_ |jƒ|jd}tjj|ƒ|_d„}g}xé|D]á}|jj|jƒ||j|jƒ|jtjkrq|jj|jƒ|j|ƒ|jrq|j|j}||j |j!ƒ||j|jƒqqn|jtj"krÎ||j |j#j!ƒ||j|jƒqÎqÎWxô|D]ì}|j\}}} } } |j$|| | | |ƒ} | s|j%d|ƒqºn| d} |j#j&ƒ} | d kr;qºnt'| dƒt'| d ƒ}}d | j(j)ksºd | j(j)kr†qºn|| j(j)d <|| j(j)d |jj|ƒn|S(NR1(RjRÎR3(RR•R((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytsearchProvidesîs cCs|j|dƒS(NRM(RÎ(RR•((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytsearchRequiresöscCs|j|dƒS(NR](RÎ(RR•((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytsearchObsoletesùscCs|j|dƒS(NRS(RÎ(RR•((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytsearchConflictsüscCs|jS(N(tpkglist(R((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt simplePkgListÿscCsj|s dS|\}}|jd|d|ƒ}|sGtjd|‚ngtj|ƒD]}|j^qWS(NR•RsNo Package Matching %s(t_searchR&R'RŠt newestInListRš(RtnaTupR¸R•RtallpkgRœ((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytreturnNewestByNameArchs cCsB|s dS|jd|ƒ}|s5tjd|‚ntj|ƒS(NR•sNo Package Matching %s(RÕR&R'RŠRÖ(RR•tallpkgs((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytreturnNewestByNames cCsš| st|ƒtjkr dSg}xm|D]e}|s?q-n|d}|dkr^d}n|rs|jƒ}n|j|tj||ƒfƒq-W|S(Nit?t*t[(RÜRÝRÞ(tlenR—t PATTERNS_MAXRtlowerR†RŠtcompile_pattern(R¸t ignore_caseRtpattqpat((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_compile_patternss    #cCs?|d krtSx(|D] \}}|d}|d krBd}n t|ƒ}|dd}|rq|jƒ}n|d k rŸ||krŸ||dkrŸqn||dƒr³tS|d|ƒrÇtS|d|ƒrÛtS|d|ƒrïtS|d|ƒrtS||d |ƒrtS|d |d |ƒrtSqWtS( s< This is basically parsePackages() but for rpm hdr objects. tepocht0R•is)%(name)s-%(version)s-%(release)s.%(arch)ss%(name)s.%(arch)ss%(name)s-%(version)ss %(name)s-%(version)s-%(release)ss*:%(name)s-%(version)s-%(release)s.%(arch)ss %(name)s-s!:%(version)s-%(release)s.%(arch)sN(RRRRRáR(t repatternsRRãRåtrepatRçtqname((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_match_repattern/s:     (   c Cs||j r“|r“g}xz|D]k}|j|gƒ}|s{|rEPntj|ƒrXPnd|krhPnd|kr{Pq{n|j|ƒqW|Sng}|r| rg}xY|D]Q}||jkrÎq³n||jkr÷|j|j|ƒq³n|j|ƒq³W|}|s|Sn|js�|j ||ƒ}xB|j ƒD]4\} } |j || |ƒrC|j | | ƒqCqCW|dk|_n|jjƒ} |jrÐg| D]} | jdkr¬| ^q¬} n|rxt| || ƒ} |jj| dƒ|r| d| d|} n| d| d} xG| D]<} x3|D]+}| j|krB|jj| jƒqBqBWq5Wn| S(sÎReturns a list of packages. Note that the packages are always filtered to those matching the patterns/case. repoid is ignored, and is just here for compatibility with non-rpmdb sacks. t-t.s gpg-pubkeyiiiN(Rgt searchNamesRŠRÈtextendRiReRdR†RæR…RìR»RRcR¿RnR•RtupdateR3( RtrepoidR¸RãRRätpkgsttpatstrpatsRRt pkgobjlistR;((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytreturnPackagesRs`         +  !cCs·|jdkr°i}x†|jdƒD]u\}}|tjsDq%n|j||ƒ}|||j<|jrrq%n||_t |_|j t |_|`q%W|j ƒ|_n|jS(sÁ Load the packages which have conflicts from the rpmdb, newer versions of rpm have an index here so this is as fast as cached (we test rpm version at cache write time). t conflictnameN( RwRR…RttRPMTAG_CONFLICTNAMER»R½RRRRSRR¿(RRÁRRRœ((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt _uncached_returnConflictPackages s        cCsÂtj|jtjƒsdS|jd}t|ddƒ}|jd|ƒ|jdt|ƒƒx9t|ƒD]+}x"|jD]}|jd|ƒq�WqqW|j ƒtj |d|ƒdS(Ns /conflictss.tmptws%s s%u ( R taccessR¯tW_OKRtwriteRßtsortedRštclosetrename(RRótrpmdbvtconflicts_fnametfoR;tvar((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_write_conflicts_new»s  cCs*|jdtƒd}|j||ƒdS(Nt main_onlyi(t simpleVersionRR(RRóR((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_write_conflictsÉscCs·|jdkr°i}x†|jdƒD]u\}}|tjsDq%n|j||ƒ}|||j<|jrrq%n||_t |_|j t |_|`q%W|j ƒ|_n|jS(s‡ Load the packages which have obsoletes from the rpmdb, this is needed because newer rpm's have obsoletes imply conflicts. t obsoletenameN( t_cached_obsoletes_dataRR…RttRPMTAG_OBSOLETENAMER»R½RRRR]RR¿(RRÁRRRœ((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt _uncached_returnObsoletePackagesÍs        cCsÂtj|jtjƒsdS|jd}t|ddƒ}|jd|ƒ|jdt|ƒƒx9t|ƒD]+}x"|jD]}|jd|ƒq�WqqW|j ƒtj |d|ƒdS(Ns /obsoletess.tmpRûs%s s%u ( R RüR¯RýRRþRßRÿRšRR(RRóRtobsoletes_fnameRR;R((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_write_obsoletes_newçs  cCs*|jdtƒd}|j||ƒdS(NRi(RRR(RRóR((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_write_obsoletesõscCsxtj|jdƒtj|jdƒtj|jdƒtj|jdƒtj|jdƒtjd|‚dS(sŠ This shouldn't be called, but people are hitting weird stuff so we want to deal with it so it doesn't stay broken "forever". s/versions /conflictss /obsoletess/file-requiress/pkgtups-checksumssRpmdb checksum is invalid: %sN(RŠtunlink_fR¯R&R'(Rtcaller((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRžùs  c CsR|js dSd„}|jd|}t|ƒ\}}|dkrIdS|jƒ}|jdtƒd}| s‚||d kr†dSg}y t||ƒƒ} xq| dkr| d8} ||ƒ||ƒ||ƒ||ƒ||ƒf} t| dƒ|j|j | ƒƒq¤W|jƒdkr+dSWnt k rM|j |ƒdSX|S( NcSs|jƒd S(Niÿÿÿÿ(treadline(R((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt _read_strsR^Riiÿÿÿÿiit( t__cache_rpmdb__RR¯RRRRtintRðtsearchPkgTuplet ValueErrorRž( RtfnameRt full_fnameRRtfrpmdbvRRt pkgtups_numRš((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt _read_pkglists4     !  cCs|jdƒ|_|jS(NRS(RRw(R((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_read_conflicts3scCs|jr||jd|D]6} | j || kr‘||| | || | ƒq‘q‘WqiW|j dkrî|j |ƒn|r||||gS||gS( s5 Return a simple version for all installed packages. cSso|j|iƒ}|jdtƒƒ}|j||ƒ|dk rk|j|tƒƒ}|j||ƒndS(N(R¼RRRñ(tireposRòtrevR;R«tirevstrpsv((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_up_revs¸s  R‘R’t installedt from_repot@tfrom_repo_revisionN(RHRRRÿR÷R R‘R’RñR•RQRSRvRJ(RRtgroupsRORtmainRKt main_grpst irepos_grpsR;tydbiR«tgroupRòRL((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyR¶sL            %cCskd}x^|D]V}xM|D]E}t||ƒ}|r|jƒj|ƒdkr|d7}PqqWq W|S(Niiÿÿÿÿi(RRátfind(tfieldst searchstringsRtcounttstfieldtvalue((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_find_search_fieldsís  !  cCs…|std„|ƒ}ng}x]|jƒD]O\}}|j|||ƒ}|dkr.|j|j||ƒ|fƒq.q.W|S(NcSs |jƒS(N(Rá(RŽ((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytûsi(RQR…RaR†R»(RR[R\tloweredRRRR§((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt"searchPrimaryFieldsMultipleStringsøs &cCs4g}x'|D]}|j|jd|ƒƒq W|S(NR•(RðRÕ(Rtnamest returnListR•((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRïs cCs|j|||||ƒS(N(RÕ(RR•RçtvertrelR((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyR�scCsdS(N((Rtarchlist((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt excludeArchs scCsA|jƒ}g|jdtƒD]\}}|j||ƒ^qS(Ntheaders(R"treturnLeafNodesRR»(RRòR(thR)((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRls coss|jƒ}|j||Ž}x2|D]*}|ddkr%||jƒfVq%q%W~|jro|jjƒndS(sLdbMatch() wrapper generator that yields (header, index) for matches R•s gpg-pubkeyN(R"R#R)RzR(R(RR tkwdsR(R)Rm((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyR…s   c CsA|dk r||jkrgS|||||f}||jkrQ|j|gStƒ}g}|jsx||jkr!|dk rµ|jj|gƒ} | sÁ|jj|ƒqÁn |j ƒ} xY| D]Q} xHdD]3} || dk rÕ|| t | | ƒkrÕPqÕqÕW|j | ƒqÈW|S|j ƒ} |dk rN|j d|ƒ} n6|dk ro|j d|ƒ} n|j ƒ} t|_t}xŠ| D]‚\}}|j||ƒ} |jj| jƒt}xHdD]3} || dk rÏ|| t | | ƒkrÏPqÏqÏW|j | ƒq‘W| r=|dk r=|jj|ƒn|S( s4List of matching packages, to zero or more of NEVRA.RRhRgRçR•N(sarchsrelsversepoch(sarchsrelsversepoch(RRhRftlocalsRgReRdRÆR3R÷tgetattrR†R"R…RRR»R•(RR•RçRgRhRRštlocRRóRœRÂR(R)tdoneRR((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRÕ!sL     )      )cCs©||jkr|j|St|||ƒ}||j|<|jj|jgƒj|ƒ||j|j<|jr¥|j dkr¥|j d}t j j|ƒ|_ n|S(Ns /Packages(RcRRdR¼R•R†RfRšRR{RRuR RpR“(RRR!RœR£((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyR»Xs   cCs®tj|dƒ}tj|dƒ}tjt|dƒƒ}tjt|dƒƒ}|d}|dkrwd}n t|ƒ}tj|ƒ}tj|||||fƒS(NR•RtversiontreleaseRçRè(RŠt share_dataRRR(RRR•RRgRhRç((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyR‡es    cCstjdtddƒ|jS(NscgetPkgList() will go away in a future version of Yum. Please access this via the pkglist attribute.t stackleveli(twarningstwarntDeprecationWarningRÓ(R((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt getPkgListts  cCs9tjdtddƒg|jƒD]\}}|^q#S(Ns6getHdrList() will go away in a future version of Yum. Rvi(RwRxRyR…(RRR((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt getHdrList{s  cCs_tjdtddƒg}x3|jD](\}}}}}|j||fƒq&Wtj|ƒS(Ns>getNameArchPkgList() will go away in a future version of Yum. Rvi(RwRxRyRÓR†Rtunique(RtlstR•RRçRgRh((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytgetNameArchPkgList€s   cCsYtjdtddƒg}x-|jD]"\}}}}}|j|ƒq&Wtj|ƒS(Ns:getNamePkgList() will go away in a future version of Yum. Rvi(RwRxRyRÓR†RR|(RR}R•RRçRgRh((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytgetNamePkgListŠs   c CsTtjdtddƒg|jd|d|d|d|d|ƒD]}|j^qAS( Ns@returnTuplebyKeyword() will go away in a future version of Yum. RviR•RRçRgRh(RwRxRyRÕRš(RR•RRçRgRhRœ((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytreturnTupleByKeyword”s  c Csƒtjdtddƒ|\}}}}}|jd|d|d|d|d|ƒ}t|ƒd kr{|d }|jgSgSdS( Ns?returnHeaderByTuple() will go away in a future version of Yum. RviR•RRçRgRhi(RwRxRyR�RßR( RtpkgtupleR§R¨RR©RªR}titem((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytreturnHeaderByTuple™s  *  cCsotjdtddƒ|\}}}}}|d kr@d}ng|j|||||ƒD]}|j^q\S( s?returns a list of header indexes based on the pkgtuple provideds>returnIndexbyTuple() will go away in a future version of Yum. Rviis(none)RRèN(Nis(none)R(RwRxRyRRÕR(RR�R•RRçRsRtRœ((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytreturnIndexByTuple§s     cCs t‚dS(N(tNotImplementedError(RR(((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytaddDBµscCsÌ|dkrd}nt|ƒtjkrEtj|ƒ\}}}n>t|ƒtjtjfkru|\}}}nd}}}|tj |ƒtj |ƒtj |ƒtj |ƒff}tj |ƒS(s2 Given random stuff, generate a usable dep tuple. iN( Rttypettypest StringTypeRtstringToVersiont TupleTypetListTypeRŠRu(R•tflagsRstr_etr_vtr_rtdeptup((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt _genDeptup¹s  c Csàtj|ƒ}|j|||ƒ}||jkr>|j|S|dd}|j|ƒ}i}xk|D]c}|ddkr¦|dkr¦|ddfg|||j|S|dd}|j|ƒ}i}xk|D]c}|ddkr¦|dkr¦|ddfg||R+R?R3tyumtdepsolveR�RÆRt formatRequireRLR†RSRš(RRót providersR=R;trreqtreqR�RgRNtprobtcreqtrestnrestconflicting_poRO((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytcheck_dependenciessJ     4 ccsƒd}xvt|jƒƒD]b}|j|kr4qn|jt|jƒƒrRqn|dkrj|}qn||fV|}qWdS(N(RRÿR÷R•t intersectionR0tprovides_names(Rtignore_providestlastR;((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_iter_two_pkgsBs  c CsÓt|ƒ}g}xº|j|ƒD]©\}}|j|jkrFq"n|j|ƒr²||kr²tj|jƒrˆ|jdkrˆq"ntj|jƒr²|jdkr²q"q²n|jt|d|ƒƒq"W|S(sÛ Checks for any "duplicate packages" (those with multiple versions installed), we ignore any packages with a provide in the passed provide list (this is how installonlyworks, so we do the same). tnoarchRV(R0R¬R•tverEQRtisMultiLibArchR†RU(RRªR=R«R;((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytcheck_duplicatesPs !! cCs™g}g}x6t|jƒƒD]"}|js4qn|j|ƒqWxMt|jƒƒD]9}x0|j|ƒD]}|jt|d|ƒƒqnWqXW|S(s@ Checks for any packages which are obsoleted by other packages. RY(RÿR÷R]R†t obsoletedByRW(Rt obsoletersR=R;tobspo((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytcheck_obsoletedcs !cCs‚g}xut|jƒƒD]a}xX|jD]M}|\}}}||j|||ƒkr)|jt|d|ƒƒPq)q)WqW|S(sq For each package, check that a provides search for it's name (and everything it provides) finds it. R[(RÿR÷R1R?R†RZ(RR=R;tprovtupR•R�Rs((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytcheck_providesps N(NNN(NNN(iRARBRKRttRPMTAG_REQUIRENAMEtRPMTAG_REQUIREVERSIONtRPMTAG_REQUIREFLAGStRPMTAG_PROVIDENAMEtRPMTAG_PROVIDEVERSIONtRPMTAG_PROVIDEFLAGSRùtRPMTAG_CONFLICTVERSIONtRPMTAG_CONFLICTFLAGSR tRPMTAG_OBSOLETEVERSIONtRPMTAG_OBSOLETEFLAGSR¹RRRRR‰tpropertyRÓR�R®RoR"R±R´R¶RÄR¾RÎRÏRÐRÑRÒRÔRtcontainsRPRÙRÛt staticmethodRRæRìR÷RúRR R RRRžRRR R!R"R#R$R(RŒR*R/R;R>R%RƒRBR&RHRJRRaRdRïR�RjRlR…RÕR»R‡RzR{R~RR€RƒR„R†R’R?R•R2R–RšR§R¬R°R´R¶(((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyR\¿s     1   W             #N        $       < (  & C    #7    7          /   cCs|jddƒjddƒS(NR^Rt~(treplace(Rp((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt _sanitize|sR}cBsJeZdZddd„Zd„Zd„Zdddd„Zd„ZRS(sQclass for access to the additional data not able to be stored in the rpmdbs/var/lib/yum/yumdbcCsÑtjƒ|_||j_||j_t|j_i|_tj j |jjƒs“y t |jjƒt |j_Wq½t tfk r�}q½Xn*tj|jjtjƒr½t |j_niid6|_dS(Ntattr(RŠt GenericHolderR°R`RaRtwritablet _packagesR RpRDRRRRIRüRýt yumdb_cache(RR`RaR((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRˆs    cCs`d|jj}tj|ƒ}x:|D]2}tjj|ƒjdƒd}||j||j}n|dkr]||jkr]dS||jdkr|jd|d}|dk rñ|dk rñ|j|jf|j|jfkrñ|jd|dj|ƒ||j|s#Invalid value of attribute %s on %s(RÆR¡RòRóR,RŠtstat_fRRRäRâRæRçRëRterrnotreadRt _validators( RRÇR<RètkeyRRR`tvalid((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_readSs:         cCs›t|ƒ}|j|ƒ}||jkr7|j|=n|j|ƒtjj|ƒr—ytj|ƒWq—tt fk r“t d||f‚q—XndS(sremove the attribute files!Cannot delete attribute %s on %s N( RÆRòR¡RíR RpRDtunlinkRRIR,(RRÇR<((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt_delete}s   cCs |j|ƒS(N(Rý(RRÇ((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyR/‹scCs9|jdƒs"|j||ƒntj|||ƒdS(NR(R+Rõtobjectt __setattr__(RRÇR`((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRŽscCs3|jdƒs|j|ƒntj||ƒdS(NR(R+RÿRt __delattr__(RRÇ((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyR”scCs|j|ƒ}|dk S(N(RÆR(RRÇRŽ((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt __contains__šsccs‹x|jD] }|Vq Wxktj|jdƒD]S}|t|jƒd}||jkrbq0n| r~|jdƒr~q0n|Vq0WdS(Ns/*is.tmp(R¡RÍRáRßRó(Rt show_hiddenR‚((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyt__iter__ s cCsVx'|jdtƒD]}|j|ƒqWytj|jƒWntk rQnXdS(NR(RRRÿR trmdirRáRI(RR‚((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytclean«s  cCs,y|j|ƒ}Wntk r'|SX|S(sretrieve an add'l data obj(RýR,(RRÇtdefaultR¤((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRÆ·s  N(RARBR0RåRÙRúRRRëRíRñRòRõRýRÿR/RRRRRRRÆ(((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRÔÌs.       & *      cCs,tdƒ}x|jƒD] }|GHqWdS(NR^(R\RÔ(tsacktp((s//usr/lib/python2.7/site-packages/yum/rpmsack.pyRUÁs t__main__(,RtRˆRwRÍR tos.pathtrpmUtilsRRtrpmUtils.transactionRRŠR&tpackagesRRt packageSackRRtfnmatchtretyum.i18nRRR—t yum.depsolveRœRRRRRCRLRURWRZR\RÆRR}RÙRÔRURA(((s//usr/lib/python2.7/site-packages/yum/rpmsack.pytsN             E  ÿÿÿÿÿ F õ