KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /proc/21572/root/usr/share/yum-cli/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/21572/root/usr/share/yum-cli/cli.pyo
m
Pc@s\dZdkZdkZdkZdkZdkZdkZdklZl	Z	dk
Z
dkZdkZdk
Z
dkZ
dkZ
dkZ
dkZ
dkZdkZdklZdk
lZdklZdkZdkZdklZlZdZde
i i!fd	YZ"d
e
i#ei$fdYZ%defd
YZ&dZ'dS(s/
Command line interface yum class and related.
N(sOptionParsersOptionGroup(s
parsePackages(t_(sRPMTransaction(s
to_unicodesto_utf8cCstidIJtiddS(s" SIGQUIT handler for the yum cli. s&Quit signal sent - exiting immediatelyiN(tsyststderrtexit(tsignumtframe((t/usr/share/yum-cli/cli.pytsigquit0s
tCliErrorcBstZdZddZRS(s3
    Command line interface related Exception.
    tcCs tiii|||_dS(N(tyumtErrorstYumBaseErrort__init__tselftargs(RR((RR
;s(t__name__t
__module__t__doc__R
(((RR5st
YumBaseClicBsOtZdZdZdZeddZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZedZdZdedZdZdZdZddZedZdZdZdZdZdZdZdZ dZ!dZ"d Z#d!Z$d"Z%ed#Z&RS($sZThis is the base class for yum cli.
       Inherits from yum.YumBase and output.YumOutput cCs6titittii|tii|t	i
t	id|_t	id|_
h|_|iti|iti|iti|iti|iti|iti|iti|iti|iti|iti|iti|iti|iti|iti|iti|iti |iti!|iti"|iti#|iti$|iti%|iti&|iti'|iti(dS(Nsyum.clisyum.verbose.cli()tsignaltSIGQUITRR
tYumBaseR
Rtoutputt	YumOutputtloggingtbasicConfigt	getLoggertloggertverbose_loggertyum_cli_commandstregisterCommandtyumcommandstInstallCommandt
UpdateCommandtInfoCommandtListCommandtEraseCommandtGroupCommandtGroupListCommandtGroupInstallCommandtGroupRemoveCommandtGroupInfoCommandtMakeCacheCommandtCleanCommandtProvidesCommandtCheckUpdateCommandt
SearchCommandtUpgradeCommandtLocalInstallCommandtResolveDepCommandtShellCommandtDepListCommandtRepoListCommandtHelpCommandtReInstallCommandtDowngradeCommand(R((RR
Cs>
	cCs[xT|iD]F}|ii|o tiit	d|n||i|<q
WdS(NsCommand "%s" already defined(
tcommandtgetNamestnameRRthas_keyR
RtConfigErrorR(RR9R;((RRes

 icCs|io|djo|iSn|p#|iitiit	dn|o ti
i|d|dtnti
i|d||o3|iitiit	d|id|n|iS(segrabs the repomd.xml for each enabled repository 
           and sets up the basics of the repositorysSetting up repositoriestthisrepotdoSetups/Reading repository metadata in from local filesN(Rt_reposR>tNoneRtlogR
t
logginglevelstINFO_2RRt	_getRepostTruetdosackt	_getSacks(RR>RG((RtdoRepoSetupks 
cCsd}tii|ii}|iddxp|D]h}y.|i
}|d|id|f7}Wq;t
tfj
o|d|id7}q;Xq;W|S(sq
        Format an attractive usage string for yum, listing subcommand
        names and summary usages.
        s*yum [options] COMMAND

List of Commands:

tcmpcCs!t|id|idS(Ni(RJtxR:ty(RKRL((Rt<lambda>ss	%-14s %s
is%s
N(tusageR
tmisctuniqueRRtvaluestcommandstsortR9t
getSummarytsummaryR:tAttributeErrortNotImplementedError(RRRRUR9RN((Rt
_makeUsages"!cCstd|d|i|_|ii|}
|
ioti	GHt
|
_t|
_
n|ii|
}|
io
d|
_n|
i
od|
_|
_ny|i}|
i|_||_|
i|_tiitiif|_|i|_|
i|_|
i|_|ii|
i|_|ii|
i|_ |i!Wn{ti"i#j
o/}|i%i&t'd|t(i)dn<t*j
o/}|i%i&t'd|t(i)dnX|ii+|i|ii,d|\}
|_-|
ioYd|i!_.d	d
ddg}	t}d
}xt2|i3i4d|	D]}|o	dGHnt
}|i6djo d|i|i7|i8f}n#d|i6|i|i7|i8f}d|i:i;d|i<|i:i;df}
t'd|
|||i=fGHt'd|i>||i?fGHt'd|i@||iAfGHqIWt(i)dn|
iBdj	otDiE|
iBd}nd}||_d|_Fx$|iD]}|iFd|7_FqWy|iHWn tIj
ot(i)dnXtJiK|dS(sparses command line arguments, takes cli args:
        sets up self.conf and self.cmds as well as logger objects 
        in base instancetbaseRNiisConfig Error: %sisOptions Error: %sRR
syum-metadata-parsertrpmsyum-rhn-plugincCstidti|S(Ns%Y-%m-%d %H:%M(ttimetstrftimetgmtimeRK(RK((Rt
sm_ui_timestpatternsR	t0s%s-%s.%ss%s:%s-%s.%ss%s%s%stboldtnormals  Installed: %s-%s at %ss  Built    : %s at %ss  Committed: %s at %si<syum s%s N(LtYumOptionParserRRXt	optparsert
firstParseRtoptstversionR
t__version__RFtquiettFalsetverbosetgetRoottroott
debuglevelt
errorleveltpreconftpctconffiletfnt	nopluginstinit_pluginstpluginst	TYPE_COREtTYPE_INTERACTIVEtplugin_typest	_splitArgtdisablepluginstdisabled_pluginst
enablepluginstenabled_pluginstconfRR=teRtcriticalRRRt
ValueErrort	set_usagetsetupYumConfigtcmdstcachet	yum_progstdoneR^tsortedtrpmdbtreturnPackagestpkgtepochtreleasetarchtverttermtMODER;tinstalltimetpackagert	buildtimet	committert
committimet	sleeptimeRAtrandomt	randranget	cmdstringtargt
parseCommandsRR[tsleep(RRR^RRRRRRqRR;RmRRf((RtgetOptionsConfigs~
	



		

		 "*!!%		
cCs|iidti|iitiid|i|iitiid|i	i
t|i	idjo)t|i
djo|i	i|_
n|i
|i	_t|i
djo*|iitd|itn|i
d|_|i
d|_t|idjoM|iitiidx1|iD]"}|iitiid|qAWn|ii|ip|itn|i|ii||i|id	S(
s{reads self.cmds and parses them out to make sure that the requested 
        base command + argument makes any sense at allsYum Version: %ssCOMMAND: %ssInstallroot: %siisYou need to give some commandsExt Commands:
s   %sN(RRtdebugR
RhRBRCtDEBUG_4RRtinstallroottlenRRRRRRRNRtbasecmdtextcmdsRRR<tdoCheck(RR((RRs2
/


$

cCsPtid|}t|idjo|in|i|i|i	fS(s*do a shell-like interface for yum commandsRYiN(
tshelltYumShellRtyumshellRRtcmdlooptscripttresultt
resultmsgs(RR((RtdoShells
cCs!d}tid}h}x|i|D]}|i|i	dp&t
|i	d||i	d<n||i	dt
|i	djo&t
|i	d||i	d<q+q+W|oC|td7}x0|D]$}|td|||f7}qWntd|}|S(	sm parse the error string for 'interesting' errors which can
            be grouped, such as disk space issues R	s%needs (\d+)MB on the (\S+) filesystemiisDisk Requirements:
s-  At least %dMB needed on the %s filesystem.
sError Summary
-------------
N(
RUtretcompiletptdisktfinditert	errstringtmR<tgrouptintRtk(RRRRURRR((RterrorSummary%s"&)*&cCst}t}|i|i}t|do|i||i|i	}n|o/t|do|i||i|i	}n|p|oFy|i
|Wqtii
j
o}dt|gfSqXn|i|ii||i|i	S(s_
        Calls the base command passes the extended commands/args out to be
        parsed (most notably package globs).
        
        Returns a numeric result code and an optional string
           - 0 = we're done, exit
           - 1 = we've errored, exit with error string
           - 2 = we've got work yet to do, onto the next stage
        tneedTstneedTsRemoveiN(RFRRjRRRRtcmdthasattrRt_getTsR
RRRtstrt	doCommand(RRRRR((Rt
doCommands?s	cCst|idjo|iitddSn|i}|iit	i
io|iit	i
i|n"|i
ip|ii|ng}t}xX|iiD]G}|iddgjo+t}|i}|o|i|qqqW|ii|o|i|n|io/|ip|iitddSq_n|iit	i
itd|i |d|i!}
t|
djoud	}
|
td
7}
xI|
D]A}t	i%i&|
|}x"|D]}|
d||f7}
qWqWt	i)i*|
n|i+|djodSn|i
i,ot-i-}|iit	i
itd|i/}|oHtd
GHx|D]}t2|GHqWdtd|i
i3gfSn|ii4dt-i-|nt-i-}|iit	i
itd|i
i6p|ii7it8i9nt:|dt}|i<|i=}d|_=|i@dd|iiA|}~|iit	i
itdt|djoUtd}
x"|D]}	|
dtD|	7}
qWt	i)i*|
d|iE|
n|iit	i
itd|`|ii4dt-i-|tFiFtFiGtFiHt-i-}|i<|i@dd|iiJ|iiK||_=t:|dtLiM}|i
iOdjot|iP_Ln|iit	i
itd|iQd|}|ii4dt-i-||iit	i
i|iStFiFtFiGtT|iUS(sntakes care of package downloading, checking, user confirmation and actually
           RUNNING the transactionis9Trying to run the transaction but nothing to do. Exiting.ititusExiting on user CommandsDownloading Packages:tcallback_totalR	sError Downloading Packages:
s	  %s: %s
sRunning rpm_check_debugs'ERROR with rpm_check_debug vs depsolve:sPlease report this error in %ssrpm_check_debug time: %0.3fsRunning Transaction TestttesttkeepoldsFinished Transaction TestsTransaction Check Error:
s  %s
s
sTransaction Test SucceededsTransaction Test time: %0.3ftdisplayisRunning TransactiontcbsTransaction time: %0.3fN(VRRttsInfoRtinfoRtlistTransactiontlststisEnabledForR
RCtINFO_1RBRt	assumeyesRtwarntdownloadpkgsRjtstuff_to_downloadt
getMembersttxmbrtts_stateRFtpotappendttstclosetreportDownloadSizet
_promptWantedtuserconfirmRDtdownloadPkgstdownload_callback_total_cbtproblemsRtkeyRORPterrorsterrorRRtgpgsigchecktrpm_check_debugR[trcd_stt_run_rpm_check_debugtmsgstmsgtto_utf8tbugtracker_urlRttt_sttdiskspacechecktprobFilterFlagsRZtRPMPROB_FILTER_DISKSPACEtRPMTransactionttestcbtinitActionTst
dsCallbacktdscbRAt
populateTsRttserrorstdescrt
to_unicodeRRRtSIG_DFLtts_sttchecktorderRtYumCliRPMCallBackRRnRtrunTransactiontresultobjecttpostTransactionOutputRtreturn_code(RRRRRRRRRRRRRRRRRRRRRR((Rt
doTransaction_s
	





!"


		
$



	
csx|D]}i|\}}|djoqq|djoRtiio'i	i
otii
tdni|dqtii
|qWdS(sPerform GPG signature verification on the given packages, installing
        keys if possible

        Returns non-zero if execution should stop (user abort).
        Will raise YumBaseError if there's a problem
        iisTRefusing to automatically import keys when running unattended.
Use "-y" to override.cs
iS(N(RR(RKRLtz(R(RRMsN(tpkgsRRtsigCheckPkgRterrmsgRtstdintisattyRRR
RRRtgetKeyForPackage(RRRRR((RRRs

cCs|id|gdt}|i|i}ttd|}|o>|i	t
ddi|}|i
itii|ndS(s= If install argument doesn't match with case, tell the user. R_tignore_casecCs|iS(N(RKR;(RK((RRM
ss  * Maybe you meant: s, N(RtdoPackageListsRRFtmatchest	installedt	availabletsettmapt
fmtKeyValFillRtjoinRRRBR
RCRD(RRRR((Rt_maybeYouMeantscCs|id|gdt}|ip|io|i|odSn|ii	d}|ii	d}|io0|ii
tiitd|||dSn|id|gdt}|io:|io0|ii
tiitd|||dSnttd|i}|p|o,|ii
tiitd|||n|o>|itd	d
i|}|ii
tii|ndS(sr If the update/remove argument doesn't match with case, or due
            to not being installed, tell the user. R_R	NRaRbs/Package(s) %s%s%s available, but not installed.cCs|iS(N(RKR;(RK((RRM(ssNo package %s%s%s available.s  * Maybe you meant: s, (RR
RRjRRR
treturnInstalledPackagesByDepRRthibegthiendRRBR
RCRDRRFRRt
always_outputRRR(RRRRRRR((Rt_checkMaybeYouMeants4%
	
	
	cCst|i}x|D]}|ido-tii	|o|i
d|gqny|id|Wqti
ij
oP|iitiitd|iid||iid|i|qXqWt|i|jodtdgfSnd	td
gfS(s<Attempts to take the user specified list of packages/wildcards
           and install them, or if they are installed, update them to a newer
           version. If a complete version number if specified, attempt to 
           upgrade (or downgrade if they have been removed) them to the
           specified versions.rpmtfilelisttpatternsNo package %s%s%s available.RaRbisPackage(s) to installis
Nothing to doN(RRRtoldcounttuserlistRtendswithtostpathtexiststlocalInstalltinstallR
RtInstallErrorRRBRCRDRRRR(RRRR((RtinstallPkgs2s$#	ic
Csbt|i}t|djo|ing}xB|D]:}|ido$t	i
i|o|i|q=q=Wt|djo8|i
d|ddx|D]}|i|qWnx8|D]0}|id|d|p|i|qqWt|i|jo4t|i|}	td|	}d	|gfSndtd
gfSdS(s[take user commands and populate transaction wrapper with 
           packages to be updatedis.rpmRt
updateonlyiRt	update_tos%d packages marked for UpdateisNo Packages marked for UpdateN(RRRRRtupdatetlocalupdatestitemRRRRRR tremoveRR%RtchangeRR(
RRRiR%R(RR'RRR*((Rt
updatePkgsRs.#cCst|i}x8|D]0}|id|p|i|dtqqWt|i|jo4t|i|}t
d|}d|gfSndt
dgfSdS(sctake user commands and populate a transaction wrapper with packages
           to be erased/removedRRs%d packages marked for removaliisNo Packages marked for removalN(RRRRRRR)RRjR*RR(RRRRRR*((Rt	erasePkgsvscCst|i}x|D]}|ido'tii	|o|i
|qny|id|Wqti
ij
oP|iitiitd|iid||iid|i|qXqWt|i|jodtdgfSndtd	gfS(sAttempts to take the user specified list of packages/wildcards
           and downgrade them. If a complete version number if specified,
           attempt to downgrade them to the specified versions.rpmRsNo package %s%s%s available.RaRbisPackage(s) to downgradeis
Nothing to doN(RRRRRRRRRRtdowngradeLocalt	downgradeR
RtDowngradeErrorRRBRCRDRRRR(RRRR((Rt
downgradePkgss$#
	cCst|i}x6|D].}|ido'tii	|o|i
|qny|id|Wqti
ij
o|i|dtqti
ij
oj}|iid|gd}d}|iitiitd|iid||iid	|qti
ij
o"}|iitii|qXqWt|i|jod
tdgfSndtdgfS(s^Attempts to take the user specified list of packages/wildcards
           and reinstall them. s.rpmRRR_iR	s)Installed package %s%s%s%s not available.RaRbisPackage(s) to reinstalls
Nothing to doN(RRRRRRRRRRtreinstallLocalt	reinstallR
RtReinstallRemoveErrorRRjtReinstallInstallErrorRRRtipkgtxmsgRRBRCRDRRRtReinstallError(RRR6R5RRR((Rt
reinstallPkgss0#
	"cCst|djodtdgfSnt}x4|D],}|i|d|}|o
t
}q7q7W|odtdgfSndtdgfS(slhandles installs/updates of rpms provided on the filesystem in a 
           local dir (ie: not from a repo)isNo Packages ProvidedR$isPackage(s) to installs
Nothing to doN(RRRRjt
installingRRtinstallLocalR$ttxmbrsRF(RRR$R;R9R((RR sc	sdddddddg}d}t}t}t|djo|o(|ddjot}|i	dq|o(|ddjot}|i	dq|d|jo|i	d}qnid	|d
|dt}i
io|i|i7_nd}||i||_||i||_||i||_||i||_||i||_||i||_|o|i|_|i|_n|o
g|_n|o
g|_n|S(sReturns packages lists based on arguments on the cli.returns a 
           GenericHolder instance with the following lists defined:
           available = list of packageObjects
           installed = list of packageObjects
           updates = tuples of packageObjects (updating, installed)
           extras = list of packageObjects
           obsoletes = tuples of packageObjects (obsoleting, installed)
           recent = list of packageObjects

           installed_available = that the available package list is present
                                 as .hidden_available when doing any of:
                                 all/available/installed
           R
Rtalltextrastupdatestrecentt	obsoletesit	pkgnarrowR_R	cs}t|djobt|djoOiitiit	dt
||\}}}tii||Sn|SdS(Nis/Matching packages for package list to user args(RtlstRRRRBR
RCtDEBUG_1Rt
parsePackagest
exactmatchtmatchedt	unmatchedRORP(RBRRERGRF(R(Rt_shrinklists&
N(tspecialRARjtdone_hidden_availabletdone_hidden_installedRRtinstalled_availableRFtpopRR
typlRtshowdupesfromreposR
treinstall_availableRHR>RR?R=R@thidden_availablethidden_installed(	RRRLRJRNRHRIRARK((RRtreturnPkgListssB

	

cCsBddddg}|ii}tt|}|i||d|dt	}
t}t}x|
D]w\}}}||joH|o	dGHn|idd	it|GH|}|i|n|i|||qdWx8|D]0}	|	|jo|iitd
|	qqW|pdtdgfSnd|
fS(sgcli wrapper method for module search function, searches simple
           text tags in a package objectR;RUtdescriptionturltshowdupstkeysR	s	Matched: s, s!Warning: No matches found for: %sisNo Matches foundN(t
searchlistRRROtdupsRRRtsearchGeneratorRFtmatchingRtokeystakeysRRWt
matched_valuet
fmtSectionRRR&t
matchcallbackRRtwarningR(RRR\RXRYRWR]RR^RR[((Rtsearchs0		
	!
!c
Csg}x|D]}|ido<tii|o)tii	|i|}|i
|nA|ii|g\}}	}x||	D]}|i
|qW|i|}|i|q
WdgfS(s}cli wrapper method for findDeps method takes a list of packages and 
            returns a formatted deplist for that packages.rpmiN(RRRRRRRR
tpackagestYumLocalPackageRRtthispkgRtpkgSacktmatchPackageNamestematchtmatchtunmatchRtfindDepstresultst
depListOutput(
RRRjReRlRhRRRRi((Rtdeplist7s#c
Cs|ii}t|i_|i}|i|d|dt}||i_t
|djox|D]}d|jp|o|ddjoqbn|ii
td|iid||iid|iid||iidqbWdd	gfSndgfS(suse the provides methods in the rpmdb and pkgsack to produce a list 
           of items matching the provides strings. This is a cli wrapper to the 
           moduletcallbacktcallback_has_matchforit*t/sWarning: 3.0.x versions of yum would erroneously match against filenames.
 You can use "%s*/%s%s" and/or "%s*bin/%s%s" to get that behaviourRaRbsNo Matches foundN(RRROtold_sdupRFtmatchcallback_verboseRtsearchPackageProvidesRR[RRRRaRRR(RRRRsRR[((RtprovidesJs&	%
cCsx|D]}y|i|}Wn2tiij
o |ii	t
d|qXd|i|i|i
|i|if}|ii|qWdgfS(sBreturns a package (one per user arg) that provide the supplied argsNo Package Found for %ss%s:%s-%s-%s.%siN(RRRtreturnPackageByDepRR
RRRRRRR;RgRRRRR(RRRRR((Rt
resolveDepClids(cCsd}	}}}}g}}
}}}d|jo|ii
tiitd|i\}}|i\}	}
|i\}}|i\}}|iid|	|||}
|
|||}x|D]}|ii|qW|
gfSnd|jo,|iitd|i\}	}
nd|jo,|iitd|i\}}nd	|jo,|iitd
|i\}}nd|jp
d	|jo,|iitd|i\}}nd
|jp
d	|jo,|iitd|i\}}nd|jo*|iitd|iidn|	||||}
|
||||}x'|D]}|ii
tii|qW|
gfS(NiR<sCleaning up EverythingtcleantheaderssCleaning up HeadersRcsCleaning up PackagestmetadatasCleaning up xml metadatatdbcachesCleaning up database cachesexpire-caches!Cleaning up expire-cache metadataRvsCleaning up plugins(thdrcodetpkgcodetxmlcodetdbcodetexpccodet
pkgresultst
hdrresultst
xmlresultst	dbresultstexpcresultsRRRRBR
RCRDRt
cleanPackagestcleanHeaderst
cleanMetadatatcleanSqliteRvtruntcodeRlRRRtcleanExpireCache(RRR~RRRRRRlR}RRRRR((RtcleanClirsP





cCsd}t|djo,|ddjod}|idqEn|p
d}n|id|d|\}}t|djo|i	i
tii
tdxs|D]g}|i	itiio)|i	i
tii
d|i|iq|i	i
tii
d|iqWnt|djo|i	i
tii
td	xs|D]g}|i	itiio)|i	i
tii
d|i|iqU|i	i
tii
d|iqUWndtd
gfS(NiithiddentuservisibleR_sInstalled Groups:s
   %s (%s)s   %ssAvailable Groups:tDone(RRRRMRARtdoGroupListsRR
RRBR
RCRDRRRtDEBUG_3tui_nametgroupid(RRR
RRR((RtreturnGroupListss@

	
	cCsuxh|D]`}t}x-|ii|D]}|i|t	}q&W|p|i
itd|qqWdgfS(s0returns complete information on a list of groupss!Warning: Group %s does not exist.iN(
RtstrngRjt
group_matchedRtcompst
return_groupsRtdisplayPkgsInGroupsRFRRR(RRRRR((RtreturnGroupInfos

!cCsg}x|D]}t}x{|ii|D]g}t	}y|i
|i}Wn5t
iij
o#|iitd|q,q,X|i|q,W|p |iitd|q
q
q
W|pdtdgfSndtdt|gfSdS(s2for each group requested do 'selectGroup' on them.s!Warning: Group %s does not exist.isANo packages in any requested group available to install or updateis%d Package(s) to InstallN(t	pkgs_usedt	grouplisttgroup_stringRjRRRRRRFtselectGroupRR;R
RtGroupsErrorRRRtextendRR(RRRRR;RR((Rt
installGroupss(cCsg}xf|D]^}y|i|}Wn5tiij
o#|i	i
td|q
q
X|i|q
W|pdtdgfSndtdt
|gfSdS(s;Remove only packages of the named group(s). Do not recurse.sNo group named %s existsis!No packages to remove from groupsis%d Package(s) to removeN(RRRRtgroupRemoveR;R
RRRRRRR(RRRR;R((RtremoveGroupsscCs}|iiotSn|iiotSnxL|iiD];}|i	p#|i
djp|i|ijotSq:q:WtS(NR(
RRRRjtalwayspromptRFRRRtisDepRR;R(RR((RRs

-cCstii|iidS(s Print out command line usage N(RtstdouttwriteRRdtformat_help(R((RRNscCstii|iidS(s Print out the shell usage N(RRRRRdt	get_usage(R((Rt
shellUsagescCs|ii}|iid|o*|iiti	i
td|tSn|ii
d|i}g}xx|D]p}tii|itii|ijo|i|qq|iiti	i
td|i|iqqqqWt|djox|D]}|i|o7|i|jo|i|ijotSqHqtSq|i|otSq|i|o#|o|i|otSqqqWn*|iiti	itd|itStS(s:check if the package is reasonably installable, true/falseRs)Package %s is already installed, skippingR;s#Discarding non-comparable pkg %s.%sis;No other %s installed, adding to list for potential installN(RRt
exactarchlistRtcontainsRRRBR
RCRRRjtsearchNevraR;tinstalledByKeyt
comparabletinstpotrpmUtilsRtisMultiLibArchRRtverGTRFtverEQtverLTRhtallowedMultipleInstallsRC(RRRhRRRR((Rt_installables>+%('RRRR
RRARIRXRRRRRRRRRFRR#RjR+R,R0R8R RSRbRnRvRxRRRRRRRNRR(((RR?sD	"			d	!	
		 			
"	 $			A	!				+	(	
					RccBs_tZdZdZdZdZedZedZ	dZ
dZdZRS(	s\Subclass that makes some minor tweaks to make OptionParser do things the
    "yum way".
    cKsd|jo|d|_|d=n
t|_ti||tid|_||_	t
|td|_|i
|i|idS(Ntutilssyum.clisPlugin Options(tkwargsRt_utilsRjtOptionParserR
RRRRYtOptionGroupRtplugin_option_grouptadd_option_groupt_addYumBasicOptions(RRYR((RR
Ws

		cCs4|i|iitd|tiddS(s?This method is overridden so that error output goes to logger. sCommand line error: %siN(Rtprint_usageRRRRRR(RR((RRfs
cCsyytdd|}WnLtj
o@}|iitit	d
d|fIJti
dnX|id|dS(Ns--nopluginss	--versions-qs-vs--quiets	--verboses-cs-ds-es
--installroots--disableplugins--enableplugins$

%s: %s option requires an argumentsCommand line erroriRi(s--nopluginss	--versions-qs-vs--quiets	--verbose(s-cs-ds-es
--installroots--disableplugins--enableplugin(t_filtercmdlineRRRRRYRNRRRRt
parse_args(RRR((RRels

cCs:g}x-|D]%}|i|iddiq
W|S(sR Split all strings in seq, at "," and whitespace.
            Returns a new list. t,t N(trettseqRRtreplacetsplit(RRR((RRz{s#c
Cs|dj	o|i\}}	n|id|\}}	|iii||	yQ|i	od|ii
_	n|iod|ii
_nl|ii
i
djoUtii}
|
djod|ii
_q|
|ii
_|iii|
n|iod|ii
_n|io|i|ii
_n|iot|ii
_n|iot|ii
_n|idjottd
n|idjo=|ii
idjo#|iiid|ii
iqnhdd<dd<dd<dd<d	d<dd<dd<dd<d
d<dd<}|i |i|i|_|idjo|iiid|in|i!o|i"|i!}ng}||ii
_#x|i"|i$D]}}y/|ii
i$}|i&|||ii
_$Wqti'i(j
o3}|i*i+||ii,t-i.dqXqW|ii/|ii0x|iD]\}}yL|djo|iii3|n%|djo|iii4|nWquti'i(j
o3}|i*i+||ii,t-i.dquXquWt5|idjo|ii6dtn|i7oQt8|ii
_9t8|ii
_:x0|iii;D]}t8|_9t8|_:qWnWnHtj
o<}|i*i+td||ii,t-i.dnX||	fS(NRiitautotalwaystnevertttysif-ttytyestnotontoffs)--color takes one of: auto, always, nevertcolort1ttrueR`tfalses--enablerepos
--disablerepoR?sOptions Error: %s(
NRsalwaysRRsif-ttyRRRR(=RRARRRfRRYRvt
setCmdLineRRt	cacheonlyRtuidR
ROtgetCacheDirtcachedirtrepostsetCacheDirR@Rt
skipbrokenRFtskip_brokenRORRRRtreinitt_remaptgettdisableexcludesRztdisable_excludestexcludetexcludelistRRR=RRRRNRRtsetupProgressCallbackstsetupKeyImportCallbackstopttrepoexpt
enableRepotdisableRepoRREt
nogpgcheckRjtgpgcheckt
repo_gpgchecktlistEnabledtrepo(
RRRRRRRRRRRRRf((RRs







'`









	
cCs|ioti|id|itio|id|i|_nF|idjo5ti|idtio|id|_qn|i}nd}|S(NRrs/etc/yum/yum.confs
/etc/yum.conf(RfRRtaccessRrtR_OKRm(RRfRm((RRls
$
cOs|ii|idS(N(RRYRNR(RRtvaluetparserRR((Rt_wrapOptParseUsages
cCs?d}|io t|d}|i|n|}d|_|iddddd|idt	d	d
|_|idddd
dt	d|iddddd
dt	d|iddddddt	ddd|iddddddddt	ddd|id dd!dddt	d"dddd#|id$dd%dd
dt	d&|id'dd(dddt	d)dddd*|id+d,dd-dd
dt	d.|id/d0dd1dd
dt	d2|id3dd4dd
dt	d5|id6dd
dt	d7|id8dt	d9dd:|id;dddd<d|dd=dgdt	d>dd?|id@dddd<d|dd=dgdt	dAdd?|idBdCdgddDdt	dEddF|idGdHdgddDdt	dIdd?|idJdd
dt	dK|idLdd
dt	dM|idNdd
dt	dO|idGdPddQdgddDdt	dRddS|idGdTddUdgddDdt	dVddS|idWdd
ddXdt	dY|idGdZdd[dddt	d\dS(]NcCs*td|i}|i||fdS(sCallback for the enablerepo and disablerepo option. 
            
            Combines the values given for these options while preserving order
            from command line.
            sparser.values.%sN(tevaltoptobjtdestRRR(RRRRR((Rt
repo_optcbssYum Base Optionstresolves-hs--helptactionRothelpsshow this help message and exitRs-ts
--tolerantt
store_truesbe tolerant of errorss-CRRs+run entirely from cache, don't update caches-cRrtdefaults/etc/yum/yum.confsconfig file locationtmetavars [config file]s-RRttypeRsmaximum command wait times
 [minutes]s-dRnsdebugging output levels [debug level]s--showduplicatesROs2show duplicates, in repos, in list/search commandss-eRoserror output levels [error level]s-qs--quietRisquiet operations-vs	--verboseRksverbose operations-yRsanswer yes for all questionss	--versionsshow Yum version and exits
--installrootsset install roots[path]s--enablerepotstringRs3enable one or more repositories (wildcards allowed)s[repo]s
--disablerepos4disable one or more repositories (wildcards allowed)s-xs	--excludeRs"exclude package(s) by name or globs	[package]R	s--disableexcludess7disable exclude from main, for a repo or for everythings--obsoletess*enable obsoletes processing during updatess--nopluginssdisable Yum pluginss--nogpgchecksdisable gpg signature checkings--disablepluginR{sdisable plugins by names[plugin]s--enablepluginR}senable plugins by names
--skip-brokenRs&skip packages with depsolving problemss--colorRscontrol whether color is used(RRRRRRtconflict_handlert
add_optionRRRA(RRR((RRs		
			







(
RRRR
RRetstaticmethodRzRARRlRR(((RRcRs				n		cCs[g}t|}xBt|djo.|id}d|jo:|idd\}}||jo|i
|qRq||jo|i
|q||jodt|djo
t|n|id}|ddjo
t|n|i||gqxB|D]:}t|djo!|i|o|i
|qqWqW|S(sKeep only specific options from the command line argument list

    This function allows us to peek at specific command line options when using
    the optparse module. This is useful when some options affect what other
    options should be available.

    @param novalopts: A sequence of options to keep that don't take an argument.
    @param valopts: A sequence of options to keep that take a single argument.
    @param args: The command line arguments to parse (as per sys.argv[:1]
    @return: A list of strings containing the filtered version of args.

    Will raise ValueError if there was a problem parsing the command line.
    it=it-iN(touttlistRRRMtaRRRtvaloptsRt	novaloptsRtnextRt
startswith(RRRR
RR
RR((RRYs0






#((RRRRR[RRtoptparseRRRZRRR
t
yum.Errorstyum.logginglevelstyum.misctyum.pluginst
rpmUtils.archRtrpmUtils.miscutilstyum.packagesRDRtyum.rpmtransRRR tyum.i18nRRRRRRRRRRcR(RRRRZRRR RRRRRRDRRRRRRcR
R[RRRR((Rt?sB																


			


Anon7 - 2021