mò Úd^Jc@s dkTdkTdkZdkZdkZdkZdkZdkZdkZdk Z dk Z dk Z e i ie i iedƒƒo dZneZdd„Zd„Zd„ZhZhZhZhZhZdeifd „ƒYZd efd „ƒYZdS( (t*Nsii3.1s3.19icCse|\}}}|d}|o|d}n |d}|d|iƒ}|o|d}n|S(Nt s[*]s[ ]s << UPDATE AVAILABLE >>(tstatust installablet installedtupdatetindenttstspectstr(RRRRRRR((tk/home/faculty/youssef/public_html/pacman/sample_cache/tarballs/pre/tmp/pacman-3.29/src/InstallationCache.pytspecStr s  cCsÈd}|}|}t|ƒdjot|ƒdjoŠ|ddjp|d}n|ddjp|d}nt|ƒt|ƒjo/|t|ƒ |t|ƒ jo d}qÀqÄn|S(Niiÿÿÿÿt/i(tsubtata2tbtb2tlen(RRR RR((R tpathsubs&!cCstt|ƒƒ S(N(tabsthashtx(R((R tfileify2 stInstallationCachecBsÝtZdd„Zd„Zd„Zd„Zdd„Zd„Zd „Zd „Z d „Z d „Z d „Z d„Z d„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(Nt.cCsctiit|ƒtdtd ƒ|_tiit|ƒtdtd ƒ|_ tiit|ƒtdtd ƒ|_ tiit|ƒtdtd ƒ|_ tiit|ƒtdtd ƒ|_ h|_ h|_h|_h|_d|_d|_t|ƒ|_t|iƒo d |_n d|_|i|_d |_d |_h|_dS( Ntiiitistietshtdaitrtrwt installationt(tostpathtjointfullpatht directoryt pacmanDirtoversiontselft_dbfilet_spfilet_exfilet_shfilet_dafilet_dbt_spt_ext _quotientt_initt_modet _locationt writeabletUCLttypet_datet_cacheDB(R*R'((R t__init__)s&)))))           cCs¼|ii|ƒo|i|}n•tdƒod|dGHny|i|}Wn1tdti i |i t |ƒƒdƒnXtdƒod|i ƒdGHn||i|<|S(Ntios Reading [s]...sError reading from [s] in Pacman database.sDone reading [(R*R;thas_keytkeytptverboR0tabortR#R$R%R+RR (R*R?R@((R t in_get_key>s .  cCs¯tdƒod|iƒd|dGHny||i|(R*R?((R t in_remove_keyXs icCsr|itiƒgƒ\}}|iƒd„}t||ƒ|d| GHx|D]}|i |dƒqSWdS(NcCs|ii|iijS(N(R@t_spectnametq(R@RL((R tleesRi( R*tgetAlltPackagetSpecRtpstrequireRMtsortRR@tdisplay(R*RRQRMR@R((R RTbs   cCs:h|_x*|iiƒD]\}}|i|ƒqWdS(N(R*R3R1titemstkRtqadd(R*RVR((R tqinitjs  cCsx|ii|iƒoD|iƒ |i|ijo"|i|ii|iƒ ƒqtn|iƒ g|i|iRRKt_idtappend(R*R((R RWms&cCs¥tƒ}|ii|iƒovyP|i|ii|iƒ ƒt |i|iƒdjo|i|i=nWq¡t j otdƒ}q¡Xn tdƒ}|S(Nis Installation has been corrupted.( tReasonRR*R3R>RRKtremoveRYRt ValueError(R*RR((R tqremss  cCs{tƒ}ttii|itdƒƒ}td|dt |ƒ ƒ}|i ƒot |ƒ}n tiƒ}||fS(Ntplatforms Can't read [s].(R[RR&R#R$R%R*R8R(tpft readAccesstoktgetR_tPlatform(R*R_RR`((R R_s !  c Csðtƒ}|idjoÓ|iƒ\}}|iƒo@td| d| dtdƒ o|tiƒj ƒ}n|iƒo”ti i |i ƒo*ti i |i ƒotdƒ}qqt idd|i d ƒt|i ƒ}ti|ƒd jotd ƒ}qn|iƒoyy?t idd |i d ti|i ƒ d ƒti|i ƒpIt|i |iƒ}t iddƒti|ƒt|i <|iƒnt|i |_ti|iƒp6t|i|iƒ}ti|ƒt|i<|int|i|_ti|i ƒp9t|i |iƒ} ti| ƒt|i <| iƒnt|i |_"t#i|i$ƒp9t|i$|iƒ}ti|ƒt#|i$<|iƒnt#|i$}ti i |i'ƒo=t|i'dƒ} | i)ƒ}| iƒ|dd |_+nt,i-t,i,ƒƒ|_+t.i.i/i0|ƒ|i1ƒd|_WqŸt2t3t4fj otd|i dƒ}qŸXn|iƒo<t5|iƒt5|i"ƒjptd| dƒ}qèqìn|S(NisCache [s] installed on [s].s any-platforms$Installation made with Pacman < 3.2.R=s Opening [s]...tgdbms<Default gdbm database has problems. Use -allow old-databases Reading [s], database type [s Reading installation database...RiÿÿÿÿisCan't open Pacman database [sInstallation [s] has been corrupted.(6R[RR*R4R_RbtallowRdR#R$texistsR+tisdirRAtlogtdbpathtdbptwhichdbt _dbfileDBR>topenR5tttcPickletloadtcloseR0t _spfileDBR,RR1t _exfileDBR-RR2t _shfileDBR.tytxdbR/tzt readlinestlinesR:ttimetctimet ShellCommandt _executedRRXRFRGRHR( R*RkR_RwRzRRRoRvRRx((R tinit‡sh  @  0        !cCs |iƒ}|iƒoƒyLtidd| dƒt|idƒt|iddƒ}t i |i |ƒ|i ƒtid|id|iƒt|idƒ}t i |i|ƒ|i ƒt|idƒ}t i |i|ƒ|i ƒt|idƒ}t i tii|ƒ|i ƒt|idƒ}|ititiƒƒdƒ|i ƒWqœtt fj ot!d |id ƒ}qœXn|S( NR=sSaving [s]...s.tmptwsmv -f s.tmp s sError writing to [s].("R*R7RRbRARit removeFileR+RnRoRptdumpR0RrR#tsystemR,RR1R-RR2R.RvR}R~R/RxtwriteR{R|RFRGR[(R*RRRoRvRRx((R tsaveÁs0        cCsF|iƒ}|iƒo)|idjotd| dƒ}n|S(NR sNo write access to [s].(R*RRRbR5R[(R*R((R R7Ûs cCs3|iƒ}|iƒo|iƒ}nd}|S(NiR(iiiR(R*RRRbR@RRo(R*R@RRo((R textraàs   cCs¯ti|iƒ}xKt|iƒdjo4tii |id|i ƒo|ii dƒqW|i i|iƒ ƒotdƒSnti|ƒ}||_|iƒ}|iƒo-tidd|iƒd| dƒ}n|iƒo¸tdƒo d|iid | d GHn|i |_|iiƒ}yV|i| |ƒti|iƒ|i| <|i|ƒ|i| <|i |iƒWq«td ƒ}q«Xn|S( NiRbs package-addsAbout to add [s] to [s]. OK?tinsts Putting [s] in [s]...s!Error writing to Pacman database.(!tcopytdeepcopytp2RJtpspecRtcachestRegistrytregistrytequivR*R8tpopR;R>RYR[R@R7RRbtasktreR RARKt_inCachetiddRER1R†R2RW(R*RŠR‹R@RR”((R tputæs06   -   cCs(|itiƒgƒ\}}||fS(N(R*RNRORPRRQ(R*tusedRQR((R tcontentsýscCsËtii|iƒg}}|iƒo|iƒ}n|iƒo{|i i ƒ}xi|D]]}|t ii||i |dgƒjo-|i|ƒ}|i|ƒ|i|ƒq\q\Wn||fS(Ni(tTrustttrusttaddR*R8RRQRbRR2tkeysR?tlocationR#R$t commonprefixRCR@t prependTempRZ(R*RœRQR›R@RR?((R t getLocations  * cCsO|i|idƒ|i|idƒ|iiidti i |i ƒƒdS(Ntfooi( R*tprependTempBaseR@t_environt_sourceRJRŒtinsertRRŽtshortR8(R*R@((R RžscCs’|idjp|idjo5xktt|ƒƒD]}|i|||ƒq3Wn:|idjo)|ii i dt i i |iƒƒndS(NtANDtORs lazy packagei(teR9trangeRtiR*R¡tcacheRJRŒR¤RRŽR¥R8(R*R¨R«Rª((R R¡s  cCs¤tii|iƒg} }| iƒo|iƒ} n| iƒo|i ||ƒ\} }n| iƒoQt i |iƒdjpt i |iƒdjoT|iiƒ}xš|D]6}|i|ƒ} |i| ƒo|i| ƒq·q·WnY|ii|iƒoBx?|i|iD])} |ii| ƒptdtdƒn|i| |joæ|i| ƒ} |i| _ti| iƒ} t | i!ƒdjo4t"i#i$| i!d|iƒo| i!i%dƒnti|ƒ}t |i!ƒdjo4t"i#i$|i!d|iƒo|i!i%dƒnd}|i| ƒo d}n6| i}| | _|i| ƒo d}n|| _|o¶t)t*|iƒjpSd| _+g| _,x>t-t | i.ƒƒD]#} | i.| i!i0d|iƒqÉWnt1dƒo/d|i2ƒd |id GH| i3d ƒn|i| ƒqEqqWnt |iiƒƒdjot4d | d ƒ} qÀt |ƒdjo't4d|i2ƒd| dƒ} qÀnt |ƒdjo|it)j opt5dƒ obt5dƒ oTt5dƒ oFt5dƒ o8t1dƒo'd|dii2ƒd| dGHqTn| iƒo|i6|ƒ}n| iƒo|i7|ƒ\} }n| |fS(NR"Rs1Old Pacman database is incompatible with Pacman [s].iiR‡sGetting package [s] from [s]:isInstallation [s ] is empty.s Can't find [s] in [tltlcRs update-checkR«s Package [s ] found in [s]...(8R˜R™RšR*R8RRQRbRtcheckRR–tstringtstripRKR1R›R?RCR@t satisfiedByRZR3R>R”RBtversionR“RˆR‰RJt pspeccopyRRŒRRŽRRtspec2tdoittold_spect pac_anchorR&t _neuteredt_parentsR©t _modifiersRªR¤RAR RTR[tswitcht prependToptprepend(R*RR–RQR¶R›RµR?R´R”RªR@RR³((R RNst   2 66       % +\ +  c Cs.g}tii|iƒiƒ|iƒiƒ|ii ƒ}t |ƒ}t dƒ}| ot dƒo |dj} | ot|dƒ}nd}x|D]ˆ}|d}|i|ƒ}|od|iiƒdGHn| o|i|ƒnt |iƒƒdjo|i|iƒn~qžW|S( NR=tmeteriÈsReading database...iis Reading [s]...(ttopspecsR˜R™RšR*R8RRRR1R›RtnkeysRAtgoListtgoMetertMetertmtcountR?RCR@RJR R¾tparentsRZ( R*RÅR@R¿R›RÄRÁR?RÀRÂ((R ttopSpecsKs,  ! cCsÇg}|iƒ} | iƒo¤|iiƒ}t|ƒ}t dƒ} | ot dƒo |dj}|ot |dƒ}nd}x9|D]-} |d}|i| ƒ}| od|iiƒdGHn|o|i|ƒn|id jpÅg} xD|iD]9}|i|ƒ\}} |iƒo| i|ƒqqW| |_g}xD|iD]9}|i|ƒ\}} |iƒo|i|ƒq]q]W||_|i |ƒi!ƒqŽqŽWn| S( NR=R¾iÈsReading database...iis Reading [s]...s lazy package("R–R*RRRbR1R›RRÀRARÁRÂRÃRÄRÅR?RCR@RJR R¾R9tparsR¹tparRctrrtppRZtmodsRºtmodR•RR(R*RÅRÉR–RÌRÊR@R›RÄRËRÁRRÈR?RÀRÂRÍ((R trefreshParents`sF    !       cCsÉ|iiƒ}x³|D]«}|i|ƒ}gg}}x/|iD]$}||jp|i |ƒqBqBWx/|i D]$}||jp|i |ƒqtqtW||_||_ |i |ƒiƒqWdS(N(R*R1R›R?RCR@RÆt modifiersR¹tspRRZRºR•RR(R*RRÏR›RÐR@RÆR?((R t_cleanUpParents~s        cCsb|iƒ}|iƒoEti|ƒ}t|i ƒdjo4t i i |i d|i ƒo|i idƒnxØ|iiƒD]Ç}|i|}||jo§|idjo2|i|ƒ|i|=|i|=|i|ƒqI|i|ƒ}|i|ƒp|i|ƒo2|i|ƒ|i|=|i|=|i|ƒqIq‚q‚W|i|ƒn|S(NiR"(R*R7RRbRˆR‰RttspecRRŒRRŽRR8RR1R›R”R´tguardRIR2R^RCR@R±RÑ(R*RRÒR@RR”R´((R R\Šs,  6         (t__name__t __module__R<RCRERIRTRXRWR^R_RR…R7R†R•R—RŸRžR¡RNRÇRÎRÑR\(((R R(s.      :        2   tOldInstallationCachecBs5tZd„Zd„Zd„Zd„Zd„ZRS(NcCs.|ii|ƒo|i|}ntdƒo)dtii|i t |ƒƒdGHnyDt tii|i t |ƒƒdƒ}t i|ƒ}|iƒWnFtttfj o1tdtii|i t |ƒƒdƒnXtdƒo)dtii|i t |ƒƒdGHn||i|<|S(NR=s Reading [s]...RsError reading from [s] in Pacman database.sDone reading [(R*R;R>R?R@RAR#R$R%R+RRntfRpRqRrRFRGRHRB(R*R?R×R@((R RC£s )'/ ) cCs(tdƒo)dtii|it|ƒƒdGHnyUtii|it|ƒƒ}t|ƒt |dƒ}t i ||ƒ|iƒWnSttii|it|ƒƒƒtdtii|it|ƒƒdƒnXtdƒo)dtii|it|ƒƒdGHn||i|(R*R?R$((R RIÀs c Cstƒ}|idjoñ|iƒ\}}|iƒo2td| d| d|tiƒj ƒ}n|iƒo‚tii |i ƒoSt |i ƒo*d|_ t |i ƒo d|_ qÜqõtd| dƒ}qùtd| d ƒ}n|iƒo·y}tid d | d ƒtii |i ƒ o+t|i d ƒotid|i ƒnt|i|i ƒ}ti|ƒ|_|it|i|i ƒ}ti|ƒ|_|iƒt|i|i ƒ}ti|ƒ}|iƒtii |iƒo=t|idƒ}|i!ƒ}|iƒ|dd |_#nt$i%t$i$ƒƒ|_#t&i&i'i(|ƒ|i)ƒd|_Wq½t*t+t,fj otd|i dƒ}q½Xn|iƒo<t-|iƒt-|iƒjptd| dƒ}qq n|S(NisCache [s] installed on [s].RR sNo read access to [sInstallation [s] does not exist.R=s Reading [s]...R€smkdir iÿÿÿÿis Can't open [s] has been corrupted.(.R[RR*R4R_RbRdR#R$RgR+RaR5t writeAccessRARitcontainsRƒRnR,RRpRqR1RrR-RR2R.RvRwR/RxRyRzR:R{R|R}R~RRXRFRGRHR( R*R_RwRzRRRvRRx((R RÅsT  2   *        !cCs=|iƒ}|iƒo yétidd| dƒt|idƒ}t i |i |ƒ|i ƒt|i dƒ}t i |i|ƒ|i ƒt|idƒ}t i tii|ƒ|i ƒt|idƒ}|ititiƒƒdƒ|i ƒWq9ttfj otd|idƒ}q9Xn|S(NR=sSaving [s]...R€s sError writing to [s].(R*R7RRbRARiRnR,RRpR‚R1RrR-RR2R.RvR}R~R/RxR„R{R|RFRGR[(R*RRRvRRx((R R…òs&       (RÔRÕRCRERIRR…(((R RÖ¢s     -(tBaset EnvironmentR}tCacheRORdRpR˜RR{tshelveRlR#R$RgR%R(R)R²R RRt_dbsRmRsRtRuRRÖ(RÜRdRlRRuRÞRtRsRR)RpRÖROR{R RR}RRÝRmR˜((R t?s"?"  ÿ{