PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  }κ^c@s ddlmZddlmZddlmZddlmZddlZddlZddl Z ddl Z ddl Z ddl Z dZ efZeZeZeZdaeaeaeadZdZd Zd dd YZd Zd ZdZ dZ!dS(i(t PluginYumExit(t TYPE_CORE(t splitFilename(tpackagesNewestByNameNs2.1cCsg}yntjt}xN|jD]@}|jds%|jdkrRq%n|j|jq%W|jWn)tj j k r}t d|nX|S(Nt#ts-Unable to read version lock configuration: %s( t urlgrabberturlopentfileurlt readlinest startswithtstriptappendtrstriptclosetgrabbert URLGrabErrorR(tlocklisttllfiletlinete((s#/usr/lib/yum-plugins/versionlock.pyt_read_locklist1s!c Cst|\}}}}}xd|d||fd||fd|||fd||||fd|||||fd|||||ffD]-}x$|D]}tj||rtSqWqWtS(Ns%ss%s.%ss%s-%ss%s-%s-%ss %s-%s-%s.%ss%s:%s-%s-%s.%ss%s-%s:%s-%s.%s(RtfnmatchtTruetFalse( tenttpatternstntvtrRtatnametpat((s#/usr/lib/yum-plugins/versionlock.pyt_match>s     cCsi}i}xtD]{}t|\}}}}}|rZ|ddkrZ|d}n|dkrod}n|j|gj|||fqW|jj|j} x[t| D]M} | j} | j } | j | j | j f|| krqn| || X, where X is either a package object or a list of them. If it's the former, it's the updating package. If it's the latter, it's the obsoleting packages (since multiple packages may obsolete the same name). it!iRt0i(RRt setdefaultR tpkgSackt searchNamestkeysRRt returnEVRtepochtversiontreleasetfollow_obsoletestuptgetObsoletesTuplest isinstancetlisttgetPackageObject(tbasetupdatestlocksRRRRRRtpkgstpRtevrttupstnewtoldtnnametoname((s#/usr/lib/yum-plugins/versionlock.pyt _get_updatesOs:    &  "      tVersionLockCommandcBsDeZdZdZdZdZdZdZdZRS(iH^JcCsdgS(Nt versionlock((tself((s#/usr/lib/yum-plugins/versionlock.pytgetNamesscCsdS(Ns9[add|exclude|list|status|delete|clear] [PACKAGE-wildcard]((R@((s#/usr/lib/yum-plugins/versionlock.pytgetUsagescCsdS(NsControl package version locks.((R@((s#/usr/lib/yum-plugins/versionlock.pyt getSummaryscCsdS(N((R@R2tbasecmdtextcmds((s#/usr/lib/yum-plugins/versionlock.pytdoChecksc Csd}|rh|dd+kr%d}qhid d 6dd6dd6dd6j|d|d}|d }nt}tjd rttd }n|jd r|dkrdtGHd d|fgfS|dkrk|jjd|}|s|jjd|}nt}xHtD]=}t |\} } } } } |j | | | | | fqWt |d}d}x|D]}|j \} } } } } d} | | | | | f|krqxn|j | | | | | fd| | | | fGH|s|j dtjn|d 7}|j \} } } } } |j d| | | | dfqxWddt|gfS|dkr|jjd|}t|}t |d}d}t}x|D]}|j \} } } } } d} | | | | | f|krqn|j | | | | | fd| | | | fGH|sS|j dtjn|d 7}|j \} } } } } |j d| | | | dfqWddt|gfS|d krt |dddgfS|d krtjj|}tjd|dd\}}tj|dd }d}xStD]H}t||red!G|GH|d 7}q7n|j ||j d"q7W|j|stj|d d#gfStj|d$tj||dd%t|gfS|dkrtat|}xq|j D]c\}}t!|t"rftd&|D}x|D]} d'| |fGHqGWqn|j#d(GHqWdd)gfS|dkst$xtD] }|GHqWdd*gfS(,NR0itaddtexcludesadd-!sadd!t blacklisttstatustdeltdeletetclearisfile:t/s$Error: versionlock URL isn't local: sversionlock %s failedRRt*s"Adding versionlock on: %s:%s-%s-%ss # Added locks on %s s%s:%s-%s-%s.%s sversionlock added: sAdding exclude on: %s:%s-%s-%ss # Added excludes on %s s!%s:%s-%s-%s.%s twsversionlock clearedtdirtsuffixs.tmpisDeleting versionlock for:s s%Error: versionlock delete: no matchesisversionlock deleted: css|]}|jdVqdS(s.*N(tenvr(t.0R6((s#/usr/lib/yum-plugins/versionlock.pys ss%s (replacing %s)s.*sversionlock status donesversionlock list done( saddRHsadd-!sadd!RIslistRJRKRLsclear(%tgetRR tlentrpmdbtreturnPackagesR%tsetRRRGtopentpkgtuptwritettimetctimetstrRtostpathtdirnamettempfiletmkstemptfdopenR!RtunlinktchmodtrenameRt no_excludeR=t iteritemsR/R0RStAssertionError(R@R2RDREtcmdtfilenameR5tdoneRRRRRRtfotcounttpkgRbtoutt tmpfilenameR3Rtvalue((s#/usr/lib/yum-plugins/versionlock.pyt doCommands           $     $               cCstS(N(R(R@R2RDRE((s#/usr/lib/yum-plugins/versionlock.pytneedTss( t__name__t __module__tcreatedRARBRCRFRuRv(((s#/usr/lib/yum-plugins/versionlock.pyR>s     ycCsk|jdda|jdddta|jdddtat|jdrg|j t ndS(NtmainRR,tdefaultt show_hinttregisterCommand( t confStringRtconfBoolRR,RR|thasattrt_baseR}R>(tconduit((s#/usr/lib/yum-plugins/versionlock.pyt config_hooks cCst|dr|jdn|jjj}d}|d|tdd|d|tddt|d|tdd t|d|td d dS( NtregisterPackageNamesyum-plugin-versionlocksyum-utils.versionlock.W.is wash.markedis mark.name.inis wash.nevr.inisexclude.marked( RRRR%taddPackageExcludertNoneR_t_version_lock_excluder_nt_version_lock_excluder_nevr(Rtapetexid((s#/usr/lib/yum-plugins/versionlock.pyt_add_versionlock_whitelist$scCst|dr|jdn|jjj}d}|d|tdd|d|tddt|d|tdd dS( NRsyum-plugin-versionlocksyum-utils.versionlock.B.is wash.markedis mark.nevr.inisexclude.marked(RRRR%RRR_t_version_lock_excluder_B_nevr(RRR((s#/usr/lib/yum-plugins/versionlock.pyt_add_versionlock_blacklist.sc Cstr dS|jddts/tdnxtD]}t}|rn|ddkrn|d}t}nt|\}}}}}|j}|j}|j}|j}|dkrd}n|rt j d ||||fq9nt j |t j d ||||fq9Wt rt rxP|jjjD]9\}} | dt krfqDnt j |djqDWntrtt|jnd} | r| dkrd } d } n d} d } |jd d| | | fnt rt|nt rt|ndS(Nis"Reading version lock configurationsLocklist not setiR"iRR#s %s-%s:%s-%ststthemtitisRExcluding %d update%s due to versionlock (use "yum versionlock status" to show %s)(RitinfoRRRRRRtlowerRRGRRR,RR-R.R|RVR=RR( RRtnegRRRRRR[tinstTupttotalRRtwhat((s#/usr/lib/yum-plugins/versionlock.pyt exclude_hook7sP         ! !    (("t yum.pluginsRRtrpmUtils.miscutilsRtyum.packageSackRRturlgrabber.grabberR`RRcR]trequires_api_versiont plugin_typeRYRRRRRRR|RR,RiRR!R=R>RRRR(((s#/usr/lib/yum-plugins/versionlock.pyts4            >